学习主题:OA系统部门管理
学习目标:
- 掌握web开发项目实战,熟练使用web开发基础技术
项目入门-了解项目功能
什么是OA系统?
办公自动化系统
在项目的需求分析阶段,开发人员需要准备哪些东西?
oracle中,导入数据库表如何操作?
选择工具选项卡,找到导入表,然后选择需要导入的表,点击导入即可。
要求:功能需求分析学会使用例图并说明
项目入门-搭建项目框架
创建项目sxtoa(workspace编码统一修改为utf-8)
创建包和文件夹
为测试创建专门的source folder
jsp按照模块划分system人事 expence报销 inpay收支 duty考勤
加入jar
ojdbc6.jar gson-2.2.4jai junit.jar log4j.jar
加入工具类
DBUtil.java BaseServlet
加入过滤器(暂不配置)
加入界面原型 (采用界面原型的jquery版本)
部署项目并测试
根据MVC原理,OA目如何进行分层?
Model:模型层,用来处业务逻辑
ViewL:视图层,是指用户界面
Controller:控制层,控制器
导入的外部jar包有哪些?
gsonjar包
Log日志jar包
Oraclejar包ojdbc
项目访问名如何更改?
选择要更改的项目-->右击-->选择properties-->选择myeclipse-->Project Faces-->web,然后改成自己想要修改的名字
部门管理-添加部门-完成后台代码并进行JUnit测试
需求说明:
• 实体类 Department
• 数据库访问层Department Dao Department DaoImpl
• 业务层:Department Service Department ServiceImpl
• Junit测试:
• 控制层:DepartmentServlet extends BaseServlet
• 视图层:system/deptAdd.jsp
• 将HTML修改为JSP
• 新技能点:
• Junit测试:使用JUnit4;更加专业、规范;使用注解实现
• 将HTML修改为JSP(修改方法、路径的处理)
进行JUnit测试的步骤?
导入JUnitjar包,然后在需要进行测试的方法上面添加@test,运行的时候选中要运行的方法,然后右击选择Junit测试
如何在web.xml进行servet的配置?
<servlet>
<servlet-name>DepartmentServlet</servlet-name>
<servlet-class>com.bjsxt.servlet.DepartmentServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DepartmentServlet</servlet-name>
<url-pattern>/dept</url-pattern>
</servlet-mapping>
对于添加部门操作,大致逻辑应该怎么实现,添加成功怎么办,添加失败怎么办?
如果添加成功,则使用重定向跳转到部门管理页面,如果添加失败,则使用请求转发携带数据跳转到添加部门的原页面。
部门管理-添加部门-完成前台代码并成功测试
添加部门成功要利用重定向,假如用请求转发可以吗?
不可以,如果使用使用请求转发,在刷新的时候会将数据重复提交。
根据时序图,简述添加部门的过程:
浏览器发起请求,请求servlet中的add方法,
然后servlet调用service中的add方法,
service调用dao层的save方法,
dao层调用dbutil中的executeUpdate方法,将查询到的结果返回。
部门管理-查询所有部门
需求说明:
• 开发数据访问层,实现查询所有部门操作
• 开发业务层,实现查询所有部门操作
• 使用Junit测试后台查询所有部门操作
• 开发控制层,实现查询所有部门操作
• 开发视图层,实现显示所有部门操作
查询所有部门,整体逻辑是什么样的?中间如何跳转?
点击页面中点击部门管理,跳转到deptServlet进行查询部门,
然后携带查询到的数据请求转发到部门列表jsp页面,
然后使用foreach进行遍历,将遍历出来的数据填充到表各种。
后台查询出部门数据放入集合中,在jsp中如何进行遍历?代码如何实现?
使用taglib引入jstl标签库foreach标签进行遍历
<tbody>
<c:forEach items="${list }" var="dept">
<tr>
<td><input name="" type="checkbox" value="" /></td>
<td>${dept.deptno }</td>
<td>${dept.deptname }</td>
<td>${dept.location }</td>
<td><a href="deptUpdate.html" class="tablelink">修改</a> <a href="#" class="tablelink click"> 删除</a></td>
</tr>
</c:forEach>
</tbody>
部门管理-删除部门
• 需求说明:
• 开发视图层,实现删除部门超链接
• 开发控制层,实现删除部门功能
• 开发业务层,实现删除部门功能
• 开发数据访问层,实现删除部门功能
总结: MVC架构
MVC架构
MVC它主要分模型、视图、控制器三层。 实现了显示模块与功能模块的分离
MVC架构的好处
降低耦合性
分工协作
组件重用
MVC架构的缺点
增加了系统结构和实现的复杂性
PowerDesigner面向对象建模
• PowerDesigner面向对象建模
• 用例图:(User Case Diagram) 通常用来定义系统的高层次草图,它从用户角度描述了应用的 系统功能,指出了各个功能的外部操作者。
包括用例、执行者、关联三个建模要素。
• 序列图:(Sequence Diagram):描述系统如何实际完成在User Case图中定义的功能。可以画出 对象(类的实例)之间交互时产生的时序关系。
主要包括执行者、对象、生命线、激活、消息、 返回消息等建模要素
• 类图(Class Diagram):描述类与类之间的静态关系。其中包括一系列的包,类,接口和它们之 间的关系。类图是定义其他图的基础。