使用MVC设计模式 此登录模块至少分为以下5个文件: 1.login.jsp:输入用户信息页面; 2.check.mgc(Servlet):用户合法性验证页面; 3.pass.jsp:登录成功欢迎页面; 4.failure.jsp:登录失败提示页面; 5.Member(JavaBean):VO对象类。
结构图如下: -----------------------------------------------------------------------
-------------> login.jsp | | | |输入用户名、密码 | V | check.mgc<------------->Member | | | |验证用户名、密码 | ---------------------- | | N Y | | V V -----failure.jsp pass.jsp -----------------------------------------------------------------------
Member:
程序代码
package mgc.bean.mvc.login;
public class Member {
private String username; private String password; public void setUsername(String username) { this.username=username; } public void setPassword(String password) { this.password=password; } public String getUsername() { return this.username; } public String getPassword() { return this.password; } //验证用户是否合法 public boolean isUser() { boolean isuser=false; if("magci".equals(this.username) && "123456".equals(this.password)) { //如果用户名为magci,密码为123456,则用户合法 isuser=true; } return isuser; } }
login.jsp:
程序代码
<%@page contentType="text/html;charset=GB2312" %> <html> <head> <title>登录</title> </head> <body> <center> <h1>登录页面</h1> <hr> <form action="check.mgc" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username" /></td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="password" /></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="登录" /> <input type="reset" value="重置" /> </td> </tr> </table> </form> </center> </body> </html>
check.java:
程序代码
package mgc.servlet.mvc.login;
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import mgc.bean.mvc.login.*;
public class Check extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { this.doPost(request,response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { Member mem=new Member(); //将提交的用户名、密码参数设置到Member对象中 mem.setUsername(request.getParameter("username")); mem.setPassword(request.getParameter("password")); //调用方法验证用户是否合法 if(mem.isUser()) { //合法用户,跳转到欢迎页面 request.getRequestDispatcher("pass.jsp").forward(request, response); } else { //非法用户,跳转到登录失败页面 request.getRequestDispatcher("failure.jsp").forward(request, response); } } }
web.xml:
程序代码
<servlet> <servlet-name>Check</servlet-name> <servlet-class>mgc.servlet.mvc.login.Check</servlet-class> </servlet>
<servlet-mapping> <servlet-name>Check</servlet-name> <url-pattern>/login/mvcbase/check.mgc</url-pattern> </servlet-mapping>
pass.jsp:
程序代码
<%@page contentType="text/html;charset=GB2312" %> <center> <h1>登录成功!!</h1> <hr> <h3>欢迎<font size="12" color="red"> <%--服务器端跳转,跳转后仍在check.mgc页面,可以继续使用usename参数 --%> <%=request.getParameter("username") %> </font>光临!</h3> </center>
failure.jsp:
程序代码
<%@page contentType="text/html;charset=GB2312" %> <div align="center"> <h1>登录失败!!</h1> <hr> <a href="login.jsp">重新登录</a> </div>