用户管理系统实战【Servlet+jsp项目实战】
2019-05-25 22:18
288 查看
一、三天免登陆(部分代码)
[code]package com.bjsxt.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.bjsxt.pojo.User; import com.bjsxt.service.LoginService; import com.bjsxt.service.impl.LoginServiceImpl; public class LoginServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置请求编码格式: req.setCharacterEncoding("utf-8"); //设置响应编码格式 resp.setContentType("text/html;charset=utf-8"); //获取请求信息 String uname=req.getParameter("uname"); //uname=new String(uname.getBytes("iso8859-1"),"utf-8");//使用String进行数据重新编码 String pwd=req.getParameter("pwd"); System.out.println(uname+":"+pwd); //处理请求信息 //获取业务层对象 LoginService ls=new LoginServiceImpl(); User u=ls.checkLoginService(uname, pwd); System.out.println(u); //响应处理结果 if(u!=null){ //创建Cookie信息实现三天免登录。 Cookie c=new Cookie("uid", u.getUid()+""); //设置Cookie的有效期 c.setMaxAge(3*24*3600); c.setPath("/login/ck"); //添加Cookie信息 resp.addCookie(c); //请求转发 //req.getRequestDispatcher("main").forward(req, resp); //重定向 resp.sendRedirect("/login/main"); return; }else{ //使用request对象实现不同Servlet的数据流转 req.setAttribute("str", "用户名或密码错误"); //使用请求转发 req.getRequestDispatcher("page").forward(req, resp); return; } } }
[code]package com.bjsxt.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.bjsxt.pojo.User; import com.bjsxt.service.LoginService; import com.bjsxt.service.impl.LoginServiceImpl; /** * Cookie信息校验 * 判断请求中是否携带正确的Cookie信息 * 如果有则校验Cookie信息是否正确 * 如果校验正确则直接响应主页面给用户 * 如果校验不正确则响应登录页面给用户 * 没有则请求转发给登录页面 * @author MyPC */ public class CookieServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置请求编码格式 req.setCharacterEncoding("utf-8"); //设置响应编码格式 resp.setContentType("text/html;charset=utf-8"); //获取请求信息 //获取Cookie信息 Cookie[] cks=req.getCookies(); //处理请求信息 if(cks!=null){ //遍历Cookie信息 String uid=""; for(Cookie c:cks){ if("uid".equals(c.getName())){ uid=c.getValue(); } } //校验UID是否存在 if("".equals(uid)){ //请求转发 req.getRequestDispatcher("page").forward(req, resp); return; }else{ //校验UID用户信息 //获取业务层对象 LoginService ls=new LoginServiceImpl(); User u=ls.checkUidService(uid); if(u!=null){ //重定向 resp.sendRedirect("/login/main"); return; }else{ //请求转发 req.getRequestDispatcher("page").forward(req, resp); return; } } }else{ //响应处理结果 //请求转发 req.getRequestDispatcher("page").forward(req, resp); return; } } }
二、后台管理系统(部分代码)
[code]package com.bjsxt.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import com.bjsxt.pojo.User; import com.bjsxt.service.UserService; import com.bjsxt.service.impl.UserServiceImpl; /** * Servlet重定向路径总结: * 相对路径:从当前请求的路径查找资源的路径 * 相对路径如果servlet的别名中包含目录,会造成重定向资源查找失败。 * 绝对路径:第一个/表示服务器根目录 * /虚拟项目名/资源路径 * * Servlet请求转发: * /表示项目根目录。 * req.getRequestDispatcher("/资源路径").forward(req, resp); * * @author MyPC * */ public class UserServlet extends HttpServlet { //声明日志对象 Logger logger =Logger.getLogger(UserServlet.class); //获取service层对象 UserService us=new UserServiceImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置请求编码格式 req.setCharacterEncoding("utf-8"); //设置响应编码格式 resp.setContentType("text/html;charset=utf-8"); //获取操做符 String oper=req.getParameter("oper"); if("login".equals(oper)){ //调用登录处理方法 checkUserLogin(req,resp); }else if("out".equals(oper)){ //调用退出功能 userOut(req,resp); }else if("pwd".equals(oper)){ //调用密码修改功能 userChangePwd(req,resp); }else if("show".equals(oper)){ //调用显示所有用户功能 userShow(req,resp); }else if("reg".equals(oper)){ //调用注册功能 userReg(req,resp); }else{ logger.debug("没有找到对应的操作符:"+oper); } } //注册用户 private void userReg(HttpServletRequest req, HttpServletResponse resp) throws IOException { //获取请求信息 String uname=req.getParameter("uname"); String pwd=req.getParameter("pwd"); String sex=req.getParameter("sex"); int age=req.getParameter("age")!=""?Integer.parseInt(req.getParameter("age")):0; String birth=req.getParameter("birth"); String[] bs=null; if(birth!=""){ bs=birth.split("/"); birth=bs[2]+"-"+bs[0]+"-"+bs[1]; } System.out.println(uname+":"+pwd+":"+sex+":"+age+":"+birth); User u=new User(0, uname, pwd, sex, age, birth); //处理请求信息 //调用业务层处理 int index=us.userRegService(u); //响应处理结果 if(index>0){ //获取session HttpSession hs=req.getSession(); hs.setAttribute("reg", "true"); //重定向 resp.sendRedirect("/mg/login.jsp"); } } //显示所有的用户信息 private void userShow(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //处理请求 //调用service List<User> lu=us.userShowService(); //判断 if(lu!=null){ //将查询的用户数据存储到request对象 req.setAttribute("lu",lu); //请求转发 req.getRequestDispatcher("/user/showUser.jsp").forward(req, resp); return; } } //用户修改密码 private void userChangePwd(HttpServletRequest req, HttpServletResponse resp) throws IOException { //获取数据 String newPwd=req.getParameter("newPwd"); //从session中获取用户信息 User u=(User)req.getSession().getAttribute("user"); int uid=u.getUid(); //处理请求 //调用service处理 int index=us.userChangePwdService(newPwd,uid); if(index>0){ //获取session对象 HttpSession hs=req.getSession(); hs.setAttribute("pwd","true"); //重定向到登录页面 resp.sendRedirect("/mg/login.jsp"); } } //用户退出 private void userOut(HttpServletRequest req, HttpServletResponse resp) throws IOException { //获取session对象 HttpSession hs=req.getSession(); //强制销毁session hs.invalidate(); //重定向到登录页面 resp.sendRedirect("/mg/login.jsp"); } //处理登录 private void checkUserLogin(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { //获取请求信息 String uname=req.getParameter("uname"); String pwd=req.getParameter("pwd"); //处理请求信息 //校验 User u=us.checkUserLoginService(uname, pwd); if(u!=null){ //获取session对象 HttpSession hs=req.getSession(); //将用户数据存储到session中 hs.setAttribute("user", u); //重定向 resp.sendRedirect("/mg/main/main.jsp"); return; }else{ //添加标识符到request中 req.setAttribute("flag",0); //请求转发 req.getRequestDispatcher("/login.jsp").forward(req, resp); return; } //响应处理结果 //直接响应 //请求转发 } }
[code]package com.bjsxt.service.impl; import java.util.List; import org.apache.log4j.Logger; import com.bjsxt.dao.UserDao; import com.bjsxt.dao.impl.UserDaoImpl; import com.bjsxt.pojo.User; import com.bjsxt.service.UserService; public class UserServiceImpl implements UserService{ //声明日志对象 Logger logger=Logger.getLogger(UserServiceImpl.class); //声明Dao层对象 UserDao ud=new UserDaoImpl(); //用户登录 @Override public User checkUserLoginService(String uname, String pwd) { //打印日志 logger.debug(uname+"发起登录请求"); User u=ud.checkUserLoginDao(uname, pwd); //判断 if(u!=null){ logger.debug(uname+"登录成功"); }else{ logger.debug(uname+"登录失败"); } return u; } //修改用户密码 @Override public int userChangePwdService(String newPwd, int uid) { logger.debug(uid+":发起密码请求"); int index=ud.userChangePwdDao(newPwd,uid); if(index>0){ logger.debug(uid+":密码修改成功"); }else{ logger.debug(uid+":密码修改失败"); } return index; } //获取所有的用户信息 @Override public List<User> userShowService() { List<User> lu=ud.userShowDao(); logger.debug("显示所有用户信息:"+lu); return lu; } //用户注册 @Override public int userRegService(User u) { return ud.userRegDao(u); } }
[code]<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <base href="<%=basePath%>"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>欢迎登录后台管理系统</title> <link href="css/style.css" rel="stylesheet" type="text/css" /> <script language="JavaScript" src="js/jquery.js"></script> <script src="js/cloud.js" type="text/javascript"></script> <script language="javascript"> $(function(){ $('.loginbox').css({'position':'absolute','left':($(window).width()-692)/2}); $(window).resize(function(){ $('.loginbox').css({'position':'absolute','left':($(window).width()-692)/2}); }) }); </script> </head> <body style="background-color:#df7611; background-image:url(images/light.png); background-repeat:no-repeat; background-position:center top; overflow:hidden;"> <div id="mainBody"> <div id="cloud1" class="cloud"></div> <div id="cloud2" class="cloud"></div> </div> <div class="logintop"> <span>欢迎登录后台管理界面平台</span> </div> <div class="loginbody"> <span class="systemlogo"></span> <br /> <% //声明java代码块进行错误提示语的逻辑校验 Object obj=request.getAttribute("flag"); if(obj!=null){ %> <div style="text-align: center;"> <span style="font-size: 15px;color:darkred;font-weight: bold;">用户名或者密码错误</span> </div> <%} %> <% //声明java代码块进行密码修改提示语 Object pwd=session.getAttribute("pwd"); if(pwd!=null){ %> <div style="text-align: center;"> <span style="font-size: 15px;color:darkred;font-weight: bold;">密码修改成功</span> </div> <%} session.removeAttribute("pwd"); %> <% //声明java代码块进行注册提示语 Object reg=session.getAttribute("reg"); if(reg!=null){ %> <div style="text-align: center;"> <span style="font-size: 15px;color:darkred;font-weight: bold;">注册成功</span> </div> <%} session.removeAttribute("reg"); %> <div class="loginbox loginbox1"> <form action="user" method="post"> <input type="hidden" name="oper" value="login" /> <ul> <li></li> <li><input name="uname" type="text" placeholder="用户名" class="loginuser" /></li> <li><input name="pwd" type="password" placeholder="密码" class="loginpwd" /></li> <li class="yzm"> <span><input name="" type="text" value="验证码" onclick="JavaScript:this.value=''"/></span><cite>X3D5S</cite> </li> <li><input name="" type="submit" class="loginbtn" value="登录" onclick="javascript:window.location='main.html'" /><label><a href="user/reg.jsp">注册</a></label><label><a href="#">忘记密码?</a></label></li> </ul> </form> </div> </div> <div class="loginbm">版权所有 尚学堂 <a href="http://www.uimaker.com">uimaker.com</a> 仅供学习交流,勿用于任何商业用途,交流QQ:189088900878</div> </body> </html>
相关文章推荐
- Servlet + JSP 项目实战:用户信息管理系统
- Asp.Net Core 项目实战之权限管理系统(5) 用户登录
- 项目(1)----用户信息管理系统(5)---(剩余jsp界面)
- Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限
- JSP小项目实战---客户信息管理系统
- Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限
- 项目二 任务五 管理Linux系统的用户与用户组
- 20161109L04-07老男孩linux运维实战培训-Linux系统的用户和用户组管理-05
- 第一个项目——用户管理系统
- 项目二 任务五 管理Linux系统的用户与用户组
- 项目二 任务五:管理Linux系统的用户与用户组
- vue项目实战(一)——资金管理系统-06数据信息接口
- Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载
- JSP第一个实例之用户管理系统
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
- 项目(1)----用户信息管理系统(4)---(struts开发)
- java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
- XML解析--小项目实战(联系人管理系统)
- 2019最新python入门+进阶+课堂教学管理系统开发项目实战(完整)
- Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计