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);
}
}