第103次(OA系统部门管理)
学习主题:OA系统部门管理
1. 项目入门-了解项目功能
(1) 什么是OA系统?
办公自动化系统
(2) 在项目的需求分析阶段,开发人员需要准备哪些东西?
前端页面模板,数据库sql脚本,
(3) oracle中,导入数据库表如何操作?
选择工具-->导入表——>选择-->运行
2. 项目入门-搭建项目框架
(1) 根据MVC原理,OA项目如何进行分层?
Dao层 service层,servlet层,jsp层
(2) 导入的外部jar包有哪些?
(3) 项目访问名如何更改?
选中项目-->properties-->web--修改web content-root
3. 部门管理-添加部门-完成后台代码并进行JUnit测试
(1) 进行JUnit测试的步骤?
加入jar包:选中项目-->build path-->addlibrary
创建类,在测试类中的方法上加上@Test注解
(2) 如何在web.xml进行servet的配置?
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>DepartmentServlet</servlet-name>
<servlet-class>com.mt.servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DepartmentServlet</servlet-name>
<url-pattern>/servlet/DepartmentServlet</url-pattern>
</servlet-mapping>
(3) 对于添加部门操作,大致逻辑应该怎么实现,添加成功怎么办,添加失败怎么办?
页面填写数据,提交-->对应的servlet处理请求-->将结果返回给浏览器
如果成功重定向添加页面,如果失败,请求转发到添加页面并携带错误信息
4. 部门管理-添加部门-完成前台代码并成功测试
(1) 添加部门成功要利用重定向,假如用请求转发可以吗?
不可以,为了避免重复提交
(2) 根据时序图,简述添加部门的过程:
浏览器发起请求给servlet,servlet中的add方法调用service中的add方法,service调用dao层中的save方法最终将返回值给servlet,servlet将信息返回给页面
5. 部门管理-查询所有部门
(1) 查询所有部门,整体逻辑是什么样的?中间如何跳转?
浏览器发起查询请求,servlet处理请求,servlet调用service中查询方法,Dao层进行数据库操作,将返回值list返回页面,页面进行转换显示
(2) 后台查询出部门数据放入集合中,在jsp中如何进行遍历?代码如何实现?
<c:forEach items="${list }" var="list">
<tr>
<td><input name="" type="checkbox" value="" /></td>
<td>${list.deptno}</td>
<td>${list.deptName}</td>
<td>${list.location }</td>
<td><a href="servlet/DepartmentServlet?method=selectDeptById&deptno=${list.deptno}" class="tablelink">修改</a> <a href="javascript:delDept(${list.deptno })" class="tablelink click" > 删除</a></td>
</tr>
</c:forEach>
第104次(OA系统员工管理)
学习主题:OA系统员工管理
6. 部门管理-删除指定部门信息
(1) 删除部门,整体逻辑是什么样的?
浏览器发起删除请求,并将删除的id传送过去,servlet调用service方法,Dao层根据id在数据库进行删除操作,返回值给servlet,servlet将值放回页面,大于0成功,小于0失败
(2) 为什么在删除部门完成后,是请求转发至查询所有的servlet中,而不是直接跳转到deptList.jsp中?
为了显示删除之后的操作,进行页面的更新
7. 部门管理-更新指定部门信息
(1) 更新部门,整体逻辑是什么样的?
浏览器发起更新请求,并将更新的id传送过去,servlet调用service方法,Dao层根据id在数据库进行更新操作,返回值给servlet,servlet将值放回页面,大于0成功,小于0失败
(2)
(3) 在更新失败后,请求转发到deptUpdate.jsp页面中,在页面中怎么处理错误信息?
页面用el表达式读取request中携带的数据进行显示
(4) 将错误信息放入什么标签中?
Request中
8. 部门管理-绘制更新部门时序图
(1) 简述,利用powerdesigner画时序图的步骤?
New module -->sequence program-->调用响应的按钮
9. 员工管理-添加员工-创建实体类和搭建框架
(1) 员工表对应一个实体类,那么在这个实体类中,关联的部门的信息应该怎么编写呢?
在关联类中创建对应的对象 类与类的关系
10. 员工管理-添加员工-实现后台开发
(1) 简述添加员工的逻辑。
填写数据,浏览器发起请求给servlet,servlet中的add方法调用service中的add方法,service调用dao层中的save方法将数据存入到数据库中,最终将返回值给servlet,servlet将信息返回给页面,大于零成功,xiaoyuling失败
(2) 如何进行String类型向int类型转换?
Integer.parseInt(s)
11. 员工管理-添加员工-实现前台开发
(1) html页面和jsp页面的区别是什么?
1、html静态页面,浏览器解析(也就是说不需要打开服务器就能执行结果),
2、jsp动态页面,Web容器解析(也就是说必须要打开服务器才能运行正确结果),
注意点:html里能写Java代码,注意这里这是叫屏蔽,也就是说在html里的“<%...%>”代码里的内容根本就不能执行,所以你可以直接理解为不能写。所以,总结可以如下,html是专门写html标签相关的语句,它里面不能些Java语句。如果要写Java语句,必须使用JSP(或者其它显示层技术,如Framework)
12. 员工管理-完善添加员工-使用日历插件和富文本编辑器
(1) 如何使用日历插件My97DatePicker?
步骤 1. 把My97DatePicker文件夹拷贝到项目根目录下
2. body前面引入一个css文件:<link rel="stylesheet" href="skin/default/datepicker.css"/>
body前面引入后面一个js文件:<script type="text/javascript" src="WdatePicker.js"></script>
(2) 如何使用富文本编辑器?
第一步我们创建一个web项目,将官网下载的ueditor放在根目录下面,并将自
带的jar包引入,
第二步需要先配置ueditor下面的ueditor.config.js文件,找到
window.UEDITOR_HOME_URL = "/项目名称/ueditor/";进行路径配置
第三步在我们需要用到富文本编辑器的地方引入js文件,需要引入
ueditor.config.js,ueditor.all.js,jquery-2.2.3.min.js三个文件
第四步需要在页面中用一个文本域来引入,输入如下代码:
<textarea id="contents" name="contents"></textarea>
<script type="text/javascript" charset="utf-8">
var editor = new baidu.editor.ui.Editor();
editor.render("contents");
</script>