[Java] 邮箱登录 →→→→→进入此内容的聊天室

来自 , 2020-10-03, 写在 Java, 查看 201 次.
URL http://www.code666.cn/view/024d7f84
  1. package chapter03.servlet;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5.  
  6. import javax.servlet.RequestDispatcher;
  7. import javax.servlet.ServletContext;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12. import javax.servlet.http.HttpSession;
  13.  
  14. import chapter03.model.User;
  15.  
  16. /**
  17.  * Servlet implementation class loginServlet
  18.  */
  19. public class loginServlet extends HttpServlet {
  20.         private static final long serialVersionUID = 1L;
  21.        
  22.     /**
  23.      * @see HttpServlet#HttpServlet()
  24.      */
  25.     public loginServlet() {
  26.         super();
  27.         // TODO Auto-generated constructor stub
  28.     }
  29.  
  30.         /**
  31.          * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  32.          */
  33.         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  34.                 // TODO Auto-generated method stub
  35.                 doPost(request, response);
  36.         }
  37.  
  38.         /**
  39.          * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  40.          */
  41.         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  42.                 // TODO Auto-generated method stub
  43.                 response.setContentType("text/html;charset=GBK");
  44.                 String action = request.getParameter("action");
  45.                 if ("login".equals(action)){
  46.                         login(request, response);
  47.                 }
  48.                 else if ("check".equals(action)){
  49.                         check(request, response);
  50.                 }
  51.                 else if ("logout".equals(action)){
  52.                         logout(request, response);
  53.                 }
  54.                 else{
  55.                         unlogin(request, response);
  56.                 }
  57.         }
  58.        
  59.         private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  60.                 String loginUrl = "/login.html";
  61.                 String fileUrl = "/login?action=check";
  62.                 HttpSession session = request.getSession();
  63.                 String userName = request.getParameter("user_name");
  64.                 String password = request.getParameter("login_password");
  65.                 // 验证用户ID和密码是否合法,略...
  66.                 ServletContext context = getServletContext();
  67.                 if (userName == null || userName.equals("")) {
  68.                         RequestDispatcher dispatcher =
  69.                 context.getRequestDispatcher(loginUrl);
  70.                         response.setContentType("text/html;charset=GBK");
  71.                         dispatcher.forward(request, response);
  72.                         return;
  73.                 }
  74.                 // 登录成功,设置session中的属性
  75.                 else{
  76.                         User user = new User();
  77.                         user.setUserName(userName);
  78.                         session.setAttribute("User", user);
  79.                         RequestDispatcher dispatcher = context.getRequestDispatcher(fileUrl);
  80.                         dispatcher.forward(request, response);
  81.                 }
  82.         }
  83.         private void check(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  84.                 HttpSession session = request.getSession();
  85.                 User user = (User)session.getAttribute("User");
  86.                 if (user == null) {  // 若未登陆,则先跳转到登录页面
  87.                         response.setContentType("text/html;charset=GBK");
  88.                         response.setHeader("Refresh", "3; URL=login.html");
  89.                         PrintWriter out = response.getWriter();
  90.                         out.println("<FONT color='red'>请先登录!</FONT><BR>");
  91.                         out.println("<FONT color='blue'>3秒后跳转到登录页面...</FONT>");
  92.                         out.close();
  93.                         return;
  94.                 }
  95.                 else if(user.getUserName().equals("sss"))
  96.                 {
  97.                         String loginURL = "login?action=login";
  98.                         String logoutURL = "login?action=logout";
  99.                         response.setContentType("text/html;charset=GBK");
  100.                         PrintWriter out = response.getWriter();
  101.                         out.println("<HTML><HEAD><TITLE>MailServlet:check</TITLE></HEAD>");
  102.                         out.println("<body>");
  103.                         out.println("当前用户为:" + user.getUserName());
  104.                         out.println("<p><p>");
  105.                         out.println("你的邮箱中有100封邮件");
  106.                         out.println("<p><p>");
  107.                         out.println("<a href='" + loginURL + "'>登陆</a>");
  108.                         out.println("<a href='" + logoutURL + "'>注销</a>");
  109.                         out.println("</body></html>");
  110.                         out.close();
  111.                 }
  112.                 else
  113.                 {
  114.                         String loginURL = "login?action=login";
  115.                         response.setContentType("text/html;charset=GBK");
  116.                         PrintWriter out = response.getWriter();
  117.                         out.println("<HTML><HEAD><TITLE>MailServlet:check</TITLE></HEAD>");
  118.                         out.println("<body>");
  119.                         out.println(user.getUserName() + "您好!");
  120.                         out.println("<p><p>");
  121.                         out.println("<FONT color='red'>您无权访问邮件系统。</FONT>");
  122.                         out.println("<p><p>");
  123.                         out.println("请重新<a href='" + loginURL + "'>登陆</a>邮件系统!!");
  124.                         out.println("</body></html>");
  125.                         out.close();
  126.                 }
  127.         }
  128.         private void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  129.                 HttpSession session = request.getSession();
  130.                 User user = (User)session.getAttribute("User");
  131.                 String name = user.getUserName();
  132.                 session.invalidate();
  133.                 String loginURL = "login?action=login";
  134.                 PrintWriter out = response.getWriter();
  135.                 out.println("<HTML><HEAD><TITLE>MailServlet:logout</TITLE></HEAD>");
  136.                 out.println("<body>");
  137.                 out.println(name + ",再见!");
  138.                 out.println("<p><p>");
  139.                 out.println("<a href='" + loginURL + "'>重新登录邮件系统</a>");
  140.                 out.println("</body></html>");
  141.                 out.close();
  142.         }
  143.        
  144.         private void unlogin(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
  145.                 String loginURL = "login?action=login";
  146.                 response.setContentType("text/html;charset=GBK");
  147.                 PrintWriter out = response.getWriter();
  148.                 out.println("<HTML><HEAD><TITLE>MailServlet:unlogout</TITLE></HEAD>");
  149.                 out.println("<body>");
  150.                 out.println("您好!");
  151.                 out.println("<p><p>");
  152.                 out.println("请您先<a href='" + loginURL + "'>登陆</a>邮件系统!");
  153.                 out.println("</body></html>");
  154.                 out.close();
  155.         }
  156.  
  157. }
  158.  

回复 "邮箱登录"

这儿你可以回复上面这条便签

captcha