首先,利用jsp技术写出登陆页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<form action="/CookieProject/login" method="post">
<table>
<tr>
<td><lable for="username_1">用户名</lable></td>
<td><input type="text" name="username" id="username_1"></td>
</tr>
<tr>
<td><lable for="passwoed_1">密码</lable></td>
<td><input type="password" name="password" id="password_1"></td>
</tr>
<tr>
<td><input type="submit" value="提交"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
然后利用Servlet编写出登陆之后服务端所做的工作
1.获得用户的用户名和密码
2.xml存放有用户名和密码 利用dom4j解析
3.判断用户名和密码是否正确
4.如果正确,服务器保存session
5.如果错误,重新登录
package myTest;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class LoginServlet extends HttpServlet {
//登陆用户
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setHeader("refresh", "5;url=/CookieProject/login.jsp");
//1.获得用户的用户名和密码
String username=request.getParameter("username");
String password=request.getParameter("password");
//2.xml存放有用户名和密码 利用dom4j解析
String filePath=getServletContext().getRealPath("/WEB-INF/UserInfo.xml");
SAXReader reader=new SAXReader();
try {
Document document=reader.read(new File(filePath));
Element root=document.getRootElement();
List<Element>users=root.elements("user");
//3.判断用户名和密码是否正确
for (Element user : users) {
String username_1=user.elementText("username");
String password_1=user.elementText("password");
//4.如果正确,服务器保存session
if(username_1.equals(username)&&password_1.equals(password)){
HttpSession session=request.getSession();
session.setAttribute("username", username);
response.sendRedirect("/CookieProject/welcome.jsp");
return;
}
}
//5.如果错误,重新登录
response.getWriter().println("用户名密码错误,5秒后重新跳回登陆界面");
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
然后还需要有储存用户数据的xml文档
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<username>张三</username>
<password>123</password>
</user>
<user>
<username>李四</username>
<password>234</password>
</user>
<user>
<username>王五</username>
<password>345</password>
</user>
<user>
<username>赵六</username>
<password>456</password>
</user>
<user>
<username>狗剩</username>
<password>567</password>
</user>
</users>
简单编写登陆成功的欢迎页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎您的登陆,<%=session.getAttribute("username") %></h1>
</body>
</html>
即可制作完成