jsp+servlet实现的验证登陆
可以将业务逻辑处理和视图相分离,使用jsp界面表示视图,使用servlet处理业务逻辑
login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% String msg=(String)request.getAttribute("msg"); if(msg!=null){ out.print(msg); } %> <form action="dologin" method="post"> username:<input type="text" name="username" /><br> password:<input type="password" name="password" /><br> <input type="submit" value="submit" /> </form> </body> </html>
success.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> 登陆成功 <% String username=request.getParameter("username"); out.print(username+"欢迎你"); %> </body> </html>
fail.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> 登陆成功 <% String username=request.getParameter("username"); out.print(username+"欢迎你"); %> </body> </html>
业务逻辑处理
com.zk.myservlet.dologin.java
public class dologin extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取表单数据 String username=request.getParameter("username"); String password=request.getParameter("password"); //处理业务逻辑 if("Tom".equals(username)&&"123".equals(password)) { //分发转向 request.getSession().setAttribute("username", username); request.getRequestDispatcher("/success.jsp").forward(request, response); //response.sendRedirect(request.getContextPath()+"/success.jsp");//丢失 username参数值 ,一次请求 } else { //分发转向 //request.getRequestDispatcher("/fail.jsp").forward(request,response); //response.sendRedirect(request.getContextPath()+"/fail.jsp"); request.setAttribute("msg", "用户名密码不正确"); request.getRequestDispatcher("/login.jsp").forward(request,response); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }