云日记_登出操作个人中心页面js和jsp知识点补充
用户退出
前端:
设置超链接的请求地址 user?actionName=logout
后台:
1. 销毁Session对象
2. 删除Cookie对象
3. 重定向跳转到登录页面
private void userLogOut(HttpServletRequest request, HttpServletResponse response) throws IOException {// 1. 销毁Session对象request.getSession().invalidate();// 2. 删除Cookie对象Cookie cookie = new Cookie("user", null);cookie.setMaxAge(0); // 设置0,表示删除cookieresponse.addCookie(cookie);// 3. 重定向跳转到登录页面response.sendRedirect("login.jsp");}
代码实现如上图
删除session一句代码 获得session并删除 用getsession
删除cookie 没有特定的方法 把新new的cookie过期时间变为0
===========================================
云日记-个人中心—页面嵌套静态页面-逻辑(自我总结):
登录
进入默认的主页
进入个人中心 页面右下角变了
逻辑分析:
index.jsp页面 :
index还包含 changePage 要传右下角的动态页面
changePage是在
menu page 是 user
actionname=usercenter
判断actionName=userCenter 则进入userCenter的方法里(是userServlet文件里) 如下图 第一行 设置了changePage为user/info.jsp 第二行 再把请求转发到index里
而 index里面有动态页面判断 changePage的值是user/info.jsp
user/info.jsp如图
从而得到满意的页面
知识点补充:
request.getAttribute("nameOfObj"); 可得到jsp页面表单中输入框内的value。(其实表单控件中的Object的name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value)
request.setAttribute(position,nameOfObj);属于页面之间的传值,从a.jsp到b.jsp一次传递,之后这个request就会失去他的作用范围,再传就要重新设一个request.setAttribute()。(使用session.setAttribute()会在一个过程中始终保持这个值)
注:javascript与jsp中不能相互传值,因为javascript运行在客户端,jsp运行在服务器端。若想使他们能够相互传参数,可以在jsp页面中设置一个hidden属性的控件,用它的value来传递所需的数值。
补充:
1、把js直接写在了JSP页面,所以能获取到。如果单独把JS抽离出来是不可能获取到的。前者服务端解析能或许到,后者客户端解析获取不到。
2、js里是在客户端执行的,不能直接获取,因为EL表达式是在服务器的时候被解析的,所以可以获取到。一个是客户端的东西,一个是服务器端的东西。
3、jsp能取到,那是因为他本身就是servlet。js不可能有方法直接获取到HttpServletRequest里面的属性值。
4、setAttribute是服务器行为,到了客户端就无效了,也谈不上如何用。除非你在jsp的时候就写到js变量里,或者使用ajax请求你需要的数据。
下面开始进入正题:
java后台通过:
request.setAttribute("msg","成功!!");
在jsp/html页面就可以通过EL表达式获取到request中设置的属性值:
<div>${msg}</div>
js中获取request中的值,就有两种方式:
第一种:
var msg="<%=request.getAttribute("msg")%>";
alert(msg);
第二种:
var msg="${msg}";
alert(msg);
这里不能写在引入的js页面中,上面已经说了,他们解析的方式不同,写在外部的js中识别不了,可以通过在html.jsp页面中设置一个隐藏域,然后获取它的value值。如:
JSP中:
<input type="hidden" value="${student.name}" id="stuName"/>
javascript中:
var stuName=$('stuName').value;
el表达式不起作用 可能是因为 第一行没加 isELIgnored="false"
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。
Content-Type 标头告诉客户端实际返回的内容的内容类型。
======================================================
周末快乐。
云日记_登出操作个人中心页面js和jsp知识点补充相关推荐
- java兼职招聘_英来网招聘:兼职js开发。(补充)
我好像还没写过招聘启示,怎么写呢?js开发瓶颈和压力越来越大了,很多计划不断滞后,所以呢-- 兼职形式进行工作,每周15-20小时,工作内容基本上纯js开发,月薪:1500~2000 RMB. 嗯,再 ...
- CAS 4.1.x 单点登出(退出登录)的原理解析
2019独角兽企业重金招聘Python工程师标准>>> 我们在项目中使用了cas作为单点登录的解决方案,当在集成shiro做统一权限控制的时候,发现单点退出登录有坑,所以啃了一下CA ...
- 源代码解读Cas实现单点登出(single sign out)功能实现原理
关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...
- 源代码解读Cas实现单点登出(single sign out)功能实现原理--转
关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...
- cas sso单点登录 登录过程和登出过程原理说明
CAS大体原理我就不说了,网上一大把,不过具体交互流程没说清楚,所以有这篇文章,如果有错误,请多多指教 登录过程 用户第一次访问一个CAS 服务的客户web 应用时(访问URL :http://192 ...
- ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...
- 网易云信集成视频教程(四):如何快速实现iOS登录登出?
上期我们介绍了如何通过SDK实现自定义消息,第四期视频教程我们将教大家如何快速实现iOS系统下IM登录登出. 第四期 如何快速实现iOS登录登出? 8分钟视频手把手教你接入 文档详解 前期准备 1. ...
- 微信小程序开发——登录登出示例
WeChat小程序交流(QQ群:769977169) 登录操作:在进入某个页面之前,判断用户信息是否存在,如果存在则进入该页面,如果不存在则跳转到登录页面. 登出操作:点击登出按钮,清除用户信息,同时 ...
- spring security logout(spring security登出示例)
** spring security logout(spring security登出示例) ** 在学习实现spring security登出的时候发现了一篇外文,感觉写的挺好,这里斗胆尝试翻译出来 ...
最新文章
- 如何触发AspxGridview的PageIndexChanged 客户端事件
- 上传附件每次都是上传中。_起标题头疼?每次卡在标题上 我都回顾这7种方法 创作灵感就来了...
- STM32F103V IWDG 独立看门狗操作
- util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案
- 恒压板框过滤实验数据处理_高考化学实验中:那些不常见的【特殊仪器】与装置,难得的资料...
- MySQL 之 索引
- 送给520的产品经理
- php mysql英语在线考试系统+论文
- php 支付宝支付回调与查询订单
- 计算机专业建设委员会会议记录,第一次专业建设工作会议纪要
- 【游戏开发指路】Unity学习路线,三万字大纲(面试题大纲 | 知识图谱 | Unity游戏开发工程师)
- 网上哪里打印资料便宜?
- 计算机网络知识点整理(笔试面试)
- 王小云院士真地破解了 MD5 吗
- 基于红外感应的远距离智能跟随小车,自动跟随小车
- 习题七-斐波那契数列
- 一度智信电商:教你几招,轻松利用微信给店铺引流
- 学习一个 Linux 命令:realpath 命令
- media-有声小说工作流详解
- 电机PID控制和闭环控制
热门文章
- PaddleOCR win10部署 C++
- 连表查询join使用方法详解
- 网易2017秋招编程题集合
- 西门子博途v16系统要求_博途V16安装TIA Portal v16
- vue3不在手动引入import {ref} from ‘vue‘ 等 也能照样运行项目
- 【taichi】用最少的修改将太极的pbf2d(基于位置的流体模拟)改为pbf3d
- 布尔教育_燕十八 php,布尔教育_燕十八_HTML视频资源课件
- 提高iTunes更新速度的DNS
- 利用matlab实现h 控制,利用Matlab实现H∞控制
- 用php编写的简单个人主页,如何制作个人主页