Request應用之使用者登陸失敗資訊回顯
阿新 • • 發佈:2018-12-11
程式碼如下
public class LoginServlet1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //防止post提交方式亂碼 //要清楚使用者登陸業務第一個是獲取使用者名稱以及密碼 String username = request.getParameter("username"); String password = request.getParameter("password"); //通過使用者名稱user來判斷user是否登陸成功 即沒成功則為null User user = null; try { //業務方法 來判斷使用者是否登陸成功 user = login(username,password); if(user!=null) { //這裡要知道為什麼用了重定向 沒用轉發 response.sendRedirect("/Web01/index.jsp"); }else { //設定域屬性 在html頁面中使用jsp呼叫顯示 request.setAttribute("LoginInfo", "登入失敗,使用者名稱或密碼錯誤"); //使用轉發 要明白為什麼要用請求轉發 request.getRequestDispatcher("login.jsp").forward(request, response); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public User login(String username,String password) throws SQLException { //C3P0連線池基礎操作 QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); String sql = "select * from user where username=? and password=?"; User user = qr.query(sql, new BeanHandler<User>(User.class), username,password); return user; } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
//jsp中的顯示回顯資訊程式碼
<%= request.getAttribute("LoginInfo")==null?"":request.getAttribute("LoginInfo") %>