简介
用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等。如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问。
新建web项目
首先,在MyEclipse里新建java web项目,项目名为login。此时,项目中包含一个src文件夹和一个WebRoot文件夹,以及Java Web自带的JRE库文件夹和J2EE库文件夹。其中,在WebRoot文件夹下,包含了WEB-INF文件夹和一个index.jsp页面文件。
接下来,新建一个JSP页面,命名为login.jsp。
项目文件的结构如下:
设计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下(包名自己决定)。文件夹目录如下:
双击,打开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文件,通过
<?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启动。页面效果如下: