Session实现用户登录(九)
来源:互联网 发布:飞飞cms官网 编辑:程序博客网 时间:2024/06/13 03:13
(一)创建登录页面
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="/Project01/LoginServlet" method="post"> 用户名:<input name="username" type="text"><br/><br/> 密 码:<input name="password" type="password"><br/><br/> <input type="submit" value="提交"></form></body></html>
(二)使用HttpServletRequest对象处理登陆数据
package com.Test;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//此类处理login.html表单提交public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); String username=request.getParameter("username"); String password=request.getParameter("password"); PrintWriter out=response.getWriter(); //1.把账号、密码分别设置为root、123 if(username.equals("root")&&password.equals("123")){ //2.创建User对象保存账号、密码 User user=new User(); user.setUsername(username); user.setPassword(password); //3.创建Session对象保存User对象 request.getSession().setAttribute("user", user); //4.登陆成功跳转指定页面 response.sendRedirect("/Project01/IndexServlet"); } else{ out.println("账号或密码错误,请从新输入...."); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
(三)验证登录成功跳转到IndexServlet类
package com.Test;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;//1.创建IndexServlet显示网站的首界面 public class IndexServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //2.response解决乱码问题 response.setContentType("text/html;charset=utf-8"); //3.创建Session对象保存用户信息 HttpSession session=request.getSession(); //4.方法体中的参数要与setAttribute()键一致 User user=(User) session.getAttribute("user"); if(user==null){ response.getWriter().print("您还未登陆,请<a href='/Project01/login.html'>登陆</a>"); }else{ response.getWriter().print("您已登陆,欢迎您 "+user.getUsername()); response.getWriter().print("<a href='/Project01/LogoutServlet'>退出</a>"); //5.创建Cookie对象用来保存Session的id Cookie cookie=new Cookie("JSESSIONID",session.getId()); cookie.setMaxAge(30*60); cookie.setPath("/Project01"); response.addCookie(cookie); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
(四)LogoutServlet 类用于完成用户注销
package com.Test;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//此类用于处理用户注销public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.Session对象删除保存User对象 request.getSession().removeAttribute("user"); response.sendRedirect("/Project01/IndexServlet"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
(五)配置各个Servlet类
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Project01</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>IndexServlet</display-name> <servlet-name>IndexServlet</servlet-name> <servlet-class>com.Test.IndexServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>IndexServlet</servlet-name> <url-pattern>/IndexServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>LoginServlet</display-name> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.Test.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>LogoutServlet</display-name> <servlet-name>LogoutServlet</servlet-name> <servlet-class>com.Test.LogoutServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LogoutServlet</servlet-name> <url-pattern>/LogoutServlet</url-pattern> </servlet-mapping></web-app>
结果演示:
阅读全文
1 0
- Session实现用户登录(九)
- 利用session实现用户登录
- 关于用户登录session
- Session案例 用户登录
- 获取登录用户Session
- PHP+MYSQL+MYSQL+SESSION实现用户登录的实例
- 网站防止非法用户登录的session方式实现
- 使用cookie,session,filter等技术实现用户自动登录
- ThinkPHP中利用SESSION实现用户登录验证的方法
- java web session+cookie实现用户自动登录
- 使用session来实现用户分布式登录的细节
- cookie,session,实现服务器记忆用户登录状态功能
- django用户登录,是否记住用户登录状态的session实现
- 使用Session验证用户登录
- 利用session完成用户登录
- session过滤单个用户登录
- 用Session完成用户登录
- Session 用户存储登录信息
- php 命令行下运行php脚本传递参数方法
- 1069. 微博转发抽奖(20)
- ssm框架面试题1
- jdk
- 网络连接判断
- Session实现用户登录(九)
- 谷歌翻译接口使用(android为例)
- 分页加载中由已加载的条目数判断下一页页码
- Linux中的Make工具
- ionic 图片无线轮播
- 2670 3-1 Point类的构造函数
- DOM2级点击事件的事件流的阻止
- 递归与动态规划关系
- jsp 定义 背景图片并控制图片的大小