今天下午老师讲了用Servlet做登陆,以前一遍都没听老师讲过,只是自己看看书看看幻灯片,感觉一头雾水,老师讲了以后好像比以前好多了。
用JBuilder新建一个Project,名为ServletPro,然后建一个Web Module名为MyWeb。
在建一个jsp,是用来做登陆的显示页面的,名为login
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
login
</title>
</head>
<body bgcolor="#ffffd8">
<h1>
JBuilder Generated JSP
</h1>
<form action="loginServlet" method="POST">
username:<input type="text" name="username"/><br/>
password:<input type="password" name="password"/><br/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
再新建一个standard Servlet,名为loginServlet,实现doPost()方法,URL pattern把s改为S,
doPost()调用doGet()
package serveletpro;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class loginServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
String username=request.getParameter("username") ;
String password=request.getParameter("password") ;
//如果username的值是admin并且password的值是admin(在这写的是固定的username和password)
if(username.equals("admin")&&password.equals("admin")){
//如果username和password正确跳转到success页面
response.sendRedirect("success.jsp") ;
}else
//如果错误返回原页面
response.sendRedirect("login.jsp") ;
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}
最后再建一个jsp页面,名为success.jsp,作为登陆成功转到的页面
<%@ page contentType="text/html; charset=GBK" %> </body>
</html>