基于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
- 苹果发布OS X 10.9.2更新,修复SSL漏洞
- Android内存泄漏终极解决篇(下)
- 利用Volatility查找系统中的恶意DLL
- 雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报
- Android开发:最详细的 Toolbar 开发实践总结
- 关于yubikey对web应用的杞人之忧
- 利用旧版Android漏洞的E-Z-2-Use攻击代码已在Metasploit发布
- Android Studio你不知道的调试技巧
- Android 数据绑定框架DataBinding,堪称解决界面逻辑的黑科技
- 汽车黑客:没有Security就没有Safety
- Android 自定义View高级特效,神奇的贝塞尔曲线
- Android二维码扫描开发(一):实现思路与原理
- 说一道简单的BCTF题 – 分分钟而已
- 安全扫描工具Nmap引擎理解文档
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- android surfaceView实现播放视频功能
- Android Studio中一套代码多渠道打包的实现方法
- Android自定义View实现圆环进度条
- Android启动页用户相关政策弹框的实现代码
- 10个好用的 HTML5 特性
- Android实现签名涂鸦手写板
- Android 开发使用Activity实现加载等待界面功能示例
- 详解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果
- Android开发自定义控件之折线图实现方法详解
- Android Studio实现长方体表面积计算器
- android studio实现简单的计算器功能
- Android小程序实现个人信息管理系统
- Flutter 使用Navigator进行局部跳转页面的方法
- Android小程序实现简易QQ界面
- Android小程序实现音乐播放列表