20111026

Session-Servlet 防止表單重複提交 登錄系統 代碼

 

public class AdminLoginServlet extends HttpServlet {

 private AdminService aService = new AdminServiceImpl();
 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
       //post 怎麼解決亂碼
  request.setCharacterEncoding("UTF-8");
  String checkcode = request.getParameter("checkcode");
  if(checkcode == ""){
   request.setAttribute("msg", "驗證碼爲空");
   RequestDispatcher  rd= request.getRequestDispatcher("/login.jsp");
      rd.forward(request, response);
  }else{
  String ckcode =  (String) request.getSession().getAttribute("ckcode");
  if(checkcode.equals(ckcode)){
  // request.getSession().getAttribute("checkcode");
   String name = request.getParameter("uname");
   String pass = request.getParameter("upass");
   
   Admin entity = aService.checkLogin(name, pass);

 
  if(entity==null){
   //重定向 
   request.setAttribute("msg", "用戶名或者密碼錯誤");
   RequestDispatcher  rd= request.getRequestDispatcher("/login.jsp");
      rd.forward(request, response);
   //請求轉發
  
  }else{
   System.out.println(entity.toString());
   //利用session存入用戶對象
   request.getSession().setAttribute("admin", entity);
   //轉發到這個index.jsp頁面中  疑問 index.jsp能獲取到admin對象的值
   //response.sendRedirect("./index.jsp");
   //請求轉發
   RequestDispatcher  rd= request.getRequestDispatcher("/index.jsp");
      rd.forward(request, response);
   }
   }else{
    request.setAttribute("msg", "驗證碼不正確");
    RequestDispatcher  rd= request.getRequestDispatcher("/login.jsp");
       rd.forward(request, response);
   }
  }
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
        doGet(request, response);
 }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章