📄 loginservlet.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.shx.note.servlet;import com.shx.note.factory.DAOFactory;import com.shx.note.vo.Person;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * * @author Administrator */public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = "login.jsp"; // 声明一个集合类,用于保存错误信息 List errors = new ArrayList(); //1、接收传递的参数 int p_id = Integer.parseInt(request.getParameter("p_id")); String p_password = request.getParameter("p_password"); // 2、进行数据合法性验证,包括是否为空,长度是否满足等 // 要将接收到的内容设置给Person对象 Person person = new Person(); person.setP_id(p_id); person.setP_password(p_password); person.setErrors(errors); // 3、如果合法,则进行数据库验证 if (person.invalidate()) { try { // 进行数据库验证 if (DAOFactory.getPersonDAOInstance().login(person)) { // 如果为真,则表示用户ID和密码合法 // 设置用户姓名到session范围之中 request.getSession().setAttribute("p_name", person.getP_name()); // 修改跳转路径 path = "login_success.jsp"; } else { // 登陆失败 // 设置错误信息 errors.add("错误的用户ID或密码!"); } } catch (Exception ex) { Logger.getLogger(LoginServlet.class.getName()).log(Level.SEVERE, null, ex); } } // 将错误信息保存 request.setAttribute("errors", errors); request.setAttribute("person", person); // 进行跳转 request.getRequestDispatcher(path).forward(request, response); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -