HttpSession 第二例|学习笔记

简介: 快速学习 HttpSession 第二例

开发者学堂课程【JSP 快速入门HttpSession 第二例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/33/detail/713


HttpSession 第二例


内容介绍:

一. 分析保存用户登录信息的方法

二. 代码创建

  

一.分析保存用户登录信息的方法

(1)创建登录表单 login.jsp

登陆表单包括用户名和密码,表单绝大部分指向 LoginServlet 。 LoginServlet 用来获取表单数据并且校验用户名和密码是否正确,且错误时可以显示错误信息,正确时,保存用户信息到 session 中,重定向到 succ1.jsp ;若错误,保存错误信息到 request 域,转发回到 login.jsp 。判断用户名与密码是否正确可自己设定。

 

(2)成功页面1 succ1.jsp (登录后的用户可以访问)

从session中获取用户信息,如果存在,说明已经登录显示用户名;如果不存在,向 request 域保存错误信息,转发到login.jsp 。

 

(3)成功页面2 succ2.jsp (登录后的用户可以访问)

与 succ1.jsp 一样。从session中获取用户信息,如果存在,说明已经登录显示用户名;如果不存在,向 request 域保存错误信息,转发到login.jsp 。

 

二.代码创建

(1)创立 session 2文件夹

(2)在 session2 中依次创立 login.jsp , succ1.jsp , succ2.jsp 及 LoginServlet 。

(3)login.jsp 提供登录表单并显示错误信息

代码为:

登录

<%

String uname = ””;

Cookie[] cs = request.getCookie();

if(cs != null){

for(Cookie c :cs){

if(”uname”.eqals(c.getName())){

uname = c.getValue();

}

}

}

String message = ””;

String msg = (Sring)request.getAttribute(”msg”);

if(msg !=null){

message = msg;

}

%>

<%=message %><>

action=”/day11-3/LoginServlet”method=”post”>

用户名:”/>

密码:

(4)LoginServlet 获取表单数据,校验用户名和密码是否正确并将用户名保存到cookie 中,发送给客户端浏览器

LoginServlet 设定为 doPost() ,前缀及无用注释删掉。获取表单数据包括处理中文数据和获取。校验时,若正确,保存用户信息到 session 中并重新定向到 succ1.jsp ;若失败,保存错误信息到 request 域中并转发至 login.jsp 。

代码为:

request.setCharacterEncoding(”utf-8”);

String username = request.getParameter(”username”);

String password = request.getParameter(”password”);

if(!”itcast”.equalsIgnoreCase(username))

Cookie cookie = new Cookie(”uname”,username);

cookie.setMaxAge(60*60*24);

response.addCookie(cookie);

HttpSession Session = request.getSession();

sesseion.setAttribute(”username”,username);

response.sendRedirect(”/day11-3/session2/succ1.jsp”)

else{

request.setAttribute(”msg”,”用户名或密码错误!”);

RequestDispatcher qr = request.getRequestDispatcher(”/session2/login.jsp”);

qr.forward(request,response);

}

(4)succ1.jsp

代码为:

<%

String username =(String)session.getAttribute(”username”);

if(username==null){

request.setAttribute(”msg”,”您还没有登录,不要冒充领导!”);

requestgetRequestDispatcher(”/session2/login.jsp”).forward(request,response);

return;

}

%>

欢迎欢迎,热烈欢迎,欢迎<%=username%>领导指导工作!

(5)succ2.jsp(同succ1.jsp)

相关文章
|
6月前
|
存储 Java 数据安全/隐私保护
HttpSession详解
HttpSession详解
|
6月前
|
存储 缓存 Java
Java开发HttpSession详解
Java开发HttpSession详解
|
监控 安全 Java
HttpSession 的 invalidate() 方法介绍
HttpSession 的 invalidate() 方法介绍
448 0
HttpSession 的 invalidate() 方法介绍
|
XML 数据格式 容器
HttpServletRequest:Get Session
接口HttpServletRequest继承自ServletRequest。
228 0
|
存储 安全
HttpSession对象总结
HttpSession与Cookie的区别:HttpSession的使用建议
|
存储 应用服务中间件 容器
HttpSession对象的特点和使用
HttpSession对象的特点和使用
|
存储 数据安全/隐私保护
HttpServletRequest:增删改查cookie
HttpServletRequest:增删改查cooki
750 0
HttpServletRequest:增删改查cookie
|
Java 开发者
HttpSession 第一例|学习笔记
快速学习 HttpSession 第一例
123 0
|
缓存 Java 开发者
HttpSession 原理|学习笔记
快速学习 HttpSession 原理
173 0
|
缓存 Java 开发者
HttpSession 入门|学习笔记
快速学习 HttpSession 入门
109 0