简介

  用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等。如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问。

新建web项目

  首先,在MyEclipse里新建java web项目,项目名为login。此时,项目中包含一个src文件夹和一个WebRoot文件夹,以及Java Web自带的JRE库文件夹和J2EE库文件夹。其中,在WebRoot文件夹下,包含了WEB-INF文件夹和一个index.jsp页面文件。
  接下来,新建一个JSP页面,命名为login.jsp。
  项目文件的结构如下:
IT料理

设计login.jsp页面

  打开login.jsp页面后,修改第一行的代码为pageEncoding="utf-8",防止页面中文出现乱码。接下来在body部分定义form表单,用于用户输入用户名和密码。页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>
    <base href="<%=basePath%>">
    <title>登陆页面</title>   
  </head>

  <body>
    <form action="login" method="post">
    用户名:<input name="username" type="text" /><br/>
    密码:<input name="password" type="password" /><br/>
    <input type="submit" value="提交" />
    </form>
  </body>
</html>  

新建servlet文件

  接下来,在MyEclipse中新建一个loginServlet.java,并定义在包文件夹a下(包名自己决定)。文件夹目录如下:
IT料理
  双击,打开loginServlet.java文件,在doPost方法内,通过request.getParameter()方法获取login页面的username和password,并通过response.sendRedirect()方法跳转到index.jsp页面。页面代码如下:

package a;  
import java.io.IOException;  
import javax.servlet.ServletConfig;  
import javax.servlet.ServletException;  
import javax.servlet.ServletRequest;  
import javax.servlet.ServletResponse;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;

public class loginServlet implements javax.servlet.Servlet{  
    public void doPost(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException{
    String userName = request.getParameter("username");//取得用户名
    String password = request.getParameter("password");//取得密码
    response.sendRedirect("index.jsp");
    }

    public void destroy() { 
    }

    public ServletConfig getServletConfig() {
        return null;
    }

    public String getServletInfo() {
        return null;
    }

    public void init(ServletConfig arg0) throws ServletException {      
    }

    public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {
        HttpServletRequest rq = (HttpServletRequest)request;
        HttpServletResponse rs = (HttpServletResponse) response;
        doPost(rq,rs);

    }
}

配置servlet

  打开WEB-INF文件夹下的web.xml文件,通过设置这个网站的首页为login.jsp。接下来配置servlet。页面代码如下:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"  
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
<servlet-name>LoginServlet</servlet-name>  
<servlet-class>a.loginServlet</servlet-class>  
</servlet>  
    <servlet-mapping>
<servlet-name>LoginServlet</servlet-name>  
<url-pattern>/login</url-pattern>  
</servlet-mapping>  
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
</web-app>  

测试页面

  最后看看运行效果,选择运行,选择某个版本的tomcat启动。页面效果如下:
IT料理
IT料理