OA系统

OA项目整合之项目搭建

  1. 项目入门-了解项目功能
    (1) 什么是OA系统?
    OA即办公自动化,OA系统就是办公自动化系统,通过计算机技术将传统办公实现自动化。

    (2) 在项目的需求分析阶段,开发人员需要准备哪些东西?
    进行项目需求分析,画用例图、数据库设计、数据库模型

    (3) oracle中,导入数据库表如何操作?

    1. 将sql文件中的命令复制,使用sqlplus工具运行。
    2. 使用第三方软件导入sql文件。
  2. 项目入门-搭建项目框架
    (1) 根据MVC原理,OA项目如何进行分层?
    控制层、服务层、数据访问层、视图层。

    (2) 导入的外部jar包有哪些?
    ojdbc6.jar 、 gson-2.2.4.jar、 junit.jar 、log4j.jar

    (3) 项目访问名如何更改?
    在项目名上右键—>properties–>deployment–>deployment assembly中的web context root,修改其中的信息。

  3. 部门管理-添加部门-完成后台代码并进行JUnit测试
    (1) 进行JUnit测试的步骤?
    在方法前加上@Test注释,点击方法名,右键runas ,选择junit测试

    (2) 如何在web.xml进行servet的配置?
    先配置标签 配置其中的子标签,起一个名字,在配置子标签,其值为servlet的全类名。
    在配置标签,配置其子标签,其值和标签的值一致,在配置子标签,其值为访问路径

    (3) 对于添加部门操作,大致逻辑应该怎么实现,添加成功怎么办,添加失败怎么办?
    在页面接受部门名称、部门编号、办公地点的信息,提交到对应的控制层,由控制层封装成部门对象并调用服务层,在服务层调用数据访问层将数据持久化。在控制层判断是否持久化成功,成功则重定向到部门列表页面,否则提示用户添加失败。

  4. 部门管理-添加部门-完成前台代码并成功测试
    (1) 添加部门成功要利用重定向,假如用请求转发可以吗?
    使用请求转发会导致页面刷新提交重复表单,不利于交互。

    (2) 根据时序图,简述添加部门的过程:
    人事专员在添加部门页面输入部门信息,表单发送到DepartmentServlet对象上,使用request对象获取表单数据,再调用DepartmentService对象的add(dept)方法,再调用DepartmentDao对象的save(dept)方法,在调用DBUtil工具类中的executeUpadte(sql,params[])方法将数据持久化,返回受影响的行数,一直返回到控制层,根据返回值判断是否成功。

  5. 部门管理-查询所有部门
    (1) 查询所有部门,整体逻辑是什么样的?中间如何跳转?
    接受到查询所有部门的请求后,控制层调用服务层,服务层调用数据访问层,数据访问层从数据库获取数据,将数据封装成List集合,返回到控制层,控制层将数据存放到requset对象中,请求转发到视图层,在视图层使用jstl+el显示数据

    (2) 后台查询出部门数据放入集合中,在jsp中如何进行遍历?代码如何实现?
    使用jstl标签的<c:foreach>标签和el表达式遍历集合

<c:forEach items="${deptList }" var="dept">
    	<tr>
       <td><input name='' type='checkbox' value='"+list[i].deptno+"' /></td>
        <td>${dept.deptno }</td>
        <td>${dept.deptName }</td>
        <td>${dept.location }</td>
       	<td><a href='dept?method=selDept&deptno="+list[i].deptno+"' class='tablelink'>修改</a> &nbsp;&nbsp;&nbsp;&nbsp;  <a href='javascript:delDept(${dept.deptno })' class='tablelink click'> 删除</a></td>
       	</tr>
    </c:forEach>
  1. 部门管理-删除指定部门信息
    (1) 删除部门,整体逻辑是什么样的?
    接受到删除请求后,使用requset对象接受部门id,将值传递给服务层,在服务层调用数据访问层,数据访问层根据部门id从数据库删除部门。

    (2) 为什么在删除部门完成后,是请求转发至查询所有的servlet中,而不是直接跳转到deptList.jsp中?
    因为查看所有部门信息的页面通过servlet获取数据的,直接跳转jsp无法获取数据。

  2. 部门管理-更新指定部门信息
    (1) 更新部门,整体逻辑是什么样的?
    接受到更新的请求后,使用requset对象接受新的部门信息,将值传递给服务层,在服务层调用数据访问层,数据访问层完成数据库更新操作。

    (2) 在更新失败后,请求转发到deptUpdate.jsp页面中,在页面中怎么处理错误信息?将错误信息放入什么标签中?
    在页面显示错误信息。放在标签体中

  3. 部门管理-绘制更新部门时序图
    (1) 简述,利用画时序图的步骤?
    1. 创建一个时序图
    2. 首先画empty,对应操作人员
    3. 再画对象,表示功能实现过程中所有的对象。
    4. 画实线表示,表示消息,可以设置调用的方法名及参数。
    5. 画矩形条,表示方法正在运行,一直到方法运行结束
    6. 一次向下画到最后一个方法。
    7. 返回时画虚线,可以设置返回值。
    8. 直到返回至empty。

  4. 员工管理-添加员工-创建实体类和搭建框架
    (1) 员工表对应一个实体类,那么在这个实体类中,关联的部门的信息应该怎么编写呢?
    答:在员工类中添加一个部门类属性,

  5. 员工管理-添加员工-实现后台开发
    (1) 简述添加员工的逻辑。
    在添加员工页面输入员工信息,表单发送到EmployeeServlet对象上,使用request对象获取表单数据,再调用EmployeeService对象的add(emp)方法,再调用EmployeeDao对象的save(emp)方法,在调用DBUtil工具类中的executeUpadte(sql,params[])方法将数据持久化,返回受影响的行数,一直返回到控制层,根据返回值判断是否成功。

    (2) 如何进行String类型向int类型转换?
    使用Integer类的parseInt方法

  6. 员工管理-添加员工-实现前台开发
    (1) html页面和jsp页面的区别是什么?
    Html页面时静态的,jsp页面本质上是一个servlet,可以根据业务需求实现动态展示。

  7. 员工管理-完善添加员工-使用日历插件和富文本编辑器
    (1) 如何使用日历插件My97DatePicker?

    1. 在官网下载日历插件。
    2. 在jsp中导入js文件
      <script type="text/javascript"src="My97DatePicker/WdatePicker.js"></script>
    3. 在使用个日历插件的标签中添加事件οnfοcus=“WdatePicker()”;

    (2)如何使用富文本编辑器?

    1. 在官网下载富文本编辑器
    2. 在jsp页面导入js文件
      <script charset="utf-8" type="text/javascript"src="kindeditor/kindeditor-all-min.js"></script>
      <script charset="utf-8" type="text/javascript" src="kindeditor/lang/zh-CN.js"></script>
    3. 创建一个<textarea>标签
    4. 添加js代码,将富文本编辑器添加在标签上
<script type="text/javascript">
	        KindEditor.ready(function(K) {
	                window.editor = K.create('#editor',{
	                	width: "660px",
	                	height: "300px",
	                	resizeType: 1,
	                	afterBlur: function(){
	                		this.sync();
	                	}
	                });
	        });
		</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值