利用session技术实现 用户登陆 功能

来源:互联网 发布:淘宝假货图片 编辑:程序博客网 时间:2024/04/29 00:05

首先利用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.如果正确,服务器保存sessionif(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 blocke.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>


即可制作完成

0 0
原创粉丝点击