package cn.oa.servlet;
import cn.oa.entity.Employee;
import cn.oa.service.EmployeeService;
import cn.oa.service.impl.EmployeeServiceImpl;
import cn.oa.util.DateUtil;
import cn.oa.util.Page;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.*;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.UUID;
@WebServlet(name="EmployeeServlet", urlPatterns = "/control/employee")
@MultipartConfig(maxFileSize = 1024*1024*2)
public class EmployeeServlet extends HttpServlet {
private static final long serialVersionUID = -3939788861110647343L;
private static final int EMPLOYEE_NUMBERS_PER_PAGE = 5;
// 允许的图片类型
private String ALLOW_IMG_TYPE = "image/png;image/jpg;image/jpeg;image/gif";
private static final int DEFAULT_BUFFER_SIZE = 10240; // 10KB.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String opr = request.getParameter("opr");
PrintWriter out = response.getWriter();
String contextPath = request.getContextPath();
EmployeeService employeeService = new EmployeeServiceImpl();
if(opr.equals("list")){
try{
String name = (request.getParameter("empName") != null ) ? request.getParameter("empName").trim() : "";
String pageIndex = request.getParameter("pageIndex");//获得当前页数
if (pageIndex == null
|| (pageIndex = pageIndex.trim()).length() == 0) {
pageIndex = "1";
}
int currPageNo = Integer.parseInt(pageIndex);
// 对首页与末页进行控制
if (currPageNo < 1) {
currPageNo = 1;
}
Page pageObj = new Page();
pageObj.setCurrPageNo(currPageNo); // 设置当前页码
pageObj.setPageSize(EMPLOYEE_NUMBERS_PER_PAGE); // 设置每页显示条数
employeeService.getEmployeesByPage(name,pageObj);
request.setAttribute("list",pageObj.getEmployeeList());
request.setAttribute("pageObj",pageObj);
request.setAttribute("searchName",name);
request.getRequestDispatcher("../jsp/user/empl_list.jsp").forward(request,response);
}catch(Exception e){
e.printStackTrace();
}
}else if(opr.equals("toModify")){
int id = Integer.parseInt(request.getParameter("id"));
try {
Employee empl = employeeService.getEmployeeById(id);
request.setAttribute("employee",empl);
request.getRequestDispatcher("../jsp/user/empl_modify.jsp").forward(request,response);
}catch(Exception e){
e.printStackTrace();
}
}else if(opr.equals("modify") || opr.equals("addNew")){
Employee emp = new Employee();
if(opr.equals("modify")){
int id = Integer.parseInt(request.getParameter("id"));
emp.setId(id);
}
try{
Collection<Part> parts = request.getParts();
String encoding = request.getCharacterEncoding();
for(Part part: parts){
if(part.getName().equals("name")){
String name = getValue(part, encoding);
if(checkValue(out,name,"用户姓名")){
emp.setName(name);
}else{
return;
}
}else if(part.getName().equals("employeeNo")){
String employeeNo = getValue(part,encoding);
if(checkValue(out,employeeNo,"员工工号")){
emp.setEmployeeNo(employeeNo);
}else{
return;
}
}else if(part.getName().equals("email")){
emp.setEmail(getValue(part,encoding));
}else if(part.getName().equals("entryTime")){
String entryTime = getValue(part,encoding);
if(checkValue(out,entryTime,"入职时间")){
emp.setEntryTime(DateUtil.string2Date(entryTime));
}else{
return;
}
}else if(part.getName().equals("department")){
emp.setDeptId(Integer.parseInt(getValue(part,encoding)));
}else if(part.getName().equals("position")){
emp.setPositionId(Integer.parseInt(getValue(part,encoding)));
}else if(part.getName().equals("fileField")){
if(part.getSize()!=0){
String uploadFilePath = request.getSession().getServletContext()
.getRealPath("upload/");
//如果上传路径不存在,则新建目录
File fileSaveDir = new File(uploadFilePath);
if (!fileSaveDir.exists()) {
fileSaveDir.mkdir();
}
//验证文件格式
String contentType = part.getContentType();
List<String> allowTypes = Arrays.asList(ALLOW_IMG_TYPE.split(";"));
if (!(contentType == null || "".equals(contentType.trim()))
&& allowTypes.contains(contentType)) {
//提取文件名
String fileName = extractFileName(part);
String suffix = getSuffix(fileName);
//名字避免重复使用UUID+后缀
String newFileName = UUID.randomUUID().toString().replace("-", "") + suffix;
//将文件写入指定目录
String location = uploadFilePath + File.separator + newFileName;
part.write(location);
emp.setPhoto("upload/"+newFileName);
}else{
//文件格式不符合要求
out.println("<script type='text/javascript'>");
out.println("alert('上传失败,允许的文件格式为gif格式、jpg格式和png格式!');");
out.println("window.history.back(-1);");
out.println("</script>");
out.flush();
out.close();
return;
}
}
}
}
//更新数据库
int result =0;
if(opr.equals("modify")){
result = employeeService.updateEmployee(emp);
if(result > 0){
request.setAttribute("message","操作成功!");
request.getRequestDispatcher("../message.jsp").forward(request,response);
}else{
out.println("<script type='text/javascript'>");
out.println("alert('操作失败!请联系管理员!');");
out.println("window.history.back(-1);");
没有合适的资源?快使用搜索试试~ 我知道了~
云尚办公系统参考答案!
共102个文件
java:30个
gif:21个
jsp:16个
需积分: 0 0 下载量 112 浏览量
更新于2024-09-01
收藏 1.46MB RAR 举报
云尚办公系统参考答案!
收起资源包目录
云尚办公系统参考答案! (102个子文件)
$CACHE_FILE$ 833B
datepicker.css 4KB
style.css 4KB
datepicker.css 4KB
WdatePicker.css 137B
login_01.gif 33KB
login_02.gif 7KB
logo.gif 7KB
right_bg.gif 4KB
login_sub.gif 3KB
copyright.gif 3KB
left_bg.gif 3KB
right.gif 2KB
img.gif 2KB
img.gif 2KB
bg.gif 1KB
submit.gif 1KB
datePicker.gif 1KB
ico.gif 1009B
Top_bg.gif 851B
sub.gif 660B
save.gif 649B
search.gif 600B
delete.gif 588B
edit.gif 588B
add.gif 67B
My97DatePicker.htm 1KB
demo.htm 465B
welcome.html 664B
oasys.iml 1KB
mysql-connector-java-5.1.49-bin.jar 983KB
taglibs-standard-impl-1.2.5.jar 202KB
taglibs-standard-spec-1.2.5.jar 39KB
EmployeeServlet.java 14KB
EmployeeDaoImpl.java 7KB
AttendanceDaoImpl.java 5KB
EmployeeServiceImpl.java 5KB
AttendanceServiceImpl.java 4KB
Employee.java 2KB
LoginServlet.java 2KB
Page.java 2KB
DatabaseUtil.java 2KB
BaseDao.java 2KB
LoginFilter.java 1KB
EncodeFilter.java 1KB
LogoutServlet.java 1KB
DepartmentDaoImpl.java 1KB
DateUtil.java 1KB
PositionDaoImpl.java 1KB
Attendance.java 1KB
EmployeeDao.java 1KB
ConfigManager.java 939B
AttendanceDao.java 854B
EmployeeService.java 825B
DepartmentServiceImpl.java 743B
PositionServiceImpl.java 725B
Department.java 519B
Position.java 512B
AttendanceService.java 474B
DepartmentService.java 238B
DepartmentDao.java 236B
PositionService.java 230B
PositionDao.java 229B
8.jpg 200KB
headImg.jpg 11KB
bg.jpg 307B
jquery-1.8.0.min.js 90KB
calendar.js 20KB
WdatePicker.js 8KB
zh-cn.js 1KB
zh-tw.js 1KB
en.js 644B
config.js 223B
common.js 150B
empl_modify.jsp 6KB
empl_add.jsp 4KB
empl_list.jsp 3KB
attendance_list.jsp 3KB
empl_view.jsp 2KB
password_edit.jsp 2KB
login.jsp 2KB
indexSidebar.jsp 1KB
index.jsp 1KB
attendance_record.jsp 1KB
rollPage.jsp 978B
indexTop.jsp 550B
indexRightbar.jsp 216B
message.jsp 164B
indexBottom.jsp 146B
taglib.jsp 135B
oasys.sql 6KB
dateUtil.tld 703B
workspace.xml 24KB
uiDesigner.xml 9KB
web.xml 553B
oasys_war_exploded.xml 483B
misc.xml 457B
Project_Default.xml 436B
taglibs_standard_spec_1_2_5.xml 347B
modules.xml 250B
共 102 条
- 1
- 2
资源推荐
资源预览
资源评论
2024-01-31 上传
2024-08-31 上传
5星 · 资源好评率100%
129 浏览量
2024-10-05 上传
140 浏览量
2024-01-31 上传
2011-04-15 上传
5星 · 资源好评率100%
148 浏览量
2021-10-05 上传
2023-01-06 上传
152 浏览量
115 浏览量
5星 · 资源好评率100%
134 浏览量
2014-03-07 上传
2020-12-27 上传
5星 · 资源好评率100%
159 浏览量
102 浏览量
2019-03-20 上传
134 浏览量
104 浏览量
2021-05-30 上传
5星 · 资源好评率100%
2019-03-14 上传
2021-10-11 上传
110 浏览量
2020-05-06 上传
资源评论
SmallCow
- 粉丝: 925
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 项目4 旅行信息分享应用
- 基于SpringBoot的学生信息管理系统(前后端源码+数据库+文档+运行截图)
- 【java毕业设计】智慧社区信息集成站(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧服务网(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧服务台(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧信息窗(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧管理门(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧生活网(源代码+论文+PPT模板).zip
- MATLAB代码:基于模型预测算法的含储能微网双层能量管理模型 关键词:储能优化 模型预测控制MPC 微网 优化调度 能量管理 参考文档:A Two-layer Energy Managemen
- 【java毕业设计】智慧社区智慧信息站(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区智慧服务总站(源代码+论文+PPT模板).zip
- 【java毕业设计】智慧社区教育服务门户.zip
- 【java毕业设计】智慧社区健康监测平台.zip
- 【java毕业设计】智慧社区文化娱乐门户.zip
- Java高分大作业-基于SpringBoot的学生信息管理系统(前后端源码+数据库+文档+运行截图)
- 【java毕业设计】智慧社区养老服务平台.zip
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功