技术分享:SSH实战项目
1.需求分析
系统概述:
企业人事管理系统。
要求对员工信息进行维护。
后台系统先登录,才能操作员工;添加、修改、删除。
没有登录,只能查看列表,不能操作。
功能分类:
1)【管理员模块】
注册/登录
2)【员工模块】
a.添加一个员工
b.对制定的员工修改
c.删除选择员工
d.列表展示
2.设计
2.1 系统设计
【系统架构师/技术经理】
主要做下面的事情:
1)搭建系统框架结构
(基于mvc结构应用)
2)确定项目的关键点/难点
3)确定引用组件、公共类的版本
Struts 2.3
Hibernate 3.6
Spring 3.2
2.2数据库设计
管理员表:t_admin
员工表: t_employee
部门: t_dept
3.代码
编码顺序:
1)设计数据库:hib_demo
建表:t_admin/t_employee/t_dept
2)建立web项目、引入jar文件、准备环境
3)设计javabean、写映射
Admin.java封装管理员Employee.java员工Dept.java部门Admin.htm.xmlEmployee.hbm.xmlDept.hbm.xml
4)Dao接口设计
AdminDao.java管理员模块voidsave(Adminadmin);AdminfindByadmin(Adminadmin);
DeptDao.java部门模块ListDeptgetAll();DeptfindById(intid);
EmployeeDao.java员工模块voidsave(Employeeemp);voidupdate(Employeeemp);voiddelete(intid);EmployeefindById(intid);ListEmployeegetAll(StringemployeeName);
5)Dao接口实现
6)Service接口设计
AdminService.java管理员模块voidregister(Adminadmin);
Adminlogin(Adminadmin);
7)Service接口实现
8)Action实现
EmployeeAction.java员工模块AdminAction.java管理员模块
9)jsp页面
index.jsp/list.jsp首页列表
http://localhost:8080/项目跳转到首页列表
优化部分:
10)用户登录拦截器
UserInterceptor.java检查是否登录只有登录才能操作;否则只能查看
技术分享:SSH实战项目的更多相关文章
- C#网络编程技术微软Socket实战项目演练(三)
一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第三部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...
- Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)
Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码) 转 https://blog.csdn.net/lhl1124281072/article/details/800 ...
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver
1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...
- C#网络编程技术FastSocket实战项目演练
一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而 ...
- SSH实战 · 唯唯乐购项目(上)
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...
- C#网络编程技术SuperSocket实战项目演练
一.SuperSocket课程介绍 1.1.本期<C#网络编程技术SuperSocket实战项目演练>课程阿笨给大家带来三个基于SuperSocket通讯组件的实战项目演示实例: ● 基于 ...
- Python爬虫实战之爬取糗事百科段子【华为云技术分享】
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的 ...
- Docker技术入门与实战第2版-高清文字版
Docker技术入门与实战第2版-高清文字版 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取 ...
- Docker技术入门与实战
Docker技术入门与实战 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取分享码 本书目录结 ...
随机推荐
- python 多线程小练习
需求:有100个数据,启动5个线程,每个线程分20个数据,怎么把这20个数据分别传给每个线程. 1. 利用多线程实现 import threading nums = list(range(100)) ...
- Java接口多线程并发测试 (二)
原文地址http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.html 这是一篇很不错的文章,感谢原博主的分享! JAVA多线程实现和 ...
- testng入门教程5TestNG套件测试
TestNG套件测试 测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运 ...
- Girls Off-White x Air Jordan 1 from JordansUnveil.com
The Jordans Unveil is a hardwood classic, re-imagined for the modern day sneakerhead. It's a hybrid ...
- 深入理解php内核——读书笔记1
第一章 基础准备 宏定义 #字符串化 ##连接符 do{}while(0) 多行 全局宏: EG.PG 第二章 用户代码的执行 php请求的生命周期 SAPI接口 php脚本执行 第三章 变量及数据类 ...
- winfrom 下 listbox 选项添加value
public struct MyItem { public string Name; public string Tag; public override string ToString() { re ...
- js判断两个日期是否严格相差整年(合同日期常用)
1.var beginDate = new Date($("#InvoiceStartTime").val()); var endDate = new Date($("# ...
- mysql中delete和truncate区别
delete和truncate区别如下: 一.灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据: delete from table_test where ... trun ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HomMat2dRotate2
zw版[转发·台湾nvp系列Delphi例程]HALCON HomMat2dRotate2 procedure TForm1.Button1Click(Sender: TObject);var op ...
- Python实现在给定整数序列中找到和为100的所有数字组合
摘要: 使用Python在给定整数序列中找到和为100的所有数字组合.可以学习贪婪算法及递归技巧. 难度: 初级 问题 给定一个整数序列,要求将这些整数的和尽可能拼成 100. 比如 [17, 1 ...