OA项目之员工管理
-
员工管理-完善添加员工-动态显示部门列表和员工上级
(1) 页面中下拉框动态显示的原理是什么?
浏览器向服务器发送获取添加员工的页面时,服务器从数据库中查找部门列表,和符合条件的管理者信息,在页面上的下拉框中设置查找到的信息。实现动态显示。 -
员工管理-查询所有员工-后台实现
(1) 简述查询所有员工的逻辑和页面的跳转?
浏览器向服务器发送获取所有员工信息的请求,服务器接收到请求在数据库查找所有员工的信息,将员工信息封装层Employee对象,放在集合中,将集合放在request作用域中,请求转发到到相应的jsp页面,在jsp页面中使用jstl和el显示员工信息。(2) 查询所有信息要从empployee,dept,position查询,利用了多表连接和自连接,请问如何编写这个sql?
select * from (select rownum r,e.empid,e.realname,e.sex,e.birthdate,e.hiredate,e.leavedate,e.onduty,d.deptname,p.pname,mgr.realname mgrname,e.phone,e.qq,e.emercontactperson,e.idcard from employee e join dept d on e.deptno=d.deptno join position p on e.posid=p.posid join employee mgr on e.mgrid=mgr.empid where rownum<=5 and e.onduty=1) where r>0
-
员工管理-查询所有员工-前台实现
(1) 如何使用taglib指令导入jstl标签库?<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(2) 简述查询所有员工前台界面的编写?
查询所有员工的前台页面主要包括搜索框、显示用户信息的表格、分页信息等,使用table标签显示用户信息,配合jstl和el。使用form表单发送需要查询的用户信息。分页标签使用ajax操作。根据获得的信息,动态的显示分页信息。 -
多条件查询员工-接收和记忆查询条件
(1) 描述一种应用多条件查询的业务场景?
电商平台的商品搜索服务,根据产地、价格、销量的那个信息筛选合适的商品。(2) 如何完成查询条件的记忆功能?
- 使用ajax,浏览器会自动记录查询信息。
- 使用servlet,将接受到的插询信息,获取查询结果后,连带查询信息一起请求转发到jsp页面,使用jstl的if标签将查询结果填入form表单。
-
员工管理-多条件查询员工-完整的查询操作
(1) 简述整个查询逻辑。
通过form表单将查询条件发送到服务器,服务器根据查询条件的在数据库查询的结果,将结果封装成employee对象的集合,在jsp页面进行渲染。(2) 如何完成后台的查询条件的sql的拼接。
使用if判断查询条件的有无,有就拼接在sql中。
Eg:String sql="select count(*) from employee where "; for (String key : map.keySet()) { if(!map.get(key).equals("null")) { if(key.equals("empId")){ sql+=key+" like '%"+map.get(key)+"%' and "; continue; }else if(key.equals("hiredate")) { sql+=key+">=to_date('"+map.get(key)+"','yyyy-mm-dd') and "; continue; } sql+=key+"="+map.get(key)+" and "; } } sql+=" 1=1";
-
员工管理-删除员工以及删除策略考量
(1) 简述删除员工的逻辑
在删除员工的a标签上添加单击事件,参数是员工的id,使用ajax发送删除员工请求,后台服务器获取员工id,在数据库中将该员工的在职状态改为不在职(0)。返回删除成功或删除失败的标识,使用ajax的回调函数操作dom。在页面上删除员工信息。若失败,则提示删除失败。(2) 在删除员工成功后,页面跳转后条件页面上会带出来刚才删过的员工的编号,这个问题就是一个代码bug,那么这个问题怎么解决呢?
- 改用重定向
- 修改参数名
- 使用ajax完成删除操作
-
员工管理-更新员工-预更新操作的后台代码
(1) 简述更新操作的逻辑?
浏览器发起更新信息的请求,携带员工id参数,服务器根据员工id在数据库查找到员工信息,在相应的页面将员工信息渲染到页面的form表单中。用户修改表单中的数据,再次提交表单,服务器接受form表单,完成数据库信息的更新操作。
更新完成返回员工列表界面。 -
员工管理-更新员工-预更新操作前台数据回显
(1) 如何将员工数据回显到empUpdate.jsp页面
使用jstl和el,将用户信息填入form表单。
在例如性别这些属性时,使用foreach标签和if标签配合,在对于的属性的标签。体中设置如checked属性。完成属性的选择 -
员工管理-更新员工-完成更新操作
(1) 在整个更新操作中,需要注意的事项是什么?- 如何回显单选框、复选框数据
- 如何回显下拉列表数据
(2) 到这里为止,我们已经完成了员工的增删改查操作,我们是否可以总结一下,写代码从前端到后端的流程呢?(再次理解MVC)
前端负责显示数据和获取用户输入的信息,后端负责接收信息并完成业务逻辑处理。处理结果交给前端向用户展现。在MVC模型中前端是视图层,后端是控制层,通过模型统一在一起。 -
考勤管理-登录-实现登录操作.
(1) 简述登陆功能的逻辑和页面的跳转。
用户在登录页面填写信息,提交表单后,后台接受到数据,根据用户名在数据库查找用户信息,对比密码,密码真确则登陆成功,重定向到主页面,否则重定向到登录页面,附带错误提示信息,使用request作用域或者session作用域。(2) 登陆成功进入到系统之后,页面上如何显示当前用户呢?
在页面右上角显示用户名。 -
考勤管理-登录和注销-登录成功后显示不同导航菜单
(1) 如何完成用户退出功能?
浏览器向服务器发送退出登录请求,服务器将session销毁。重定向到的登录页面。(2) 登陆系统后,不同的用户看到的菜单是不一样的,这个功能如何完成的呢?
根据用户信息在数据库中查找用户的权限,在主页面渲染时根据权限的不同渲染不同的栏目。(3) 登陆系统后,不同的用户看到的菜单是不一样的,思考是否有更好的技术能帮助我们完成这个事呢?可以自行查询资料。
Shiro安全框架。 -
考勤管理-登录-实现验证码
(1) 平时经常遇到验证码功能,请问验证码的作用是什么?
识别人和机器,防止机器恶意登录。(2) 如何完成验证码功能,简述整个逻辑?
在登录页面获取验证码。验证码的servlet生成随机验证码,将绘制的图片返回,将字符串类型的验证码存放到session中,用户输入验证码登录时,从session中取出验证码,对比,正确则进行登陆操作。
推荐阅读
-
OA比较:OA办公软件比较 企业应用LotusASP.net项目管理ASP
-
软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程监督与控制篇 博客分类: 项目管理
-
【转】软件项目量化管理(CMMI高成熟度)实践经验谈——之概述篇 博客分类: 项目管理
-
软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇 博客分类: 项目管理
-
我眼中的CXF之Configuration 博客分类: ESB Spring配置管理Bean项目管理Blog
-
Camel 中的几个重要概念之 CamelContext与CamelTemplate 博客分类: Camel ExchangeSpring配置管理junit项目管理
-
Camel 中的几个重要概念之 CamelContext与CamelTemplate 博客分类: Camel ExchangeSpring配置管理junit项目管理
-
项目OA之框架搭建整合基于SSH,Jquery,MySQL
-
项目管理工具之Git 博客分类: 项目管理工具之Git 项目管理gitssh
-
落地敏捷典型问题之项目透明:固定的白板模式是失败的起点 敏捷开发XP项目管理scrum软件测试