基于B/S模式下的JAVA上网导航网站

时间:2019-09-25
本文章向大家介绍基于B/S模式下的JAVA上网导航网站,主要包括基于B/S模式下的JAVA上网导航网站使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

每天记录学习,每天会有好心情。*^_^*

最近了解了上网导航网站项目,在这个平台记录一下这个上网导航网站项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,上网导航网站为一个 后台项目。这个项目的描述是这样的:进入21世纪后,互联网飞速发展,出现了大量的门户网站,但种类繁多杂乱,导致广大网民无法准确快速的获取自己需要的信息。根据这一实际情况,基于LAMP平台自主设计了一个网址导航站,LAMP即开源Linux操作系统、Apache开发的服务器、MySQL数据库、JAVA网页脚本语言的组合,设计的网址导航站包涵了聚合搜索、网址导航、在线音乐、生活实用、注册登录五大模块,用户注册后可自主添加网址,网址导航站背景、颜色可更改,网址导航站实现了可视化搜索,最大程度的实现网址导航的便利,后台数据库添加了MD5信息摘要算法防止数据被篡改。并且设计了可靠的防火墙保障服务器的安全与可靠运行。 本文主要介绍了网址导航站的前台界面和后台数据库的开发,本网址导航站是依据现代个人门户网站发展的需求进行开发设计的,整个开发过程按照功能需求分析和软件工程的方法实现,同时将网站导航管理系统开发原理与PHP应相结合,实现功能完善的网址导航站。
在对上网导航网站项目进行需求分析的时候,得出系统的登录角色包括了管理员。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出该系统所有数据为:管理员(admin)、导航(daohang)、音乐(yinyue)、生活服务(shenhhuofuwu)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

导航表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 导航id
mingzi | VARCHAR(255) | | 名字
dizhi | VARCHAR(255) | | 地址

音乐表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 音乐id
mingzi | VARCHAR(255) | | 名字
wenjian | VARCHAR(255) | | 文件
shangchuanshijan | varchar(255) | | 上传时间

生活服务表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 生活服务id
biaoti | VARCHAR(255) | | 标题
fabushijian | VARCHAR(255) | | 发布时间
neirong | VARCHAR(255) | | 内容
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggshangwangdaohang

-- ----------------------------

DROP TABLE IF EXISTS `t_admin`;

CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';

-- ----------------------------

DROP TABLE IF EXISTS `t_daohang`;

CREATE TABLE `t_daohang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ' 导航id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`dizhi` VARCHAR(255) DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='导航';

-- ----------------------------

DROP TABLE IF EXISTS `t_yinyue`;

CREATE TABLE `t_yinyue` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '音乐id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`wenjian` VARCHAR(255) DEFAULT NULL COMMENT '文件',`shangchuanshijan` VARCHAR(255) DEFAULT NULL COMMENT '上传时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='音乐';

-- ----------------------------

DROP TABLE IF EXISTS `t_shenhhuofuwu`;

CREATE TABLE `t_shenhhuofuwu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '生活服务id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`fabushijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='生活服务';

添加生活服务模块:

系统中存在添加生活服务功能,通过点击添加生活服务可以跳转到该功能模块,在该功能模块中,填写对应的生活服务信息。生活服务包含信息标题,发布时间,内容,填写完所有信息后,通过post方法将数据提交到tianjiashenhhuofuwu.action中,该地址将在服务器中shenhhuofuwuController类中的tianjiashenhhuofuwuact方法中进行响应。响应结果为,获取所有的生活服务信息,封装一个shenhhuofuwu类,使用shenhhuofuwuController类中定义的shenhhuofuwudao的insert方法,将生活服务数据插入到数据库的shenhhuofuwu表中。并给出用户提示信息,添加生活服务成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过shenhhuofuwudao的insert方法将页面传输的生活服务添加到数据库中 shenhhuofuwudao.insert(shenhhuofuwu);

将添加生活服务成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加生活服务成功");

返回生活服务管理界面

return "forward:/tianjiashenhhuofuwu.action";

查询生活服务模块:

在浏览器中进入生活服务查询页面时,此时浏览器的地址栏为shenhhuofuwuguanli.action,该地址将响应shenhhuofuwuController类中的shenhhuofuwuguanli,在该方法中,通过selectByexample方法获取所有的生活服务信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成生活服务样例类,通过example定义查询条件 ShenhhuofuwuExample example = new ShenhhuofuwuExample();

通过shenhhuofuwudao的selectByExample方法查询出所有的生活服务信息 List shenhhuofuwuall = shenhhuofuwudao.selectByExample(example);

将生活服务信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shenhhuofuwuall", shenhhuofuwuall);

返回生活服务管理界面

return "forward:/shenhhuofuwuguanli.action";

修改生活服务模块:

点击修改按钮,可以跳转到生活服务修改页面。在生活服务修改页面中,将初始化该生活服务的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完生活服务信息后,页面通过post方法将数据封装为一个生活服务实体,传入到shenhhuofuwuController中。在xiugaishenhhuofuwu中进行接收,接收完毕后,调用shenhhuofuwuMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过shenhhuofuwudao的修改方法根据id修改对应的生活服务 shenhhuofuwudao.updateByPrimaryKeySelective(shenhhuofuwu);

将修改生活服务成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改生活服务信息成功");

返回生活服务管理界面

return "forward:/shenhhuofuwuguanli.action";

删除生活服务模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该生活服务

的id上传到服务器中,在服务器中通过shenhhuofuwuController类中的shanchushenhhuofuwu进行接收,之后调用shenhhuofuwuMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过shenhhuofuwudao的删除方法根据id删除对应的生活服务 shenhhuofuwudao.deleteByPrimaryKey(id);

将删除生活服务成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除生活服务成功");

返回生活服务管理界面

return "forward:/shenhhuofuwuguanli.action";

原文地址:https://www.cnblogs.com/bfmbch/p/11587427.html