提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本博客于看【狂神说】视频后编写
附链接:https://www.bilibili.com/read/cv5702420
前言
记录自学javaWeb及管理系统项目的实现
各层的功能遵循SpringMVC的划分:
-
dao只专注于与数据库交互
-
service专注于完成业务逻辑编写
-
servlet专注获取前端请求、调用service、和跳转视图
-
jsp专注于页面展示
CRUD:CRUD是指 增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
ACID:ACID是指数据库事务正确执行的四个基本要素的缩写,包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
一、实现逻辑流程
二、各个功能实现
- 创建一个UserDao接口,然后我们按照"面向接口编程"的原则去接口UserDaoImpl中实现这个接口中的方法(同理,创建一个UserService接口。。。)
- 使用面向接口编程的好处就在与我们在接口中只需要定义方法,而不需要实现方法,整个结构和思路都很清晰
- 其次就是将设计和实现分离,保证了设计专注于设计,实现专注于实现
public interface UserDao {
//增加用户信息
public int add(Connection connection, User user)throws Exception;
//通过userCode获取User
public User getLoginUser(Connection connection, String userCode)throws Exception;
//通过条件查询-userList
public List<User> getUserList(Connection connection, String userName, int userRole, int currentPageNo, int pageSize)throws Exception;
//通过条件查询-用户表记录数
public int getUserCount(Connection connection, String userName, int userRole)throws Exception;
//通过userId删除user
public int deleteUserById(Connection connection, Integer delId)throws Exception;
//通过userId获取user
public User getUserById(Connection connection, String id)throws Exception;
//修改用户信息
public int modify(Connection connection, User user)throws Exception;
//修改当前用户密码
public int updatePWD(Connection connection, int id, String pwd)throws Exception;
}
public interface UserService {
//增加用户信息
public boolean add(User user);
//用户登录
public User login(String userCode, String userPassword);
//根据条件查询用户列表
public List<User> getUserList(String queryUserName, int queryUserRole, int currentPageNo, int pageSize);
//根据条件查询用户表记录数
public int getUserCount(String queryUserName, int queryUserRole);
//根据userCode查询出User
public User selectUserCodeExist(String userCode);
//根据ID删除user
public boolean deleteUserById(Integer delId);
//根据ID查找user
public User getUserById(String id);
//修改用户信息
public boolean modify(User user);
//根据userId修改密码
public boolean updatePWD(int id, String pwd);
}
- 工具类(用于分页)
public class PageSupport {
//当前页码-来自于用户输入
private int currentPageNo = 1;
//总数量(表)
private int totalCount = 0;
//页面容量
private int pageSize = 0;
//总页数-totalCount/pageSize(+1)
private int totalPageCount = 1;
public int getCurrentPageNo() {
return currentPageNo;
}
public void setCurrentPageNo(int currentPageNo) {
if(currentPageNo > 0){
this.currentPageNo = currentPageNo;
}
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
if(totalCount > 0){
this.totalCount = totalCount;
//设置总页数
this.setTotalPageCountByRs();
}
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
if(pageSize > 0){
this.pageSize = pageSize;
}
}
public int getTotalPageCount() {
return totalPageCount;
}
public void setTotalPageCount(int totalPageCount) {
this.totalPageCount = totalPageCount;
}
public void setTotalPageCountByRs(){
if(this.totalCount % this.pageSize == 0){
this.totalPageCount = this.totalCount / this.pageSize;
}else if(this.totalCount % this.pageSize > 0){
this.totalPageCount = this.totalCount / this.pageSize + 1;
}else{
this.totalPageCount = 0;
}
}
}
- Servlet复用
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getParameter("method");
if(method != null && method.equals("pwdmodify")){
this.pwdmodify(req, resp);
}else if(method != null && method.equals("savepwd")){
this.updatePWD(req, resp);
}else if(method != null && method.equals("query")){
this.query(req,resp);
}else if(method != null && method.equals("getrolelist")){
this.getRoleList(req,resp);
}else if(method != null && method.equals("add")) {
this.add(req, resp);
}else if(method != null && method.equals("ucexist")) {
this.userCodeExist(req, resp);
}else if(method != null && method.equals("view")) {
this.getUserById(req, resp,"userview.jsp");
}else if(method != null && method.equals("deluser")) {
this.delUser(req, resp);
}else if(method != null && method.equals("modify")){
this.getUserById(req, resp,"usermodify.jsp");
}else if(method != null && method.equals("modifyexe")){
this.modify(req, resp);
}
}
1.登录功能
1.设置首页
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
2.编写Dao接口的实现类
public User getLoginUser(Connection connection, String userCode) throws Exception {
PreparedStatement ptsm = null;
ResultSet rs = null;
User user = null;
if(connection!=null){
String sql = "select * from smbms_user where userCode=?";
Object[] o = {userCode};
rs = BaseDao.execute(connection,ptsm,rs,sql,o);
if(rs.next()){
user = new User();
user.setId(rs.getInt("id"));
user.setUserCode(rs.getString("userCode"));
user.setUserName(rs.getString("userName"));
user.setUserPassword(rs.getString("userPassword"));
user.setGender(rs.getInt("gender"));
user.setBirthday(rs.getDate("birthday"));
user.setPhone(rs.getString("phone"));
user.setAddress(rs.getString("address"));
user.setUserRole(rs.getInt("userRole"));
user.setCreatedBy(rs.getInt("createdBy"));
user.setCreationDate(rs.getTimestamp("creationDate"));
user.setModifyBy(rs.getInt("modifyBy"));
user.setModifyDate(rs.getTimestamp("modifyDate"));
}
BaseDao.release(null, ptsm, rs);
}
return user;
}
3.编写业务层接口实现类
public User login(String userCode, String userPassword) {
Connection cn = null;
User user = null;
try {
cn = BaseDao.getConnection();
user = new UserDaoImpl().getLoginUser(cn,userCode);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
if(user!=null){
if(!user.getUserPassword().equals(userPassword))user=null;
}
return user;
}
4.编写servlet实现类
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String userCode = req.getParameter("userCode");
String userPassword = req.getParameter("userPassword");
UserService userService = new UserServiceImpl();
User user = null;
user = userService.login(userCode,userPassword);
if(user!=null){
req.getSession().setAttribute("USER",user);
resp.sendRedirect("jsp/frame.jsp");
}else{
req.setAttribute("error","用户名或密码错误");
req.getRequestDispatcher("login.jsp").forward(req,resp);
}
}
5.注册Servlet
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>servlet.user.loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
2.注销功能
1.编写servlet
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getSession().removeAttribute("USER");
resp.sendRedirect(req.getContextPath()+"/login.jsp");
}
2.注册servlet
<servlet>
<servlet-name>logout</servlet-name>
<servlet-class>servlet.user.logoutServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>logout</servlet-name>
<url-pattern>/jsp/logout.do</url-pattern>
</servlet-mapping>
3.编写filter
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
HttpServletResponse resp = (HttpServletResponse) servletResponse;
User user =(User) req.getSession().getAttribute("USER");
if(user == null){
resp.sendRedirect("/error.jsp");
}else{
filterChain.doFilter(servletRequest,servletResponse);
}
}
4.注册filter
<filter>
<filter-name>sysFilter</filter-name>
<filter-class>filter.SysFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sysFilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>
3.密码修改功能
1.编写Dao接口的实现类
public int updatePWD(Connection cn,int id,String newPassword) throws SQLException {
PreparedStatement pstm = null;
int result = 0;
if(cn!=null){
String sql = "update smbms_user set userPassword = ? where id = ?";
Object[] o = {newPassword,id};
result = BaseDao.execute(cn,pstm,sql,o);
}
BaseDao.release(null,pstm,null);
return result;
}
2.编写业务层接口实现类
public boolean updatePWD(int id,String newPassword){
Connection cn = null;
int result = 0;
try {
cn = BaseDao.getConnection();
result = new UserDaoImpl().updatePWD(cn,id,newPassword);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
if(result>0)return true;
return false;
}
3.编写servlet
public void updatePWD(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
boolean flag = false;
String np = req.getParameter("newpassword");
User user =(User) req.getSession().getAttribute("USER");
if(user != null && !StringUtils.isNullOrEmpty(np)) {
int id = user.getId();
flag = new UserServiceImpl().updatePWD(id, np);
if (flag) {
req.setAttribute("message", "修改成功");
req.getSession().removeAttribute("USER");
} else {
req.setAttribute("message", "修改失败");
}
}else{
req.setAttribute("message", "修改失败");
}
req.getRequestDispatcher("pwdmodify.jsp").forward(req, resp);
}
//AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术
//实现ajax,不重新加载整个页面,直接判断旧密码是否准确
public void pwdmodify(HttpServletRequest req,HttpServletResponse resp) throws IOException {
Object o = req.getSession().getAttribute("USER");
String oldpassword = req.getParameter("oldpassword");
Map<String, String> resultMap = new HashMap<String, String>();
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");
}
}
resp.setContentType("application/json");
PrintWriter outPrintWriter = resp.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
// outPrintWriter.write("result:true");
outPrintWriter.flush();
outPrintWriter.close();
}
4.用户列表查询
1.编写Dao接口的实现类
public List<Role> getRoleList(Connection connection) throws Exception {
List<Role> list = new ArrayList<>();
PreparedStatement pstm = null;
ResultSet rs = null;
if(connection!=null){
String sql = "select * from smbms_role";
rs = BaseDao.execute(connection,pstm,rs,sql,null);
while(rs.next()){
Role role = new Role();
role.setId(rs.getInt("id"));
role.setRoleCode(rs.getString("roleCode"));
role.setRoleName(rs.getString("roleName"));
list.add(role);
}
}
BaseDao.release(null,pstm,rs);
return list;
}
public int getUserCount(Connection connection, String userName, int userRole) throws Exception {
int count = 0;
StringBuffer sql = new StringBuffer();
sql.append("select count(1) count from smbms_user u,smbms_role r where u.userRole = r.id");
PreparedStatement pstm = null;
ResultSet rs = null;
if(connection != null){
List<Object> list = new ArrayList<Object>();
if(!StringUtils.isNullOrEmpty(userName)){
sql.append(" and u.userName like ?");
list.add("%"+userName+"%");
}
if(userRole>0){
sql.append(" and u.userRole = ?");
list.add(userRole);
}
rs = BaseDao.execute(connection,pstm,rs,sql.toString(),list.toArray());
if(rs.next()){
count = rs.getInt("count");
}
}
BaseDao.release(null,pstm,rs);
return count;
}
public List<User> getUserList(Connection connection, String userName,int userRole,int currentPageNo, int pageSize)
throws Exception {
PreparedStatement pstm = null;
ResultSet rs = null;
List<User> userList = new ArrayList<User>();
if(connection != null){
StringBuffer sql = new StringBuffer();
sql.append("select u.*,r.roleName as userRoleName from smbms_user u,smbms_role r where u.userRole = r.id");
List<Object> list = new ArrayList<Object>();
if(!StringUtils.isNullOrEmpty(userName)){
sql.append(" and u.userName like ?");
list.add("%"+userName+"%");
}
if(userRole > 0){
sql.append(" and u.userRole = ?");
list.add(userRole);
}
sql.append(" order by creationDate DESC limit ?,?");
currentPageNo = (currentPageNo-1)*pageSize;
list.add(currentPageNo);
list.add(pageSize);
Object[] params = list.toArray();
rs = BaseDao.execute(connection, pstm, rs, sql.toString(), params);
while(rs.next()){
User _user = new User();
_user.setId(rs.getInt("id"));
_user.setUserCode(rs.getString("userCode"));
_user.setUserName(rs.getString("userName"));
_user.setGender(rs.getInt("gender"));
_user.setBirthday(rs.getDate("birthday"));
_user.setPhone(rs.getString("phone"));
_user.setUserRole(rs.getInt("userRole"));
_user.setUserRoleName(rs.getString("userRoleName"));
userList.add(_user);
}
BaseDao.release(null, pstm, rs);
}
return userList;
}
2.编写业务层接口实现类
public List<Role> getRoleList() {
Connection connection = null;
List<Role> roleList = null;
try {
connection = BaseDao.getConnection();
roleList = roleDao.getRoleList(connection);
} catch (Exception e) {
e.printStackTrace();
}finally{
BaseDao.release(connection, null, null);
}
return roleList;
}
public int getUserCount(String queryUserName, int queryUserRole) {
Connection cn = null;
int count = 0;
try {
cn = BaseDao.getConnection();
count = userDao.getUserCount(cn,queryUserName,queryUserRole);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
return count;
}
@Override
public List<User> getUserList(String queryUserName, int queryUserRole, int currentPageNo, int pageSize) {
Connection cn = null;
List<User> list = null;
try {
cn = BaseDao.getConnection();
list = new UserDaoImpl().getUserList(cn,queryUserName,queryUserRole,currentPageNo,pageSize);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
return list;
}
3.编写Servlet
public void getRoleList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<Role> roleList = null;
RoleServiceImpl roleService = new RoleServiceImpl();
roleList = roleService.getRoleList();
response.setContentType("application/json");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(roleList));
outPrintWriter.flush();
outPrintWriter.close();
}
public void query(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
String queryUserName = req.getParameter("queryname");
String temp = req.getParameter("queryUserRole");
String pageIndex = req.getParameter("pageIndex");
int queryUserRole = 0;
int pageSize = 5;
int currentPageNo = 1;
if(queryUserName==null)queryUserName="";
if(temp!=null&&!temp.equals("")) queryUserRole = Integer.parseInt(temp);
if(pageIndex!=null)currentPageNo = Integer.parseInt(pageIndex);
int totalCount = new UserServiceImpl().getUserCount(queryUserName,queryUserRole);
PageSupport pageSupport = new PageSupport();
pageSupport.setCurrentPageNo(currentPageNo);
pageSupport.setPageSize(pageSize);
pageSupport.setTotalCount(totalCount);
int totalPageCount = pageSupport.getTotalPageCount();
if(currentPageNo<1){
currentPageNo=1;
}else if(currentPageNo>totalPageCount){
currentPageNo=totalPageCount;
}
List<User> userList = new UserServiceImpl().getUserList(queryUserName,queryUserRole,currentPageNo,pageSize);
req.setAttribute("userList",userList);
List<Role> roleList = new RoleServiceImpl().getRoleList();
req.setAttribute("roleList",roleList);
req.setAttribute("totalCount",totalCount);
req.setAttribute("currentPageNo",currentPageNo);
req.setAttribute("totalPageCount",totalPageCount);
req.setAttribute("queryUserName",queryUserName);
req.setAttribute("queryUserRole",queryUserRole);
req.getRequestDispatcher("userlist.jsp").forward(req,resp);
}
5.添加用户
1.编写Dao接口的实现类
public int add(Connection connection, User user) throws Exception {
PreparedStatement pstm = null;
int count = 0;
List<Object> list = null;
if(user!=null){
list = new ArrayList<>();
list.add(user.getUserCode());
list.add(user.getUserName());
list.add(user.getUserPassword());
list.add(user.getGender());
list.add(user.getBirthday());
list.add(user.getPhone());
list.add(user.getAddress());
list.add(user.getUserRole());
list.add(user.getCreatedBy());
list.add(user.getCreationDate());
}
if(connection!=null){
String sql = "insert into smbms_user(userCode,userName,userPassword,gender,birthday,phone,address,userRole,createdBy,creationDate) values(?,?,?,?,?,?,?,?,?,?)";
count = BaseDao.execute(connection,pstm,sql,list.toArray());
}
BaseDao.release(null,pstm,null);
return count;
}
2.编写业务层接口实现类
public boolean add(User user) {
Connection cn = null;
int count = 0;
try {
cn = BaseDao.getConnection();
if(user!=null){
count = userDao.add(cn,user);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
if(count!=0)return true;
return false;
}
3.编写Servlet
public void add(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
User user = new User();
user.setUserCode(request.getParameter("userCode"));
user.setUserName(request.getParameter("userName"));
user.setUserPassword(request.getParameter("userPassword"));
user.setGender(Integer.parseInt(request.getParameter("gender")));
// user.setBirthday(new Date(request.getParameter("birthday")));
try {
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("birthday")));
} catch (ParseException e) {
e.printStackTrace();
}
user.setPhone(request.getParameter("phone"));
user.setAddress(request.getParameter("address"));
user.setUserRole(Integer.parseInt(request.getParameter("userRole")));
user.setCreationDate(new Date());
User admin =(User) request.getSession().getAttribute("USER");
user.setCreatedBy(admin.getId());
user.setCreationDate(new Date());
UserService userDao = new UserServiceImpl();
boolean flag = userDao.add(user);
if(flag){
response.sendRedirect(request.getContextPath()+"/jsp/user.do?method=query");
}else{
request.getRequestDispatcher("useradd.jsp").forward(request, response);
}
}
6.查看用户详细信息
1.编写Dao接口的实现类
public User getUserById(Connection connection, String id) throws Exception {
PreparedStatement ptsm = null;
ResultSet rs = null;
User user = null;
if(connection!=null){
String sql = "select u.*,r.roleName as userRoleName from smbms_user u,smbms_role r where u.id=? and u.userRole = r.id";
Object[] o = {id};
rs = BaseDao.execute(connection,ptsm,rs,sql,o);
if(rs.next()){
user = new User();
user.setId(rs.getInt("id"));
user.setUserCode(rs.getString("userCode"));
user.setUserName(rs.getString("userName"));
user.setUserPassword(rs.getString("userPassword"));
user.setGender(rs.getInt("gender"));
user.setBirthday(rs.getDate("birthday"));
user.setPhone(rs.getString("phone"));
user.setAddress(rs.getString("address"));
user.setUserRole(rs.getInt("userRole"));
user.setCreatedBy(rs.getInt("createdBy"));
user.setCreationDate(rs.getTimestamp("creationDate"));
user.setModifyBy(rs.getInt("modifyBy"));
user.setModifyDate(rs.getTimestamp("modifyDate"));
user.setUserRoleName(rs.getString("userRoleName"));
}
BaseDao.release(null, ptsm, rs);
}
return user;
}
2.编写业务层接口实现类
//实现AJAX,判断用户名是否存在
public User selectUserCodeExist(String userCode) {
Connection cn = null;
User user = null;
try {
cn = BaseDao.getConnection();
user = userDao.getLoginUser(cn,userCode);
} catch (Exception e) {
e.printStackTrace();
}
BaseDao.release(cn,null,null);
return user;
}
public User getUserById(String id) {
Connection cn = null;
User user = null;
try {
cn = BaseDao.getConnection();
user = userDao.getUserById(cn,id);
} catch (Exception e) {
e.printStackTrace();
}
BaseDao.release(cn,null,null);
return user;
}
3.编写Servlet
public void getUserById(HttpServletRequest request, HttpServletResponse response,String url) throws ServletException, IOException {
String id = request.getParameter("uid");
User user = null;
if(!StringUtils.isNullOrEmpty(id)){
UserServiceImpl userService = new UserServiceImpl();
user = userService.getUserById(id);
request.setAttribute("user",user);
request.getRequestDispatcher(url).forward(request,response);
}
}
7.修改用户信息
1.编写Dao接口的实现类
public User getUserById(Connection connection, String id) throws Exception {
PreparedStatement ptsm = null;
ResultSet rs = null;
User user = null;
if(connection!=null){
String sql = "select u.*,r.roleName as userRoleName from smbms_user u,smbms_role r where u.id=? and u.userRole = r.id";
Object[] o = {id};
rs = BaseDao.execute(connection,ptsm,rs,sql,o);
if(rs.next()){
user = new User();
user.setId(rs.getInt("id"));
user.setUserCode(rs.getString("userCode"));
user.setUserName(rs.getString("userName"));
user.setUserPassword(rs.getString("userPassword"));
user.setGender(rs.getInt("gender"));
user.setBirthday(rs.getDate("birthday"));
user.setPhone(rs.getString("phone"));
user.setAddress(rs.getString("address"));
user.setUserRole(rs.getInt("userRole"));
user.setCreatedBy(rs.getInt("createdBy"));
user.setCreationDate(rs.getTimestamp("creationDate"));
user.setModifyBy(rs.getInt("modifyBy"));
user.setModifyDate(rs.getTimestamp("modifyDate"));
user.setUserRoleName(rs.getString("userRoleName"));
}
BaseDao.release(null, ptsm, rs);
}
return user;
}
public int modify(Connection connection, User user) throws Exception {
int flag = 0;
PreparedStatement pstm = null;
if(null != connection){
String sql = "update smbms_user set userName=?,"+
"gender=?,birthday=?,phone=?,address=?,userRole=?,modifyBy=?,modifyDate=? where id = ? ";
Object[] params = {user.getUserName(),user.getGender(),user.getBirthday(),
user.getPhone(),user.getAddress(),user.getUserRole(),user.getModifyBy(),
user.getModifyDate(),user.getId()};
flag = BaseDao.execute(connection, pstm, sql, params);
BaseDao.release(null, pstm, null);
}
return flag;
}
2.编写业务层接口实现类
public User getUserById(String id) {
Connection cn = null;
User user = null;
try {
cn = BaseDao.getConnection();
user = userDao.getUserById(cn,id);
} catch (Exception e) {
e.printStackTrace();
}
BaseDao.release(cn,null,null);
return user;
}
public boolean modify(User user) {
Connection cn = null;
int count = 0;
try {
cn = BaseDao.getConnection();
count = userDao.modify(cn,user);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
if(count==0)return false;
return true;
}
3.编写Servlet
public void getUserById(HttpServletRequest request, HttpServletResponse response,String url) throws ServletException, IOException {
String id = request.getParameter("uid");
User user = null;
if(!StringUtils.isNullOrEmpty(id)){
UserServiceImpl userService = new UserServiceImpl();
user = userService.getUserById(id);
request.setAttribute("user",user);
request.getRequestDispatcher(url).forward(request,response);
}
}
public void modify(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
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("USER")).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);
}
}
8.删除用户
1.编写Dao接口实现类
public int deleteUserById(Connection connection, Integer delId) throws Exception {
PreparedStatement pstm = null;
int count = 0;
if(connection!=null && delId!=0){
String sql = "delete from smbms_user where id = ?";
Object[] o = {delId};
count = BaseDao.execute(connection,pstm,sql,o);
}
BaseDao.release(null,pstm,null);
return count;
}
2.编写业务层接口实现类
public boolean deleteUserById(Integer delId) {
Connection cn = null;
int count = 0;
try {
cn = BaseDao.getConnection();
count = userDao.deleteUserById(cn,delId);
} catch (Exception e) {
e.printStackTrace();
}finally {
BaseDao.release(cn,null,null);
}
if(count==0)return false;
else return true;
}
3.编写Servlet
public void delUser(HttpServletRequest request, HttpServletResponse response) throws IOException {
int delId = Integer.parseInt(request.getParameter("uid"));
boolean flag = false;
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");
}else{
resultMap.put("delResult", "false");
}
}
//把resultMap转换成json对象输出
response.setContentType("application/json");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();
outPrintWriter.close();
}
三、总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。@TOC