JavaWeb系列之八(Cookie&Session)
1.jsp的入门
jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令
使用servlet向页面输出内容,须要使用字节流或者字符流向页面输出
jsp:java server pages。java服务器端的页面
运行过程:放到tomcat work文件夹,在訪问的时候,会编译成servlet。
嵌入java代码的三种方式
第一种: <%!
int num=10 %>:表示的一个是成员变量(非常少用)
另外一种:<%= %>:页面输出内容,它会给我们生成到service里面,向页面输出内容;不能加分号
第三种:<% %>:也是在service里面载入
样例:五行五列
<table border="1" bordercolor="blue">
<%
for (int i = 1; i <= 5; i++) {
%>
<tr>
<%
for (int j = 1; j <= 5; j++) {
%>
<td>aaa</td>
<%
}
%>
</tr>
<%
}
%>
</table>
2.el的入门
el的表达式:获取域对象的值
假设多个域对象名称是同样的。使用el表达式获取范围小的,
${requestScope.msg} :得到request域的对象
${application.masg}:得到ServletContext的值
假设没有这个值得到的是null
3.会话管理
打开浏览器。到关闭浏览器
购物信息的存储。
requset域对象的特点:范围一次请求
sevletContext域
用会话来存储购物的技术
cookie技术:client技术
使用cookie
首先第一次买东西A。到server得到A,A通过Cookie返回到浏览器内存中,
第二次买B,携带内存中的A一起发送,到server端,得到A。B,通过Cookie返回到浏览器的内存中
结算的时候,把内存中的两个值一起发送给server,然后进行结算
session技术:server端的技术
4。案例一:实现用户上一次的訪问时间
方法:
得到cookie
Cookie[] getCookies()
//得到全部cookie
Cookie[] cookies = request.getCookies();
通过cookie把值返回到浏览器的内存中(回写)
addCookie(Cookie cookie)
使用Cookie的构造
Cookie(java.lang.String name, java.lang.String value)
name:cookie的名称
value:cookie值
5.cookie的api的使用
getName():得到cookie名称
getValue():得到cookie的值
setMaxAge(int expiry):设置cookie的有效时长
有两种会话方式:
第一种会话级别:特点是浏览器关闭了,cookie销毁。在默认的情况下会话级别
另外一种持久性cookie:在一定范围内容cookie会一直有效
设置有效时长:使用setMaxAge方法设置 setMaxAge(int expiry)參数:秒
设置有效路径:使用setPath(java.lang.String uri)
技巧 setPath("/");
setPath(uri)
销毁持久的cookie,到时间销毁,setMaxAge(0);
setDomain("www.sina.com");
和这个域名同样会携带域名信息
技巧:setDomian(".sina.com");
6.cookie的细节问题
一个Cookie仅仅能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
一个WEB网站能够给一个WEB浏览器发送多个Cookie,一个WEB浏览器也能够存储多个WEB网站提供的Cookie。
浏览器一般仅仅同意存放300个Cookie,每一个网站最多存放20个Cookie,每一个Cookie的限制大小为4KB。
假设创建了一个cookie。默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中)。
用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则须要使用maxAge和有效路径,
并给出一个以秒为单位的时间。
删除持久cookie。能够将cookie最大时效设为0,注意。删除cookie时。path必须一致,否则不会删除
8.session的简单介绍
session是server端技术
session也是一个域对象
范围:会话里面
存值:setAttribute
取值:getAttribute
一个浏览器独占一个session对象
10、session创建和销毁
session创建,运行request方法getSession创建
session销毁有三种方式
第一种方式:非正常关闭server
另外一种方式:session有一个默认的过期时间 30分钟
<session-config>
<session-timeout>30</session-timeout>
</session-config>
第三种:调用session经行销毁
清空购物车的功能
代码
//得到session
HttpSession session = request.getSession();
//销毁session
session.invalidate();
12、禁用cookie之后session的使用
session技术也是基于cookie,
回写浏览器一把钥匙 jsessionid=qwwe233445
禁用cookie之后使用session
在地址后面;jsessionid=sessionid的值
response. encodeRedirectURL(java.lang.String url)
用于对sendRedirect方法后的url地址进行重写。
response. encodeURL(java.lang.String url)
用于对表单action和超链接的url地址进行重写
* 在一般站点中。假设禁用了cookie,直接不让登录
JavaWeb系列之八(Cookie&Session)的更多相关文章
- Django-website 程序案例系列-10 cookie 和 session的应用
cookie: 现在所有网站基本都要开启cookie 客户端浏览器上的一个文件 例如: {‘key’: 'sefwefqefwefw'} 是一个键值对 简单实现cookie认证: user_in ...
- Django学习系列之Cookie、Session
Cookie和Session介绍 cookie 保存在客户端 session 保存在服务端 session依赖于cookie,比如服务端想往客户端写东西的时候就把cookie写到客户端浏览器 djan ...
- JavaWeb -- 会话, Cookie 和 Session
1. 会话 •Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是 ...
- JavaWeb(二)cookie与session的应用
前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...
- 为什么你学不会递归?告别递归,谈谈我的一些经验 关于集合中一些常考的知识点总结 .net辗转java系列(一)视野 彻底理解cookie,session,token
为什么你学不会递归?告别递归,谈谈我的一些经验 可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- JavaWeb之Cookie和Session的区别
Cookie和Session的区别 一.cookie机制和session机制的区别 ********************************************************** ...
- JavaWeb(二)会话管理之细说cookie与session
前言 前面花了几篇博客介绍了Servlet,讲的非常的详细.这一篇给大家介绍一下cookie和session. 一.会话概述 1.1.什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接, ...
- java基础学习:JavaWeb之Cookie和Session
一.会话概述 1.1.什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话其中不管浏览器发送多少请求,都视为一次会话,直到 ...
随机推荐
- CentOS 无法通过 yum 安装新版 nodejs 解决办法(安装的还是老版的)
官网安装说明:CentOS 安装 nodejs 第一步: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo b ...
- elasticsearch分别在windows和linux系统安装
WINDOWS系统安装1.安装JDKElastic Search要求使用较高版本JDK,本文使用D:\DevTools\jdk1.8.0_131,并配置环境变量 2.安装Elastic Search官 ...
- 解决centos7下tomcat启动正常,无法访问项目的问题
centos7防火墙不再采用iptables命令,改用firewalld 禁用防火墙命令: # systemctl stop firewalld.service # systemctl disable ...
- 013_Mac OS X下应该如何卸载软件和安装应用软件
一.Mac OS X下应该如何卸载软件 Mac OS X的软件安装方式有很多种,而软件卸载的情况也很不同.在Mac OS X拆除软件往往不是把软件拉到废止篓里那么简单.通常情况下要具体问题具体分析.无 ...
- env-update干了些什么
http://www.linuxsir.org/bbs/thread339077-2.html乐哥的话-关于env-update http://www.gentoo.org/doc/zh_cn/han ...
- 推荐一些socket工具,TCP、UDP调试、抓包工具 (转载)
还记得我在很久很久以前和大家推荐的Fiddler和Charles debugger么?他们都是HTTP的神器级调试工具,非常非常的好用.好工具能让你事半功倍,基本上,我是属于彻头彻尾的工具控. 假如有 ...
- Windows 安装 Go语言开发环境以及使用
下载安装包 下载地址:http://www.golangtc.com/download 32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows- ...
- 移动端调试利器之vconsole
说明 由于移动端项目在手机中调试时不能使用chrome的控制台,而vconsole是对pc端console的改写 使用方法 使用 npm 安装: npm install vconsole 使用webp ...
- java 捕获所有异常
1.) 通过捕获异常类型的基类Exception就可以处理所有类型的异常.(事实上还有其它的基类,但Exception是同编程活动相关的基类) 2.)因为Exception是与编程有关的所有异常类的基 ...
- SCU 4438:Censor
Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text p . Her j ...