要求:实现一个简单的用户登验证程序.如果用户名和密码都正确,显示欢迎信息. 否则显示“登录失败”
分析:采用jsp页面完成提交信息和验证结果的显示,而验证过程由Servlet来完成,由于没涉及到数据库技术,所以用户名和密码都是事先确定好的,这些组件通过request对象实现对象共享.
设计:
1.登录表单页面 login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head><title>登录页面</title></head>
<body>
<form action="loginCheck" method="post">
请输入用户名:<input type="text" name="username"/><br/>
请输入密码:<input type="password" name="userpassword"/><br/>
<input type="submit" name="登录">
</form>
</body>
</html>
2.处理验证过程的Servlet LoginCheckServlet.java
package my;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginCheckServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String userName=request.getParameter("username");
String userPassword=request.getParameter("userpassword");
String info="";
if(("wcz".equals(userName))&& "1234".equals(userPassword))
{
info="欢迎你"+userName+"!";
request.setAttribute("info1", info);
request.getRequestDispatcher("/success.jsp").forward(request, response);
}else{
request.getRequestDispatcher("/fail.jsp").forward(request, response);
}
}
public void init() throws ServletException {
// Put your code here
}
}
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">3.登录成功的页面 </span><span style="font-family: Calibri; background-color: rgb(255, 255, 255);">success.jsp</span>
<span style="font-family: Calibri; background-color: rgb(255, 255, 255);">
</span>
<span style="font-family: Calibri; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head><title>登录成功页面</title></head>
<body>
<p align="center">登录成功<%=request.getAttribute("info1") %>
</p>
</body>
</html>
4.登录失败的页面 faile.jsp
<span style="font-family: Calibri; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head><title>登录失败页面</title></head>
<body>
<p align="center">登录失败.<a href= "login.jsp">请重新登录</a>
</p>
</body>
</html>
5.web.xml文件的配置
<servlet-mapping>
<servlet-name>LoginCheckServlet</servlet-name>
<url-pattern>/loginCheck</url-pattern> 此处要换成<span style="font-family: Calibri;">/loginCheck 与login.jsp中相对应.</span>
</servlet-mapping>
下面是对部分结果的截图: