OA系统----第一模块----部门管理

学习主题:OA系统部门管理
学习目标:
1 掌握web开发项目实战,熟练使用web开发基础技术

1.项目入门-了解项目功能

(1)什么是OA系统?
即“办公自动化”,是使用网络和软件技术构建的协同办公与内部管理的平台。OA是组织行为管理软件,也是企业信息化的基础软件,使用oa可以实现单位内部的高效协同协作,功能上涵盖了沟通、审批、协作、文档信息、人事、行政、考勤、客户、销售、采购、公文收发、业务集成等内容。

(2)在项目的需求分析阶段,开发人员需要准备哪些东西?
了解项目功能,开发软件
(3)oracle中,导入数据库表如何操作?

OA系统----第一模块----部门管理

2.项目入门-搭建项目框架

(1)根据MVC原理,OA项目如何进行分层?
OA系统----第一模块----部门管理
(2)导入的外部jar包有哪些?
OA系统----第一模块----部门管理
(3)项目访问名如何更改?
右击项目–>Properties–>MyEclipse–>Project Facets–>Web
OA系统----第一模块----部门管理

3.部门管理-添加部门-完成后台代码并进行JUnit测试

(1)进行JUnit测试的步骤?
1、导入JUnit的jar包
2、在需要测试的方法上添加注解@Test
3、右击需要测试的方法选择run as JUnit Test

(2)如何在web.xml进行servet的配置

<servlet>
    <servlet-name>DeptServlet</servlet-name>
    <servlet-class>an.sz.servlet.DeptServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>DeptServlet</servlet-name>
    <url-pattern>/dept</url-pattern>
  </servlet-mapping>

(3)对于添加部门操作,大致逻辑应该怎么实现,添加成功怎么办,添加失败怎么办?
1、在Mapper层编写插入数据库操作的代码
2、在service层编写业务逻辑
3、测试是否添加成功,如果添加成功使用重定向到成功的页面,如果失败则使用请求转发到本页面,携带失败的信息

4.部门管理-添加部门-完成前台代码并成功测试

(1)添加部门成功要利用重定向,假如用请求转发可以吗?
不可以,因为如果添加部门成功则会请求转发,此时地址栏信息是不会变的,如果我们再次刷新本页面,则表单会再提交一次,又会触发一次添加部门的信息。

(2)根据时序图,简述添加部门的过程:
用户在deptAdd.jsp页面发送一个添加部门的请求,req会携带请求信息去servlet找处理本次请求的方法,调用service方法回调add添加部门信息的方法,此时调用了业务层中的方法,业务层中又调用了数据库层中添加部门信息的方法,返回的int类型的整数如果大于0则添加成功使用重定向流转到成功的界面,如果添加失败则使用请求转发携带提示信息流转到本页面

5.部门管理-查询所有部门

(1)查询所有部门,整体逻辑是什么样的?中间如何跳转?

DepartmentServlet:
//查询所有部门信息
	public void findAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		//处理请求信息
		DeptService ds = new DeptServiceImpl();
		List<Dept> list = ds.findAll();
		req.setAttribute("list", list);
		req.getRequestDispatcher("/system/deptList.jsp").forward(req, resp);
	}
DepartmentService:
//查询所有部门信息
	List<Dept> findAll();
DepartmentServiceImpl:
//查询所有部门信息
	@Override
	public List<Dept> findAll() {
		
		return dd.findAll();
	}
DepartmentMapper.java:
	 //查询所有信息
	public List<Department> findAll();
DepartmentMapper.xml:
//查询所有部门信息
	<select id="findAll" resultType="department">
  			select * from dept
  		</select>

(2)后台查询出部门数据放入集合中,在jsp中如何进行遍历?代码如何实现?

<c:forEach items="${list}" var="s">
        	<tr>
		        <td><input name="" type="checkbox" value="" /></td>
		        <td>${s.deptno }</td>
		        <td>${s.deptname }</td>
		        <td>${s.location }</td>
		        <td><a href="deptUpdate.html" class="tablelink">修改</a> &nbsp;&nbsp;&nbsp;&nbsp;  <a href="javascript:void(0)"  onclick="deleteDept(${s.deptno})" class="tablelink"> 删除</a></td>
	        </tr> 
        </c:forEach>

上一篇:常用模块【三】正则表达式


下一篇:python里正则表达式基础及注意事项