package com.su.servlet.user;
import com.alibaba.fastjson.JSONArray;
import com.mysql.cj.util.StringUtils;
import com.su.pojo.Role;
import com.su.pojo.User;
import com.su.service.role.RoleService;
import com.su.service.role.RoleServiceImpl;
import com.su.service.user.UserService;
import com.su.service.user.UserServiceImpl;
import com.su.util.Constants;
import com.su.util.PageSupport;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
//实现servlet复用
@WebServlet("/jsp/user.do")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 444208147286197100L;
public UserServlet() {
super();
}
@Override
public void destroy() {
super.destroy();
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String method = request.getParameter("method");
System.out.println("method----> " + method);
if (method != null && method.equals("add")) {
//增加操作
this.add(request, response);
} else if (method != null && method.equals("query")) {
this.query(request, response);
} else if (method != null && method.equals("getrolelist")) {
this.getRoleList(request, response);
} else if (method != null && method.equals("ucexist")) {
this.userCodeExist(request, response);
} else if (method != null && method.equals("deluser")) {
this.delUser(request, response);
} else if (method != null && method.equals("view")) {
this.getUserById(request, response, "userview.jsp");
} else if (method != null && method.equals("modify")) {
this.getUserById(request, response, "usermodify.jsp");
} else if (method != null && method.equals("modifyexe")) {
this.modify(request, response);
} else if (method != null && method.equals("pwdmodify")) {
this.getPwdByUserId(request, response);
} else if (method != null && method.equals("savepwd")) {
this.updatePwd(request, response);
}
}
private void updatePwd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object o = request.getSession().getAttribute(Constants.USER_SESSION);
String newpassword = request.getParameter("newpassword");
boolean flag = false;
if (o != null && !StringUtils.isNullOrEmpty(newpassword)) {
UserService userService = new UserServiceImpl();
flag = userService.updatePwd(((User) o).getId(), newpassword);
if (flag) {
request.setAttribute(Constants.SYS_MESSAGE, "修改密码成功,请退出并使用新密码重新登录!");
request.getSession().removeAttribute(Constants.USER_SESSION);//session注销
} else {
request.setAttribute(Constants.SYS_MESSAGE, "修改密码失败!");
}
} else {
request.setAttribute(Constants.SYS_MESSAGE, "修改密码失败!");
}
//修改成功后转发就行了
request.getRequestDispatcher("/jsp/pwdmodify.jsp").forward(request, response);
}
//通过ajax验证旧密码,到session拿即可
private void getPwdByUserId(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object o = request.getSession().getAttribute(Constants.USER_SESSION);
String oldpassword = request.getParameter("oldpassword");
Map<String, String> resultMap = new HashMap();
if (null == o) {//session过期
resultMap.put("result", "sessionerror");
} else if (StringUtils.isNullOrEmpty(oldpassword)) {//旧密码输入为空
resultMap.put("result", "error");
} else {
String sessionPwd = ((User) o).getUserPassword();
if (oldpassword.equals(sessionPwd)) {
resultMap.put("result", "true");
} else {//旧密码输入不正确
resultMap.put("result", "false");
}
}
response.setContentType("application/json");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();
outPrintWriter.close();
}
private void modify(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("uid");
String userName = request.getParameter("userName");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
String userRole = request.getParameter("userRole");
User user = new User();
user.setId(Integer.valueOf(id));
user.setUserName(userName);
user.setGender(Integer.valueOf(gender));
try {
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(birthday));
} catch (ParseException e) {
e.printStackTrace();
}
user.setPhone(phone);
user.setAddress(address);
user.setUserRole(Integer.valueOf(userRole));
user.setModifyBy(((User) request.getSession().getAttribute(Constants.USER_SESSION)).getId());
user.setModifyDate(new Date());
UserService userService = new UserServiceImpl();
if (userService.modify(user)) {
response.sendRedirect(request.getContextPath() + "/jsp/user.do?method=query");
} else {
request.getRequestDispatcher("usermodify.jsp").forward(request, response);
}
}
private void getUserById(HttpServletRequest request, HttpServletResponse response, String url)
throws ServletException, IOException {
String id = request.getParameter("uid");
if (!StringUtils.isNullOrEmpty(id)) {
//调用后台方法得到user对象
UserService userService = new UserServiceImpl();
User user = userService.getUserById(id);
request.setAttribute("user", user);
request.getRequestDispatcher(url).forward(request, response);
}
}
private void delUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("uid");
System.out.println(id);
Integer delId = 0;
try {
delId = Integer.parseInt(id);
} catch (Exception e) {
delId = 0;
}
HashMap<String, String> resultMap = new HashMap<String, String>();
if (delId <= 0) {
resultMap.put("delResult", "notexist");
} else {
UserService userService = new UserServiceImpl();
if (userService.deleteUserById(delId)) {
resultMap.put("delResult", "true");
request.getRequestDispatcher("/jsp/user.do?method=query").forward(request,response);
} else {
resultMap.put("delResult", "false");
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
狂神说JavaWeb项目补全版 (308个子文件)
UserServlet.class 10KB
UserServlet.class 10KB
BillServlet.class 8KB
BillServlet.class 8KB
UserDaoImpl.class 8KB
UserDaoImpl.class 8KB
BillDaoImpl.class 7KB
BillDaoImpl.class 7KB
ProviderServlet.class 7KB
ProviderServlet.class 7KB
ProviderDaoImpl.class 6KB
ProviderDaoImpl.class 6KB
UserServiceImpl.class 5KB
UserServiceImpl.class 5KB
User.class 4KB
User.class 4KB
ProviderServiceImpl.class 4KB
ProviderServiceImpl.class 4KB
Bill.class 4KB
Bill.class 4KB
BillServiceImpl.class 4KB
BillServiceImpl.class 4KB
Provider.class 3KB
Provider.class 3KB
BaseDao.class 3KB
BaseDao.class 3KB
BigDecimalUtil.class 3KB
BigDecimalUtil.class 3KB
Role.class 2KB
Role.class 2KB
LoginServlet.class 2KB
LoginServlet.class 2KB
RoleDaoImpl.class 2KB
RoleDaoImpl.class 2KB
SysFilter.class 2KB
SysFilter.class 2KB
LogoutServlet.class 1KB
LogoutServlet.class 1KB
PageSupport.class 1KB
PageSupport.class 1KB
RoleServiceImpl.class 1KB
RoleServiceImpl.class 1KB
CharacterEncoding.class 1KB
CharacterEncoding.class 1KB
BigDecimalUtil$BigDecimalOprations.class 1KB
BigDecimalUtil$BigDecimalOprations.class 1KB
BigDecimalUtil$1.class 896B
BigDecimalUtil$1.class 896B
UserDao.class 806B
UserDao.class 806B
ProviderDao.class 683B
ProviderDao.class 683B
BillDao.class 656B
BillDao.class 656B
UserService.class 635B
UserService.class 635B
ProviderService.class 502B
ProviderService.class 502B
Constants.class 440B
Constants.class 440B
BillService.class 430B
BillService.class 430B
RoleDao.class 305B
RoleDao.class 305B
RoleService.class 227B
RoleService.class 227B
style.css 9KB
style.css 9KB
public.css 6KB
public.css 6KB
datepicker.css 4KB
datepicker.css 4KB
datepicker.css 4KB
datepicker.css 4KB
WdatePicker.css 158B
WdatePicker.css 158B
datePicker.gif 0B
img.gif 0B
img.gif 0B
datePicker.gif 0B
img.gif 0B
img.gif 0B
.gitignore 0B
My97DatePicker.htm 1KB
My97DatePicker.htm 1KB
smbms.iml 3KB
mysql-connector-java-8.0.27.jar 2.36MB
lombok-1.18.22.jar 1.86MB
protobuf-java-3.11.4.jar 1.58MB
fastjson-1.2.79.jar 656KB
junit-jupiter-params-5.8.2.jar 564KB
jstl-1.2.jar 405KB
standard-1.1.2.jar 384KB
junit-jupiter-engine-5.8.2.jar 224KB
junit-jupiter-api-5.8.2.jar 189KB
junit-platform-engine-1.8.2.jar 181KB
junit-platform-commons-1.8.2.jar 98KB
javax.servlet-api-4.0.1.jar 93KB
jsp-api-2.2.jar 49KB
opentest4j-1.2.0.jar 7KB
共 308 条
- 1
- 2
- 3
- 4
Javarmxb
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0