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)

相关文章
|
存储 JSON NoSQL
FreeSWITCH呼叫中心中间件-通话质检接口
原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。
586 72
|
3月前
|
机器学习/深度学习 边缘计算 算法
基于模型预测控制(MPC)的微电网调度优化的研究(Matlab代码实现)
基于模型预测控制(MPC)的微电网调度优化的研究(Matlab代码实现)
277 3
|
机器学习/深度学习 自然语言处理 数据处理
深度学习之语音情感识别与响应
基于深度学习的语音情感识别(Speech Emotion Recognition,SER)与响应系统在语音交互、客服、心理健康等领域有着重要应用。该系统的目标是识别出说话者的情感状态(如愤怒、喜悦、悲伤等)并生成合适的情感响应,从而提升用户体验和交互效果。
897 2
|
7月前
|
算法 搜索推荐 vr&ar
试衣间OUT!增强现实让购物更丝滑
试衣间OUT!增强现实让购物更丝滑
256 14
|
3月前
|
存储 JSON 数据挖掘
京东商品评论接口技术实现:从接口分析到数据挖掘全方案
本文详解京东商品评论接口技术实现,涵盖参数构造、反爬应对、数据解析与分析等核心问题,提供合规高效的数据采集方案,并严格遵循平台规则与数据规范,适用于市场分析与产品优化。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
不是矫情,是“抑郁”——人工智能如何看懂你没说出口的情绪
不是矫情,是“抑郁”——人工智能如何看懂你没说出口的情绪
121 0
|
7月前
|
机器学习/深度学习 数据采集 算法
matlab实现图像边缘检测及图像区域分割、目标检测、目标识别
matlab实现图像边缘检测及图像区域分割、目标检测、目标识别
|
8月前
|
安全 算法 中间件
OASA 厂商三未信安完成与 Anolis OS 及其衍生版适配,密码卡性能与稳定性获验证
验证了 Anolis OS 能够满足用户对于数据保护和隐私安全的高标准要求,可以为广大用户提供更可靠的数据保护。
|
机器学习/深度学习 监控 算法
目标检测算法的优缺点及适用场景
目标检测算法的优缺点及适用场景
980 0
|
9月前
|
运维 安全 关系型数据库
Websoft9 运维面板,全网真正的一键部署应用
Websoft9运维面板实现应用真·一键部署,通过智能环境适配、安全架构与容器化技术,将传统数小时部署缩短至分钟级,显著提升效率与安全性。
257 5