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技术:客户端技术

使用cookie

首先第一次买东西A,到服务器得到A,A通过Cookie返回到浏览器内存中,

第二次买B,携带内存中的A一起发送,到服务器端,得到A,B,通过Cookie返回到浏览器的内存中

结算的时候,把内存中的两个值一起发送给服务器,然后进行结算

session技术:服务器端的技术

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是服务器端技术

session也是一个域对象

范围:会话里面

存值:setAttribute

取值:getAttribute

一个浏览器独占一个session对象

10、session创建和销毁

session创建,执行request方法getSession创建

session销毁有三种方式

第一种方式:非正常关闭服务器

第二种方式: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,直接不让登录

时间: 2024-11-13 10:42:06

JavaWeb系列之八(Cookie&Session)的相关文章

JavaWeb——会话技术Cookie &amp; Session

会话技术 因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话技术是帮助服务器记住客户端状态(区分不同的客户端) 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端的状态与数据的.会话技术分为Cookie和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端 可以清除cookie Session:将数据存储到服务器端,安

JavaWeb系列之八(Cookie&amp;amp;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 %>:表示的一个是成

JavaWeb系列之八(Servlet的学习)

 1.Servlet的快速入门 什么是servlet? servlet就是java程序,可以接受和响应来自客户端的请求. 实现servlet:(1)实现Servlet接口(2)继承GenericServlet类(3)继承HttpServlet类 如果实现Servlet接口,需要把接口里面的方法都实现,使用继承类,就不用. 例子:向页面输出内容hello servlet (1)开发步骤 继承GenericServlet类实现servlet 向页面 配置web.xml <servlet-name

javaWeb基础知识----Cookie,Session

?HTTP协议是一种无状态的协议,WEB服务器本身不能识别出哪些请求是同一个浏览器发出的,浏览器的每一次请求都是完全孤立的 ?即使 HTTP1.1支持持续连接,但当用户有一段时间没有提交请求,连接也会关闭. ?怎么才能实现网上商店中的购物车呢:某个用户从网站的登录页面登入后,再进入购物页面购物时,负责处理购物请求的服务器程序必须知道处理上一次请求的程序所得到的用户信息. ?作为 web 服务器,必须能够采用一种机制来唯一地标识一个用户,同时记录该用户的状态 1.会话和会话状态 ?WEB应用中的会

超全面的JavaWeb笔记day11&lt;JSP&amp;Session&amp;Cookie&amp;HttpSession&gt;

1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的组成 JSP = html + Java脚本(代码片段) + JSP动态标签 2 JSP语法 2.1 JSP脚本 JSP脚本就是Java代码片段,它分为三种: l <%...%>:Java语句: l <%=-%>

JavaWeb之Cookie&amp;Session

Cookie Http请求是无状态的,为了保证在同一网站能够识别登录的用户,引入了Cookie这个概念,cookie是浏览器保存在用户电脑上的一小段文本,用来保存用户在网站上的必要的信息.Web页面或服务器告诉浏览器按照一定的规范存储这些信息,并且在以后的所有请求中,这些信息就会自动加在http请求头中发送给服务器,服务器根据这些信息判断不同的用户.并且cookie本身是安全的 常用方法 response.addCookie() 向响应头添加cookiecookie.setMaxAge() 设置

Python+Django+SAE系列教程16-----cookie&amp;session

本章我们来讲解cookie和session ,这两个东西相信大家一定不陌生,概念就不多讲了,我们直接来看其用法,首先是cookie,我们在view中添加三个视图,一个是显示cookie的,一个是设置cookie的,如下: def show_cookie(request): if "MyTestCookie" in request.COOKIES: return HttpResponse("Cookie[MyTestCookie]的内容是: %s" % request

cookie,Session机制的本质,跨应用程序的session共享

目录:一.术语session二.HTTP协议与状态保持三.理解cookie机制四.理解session机制五.理解javax.servlet.http.HttpSession六.HttpSession常见问题七.跨应用程序的session共享八.总结 一.术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的.session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动

JavaWeb系列-JSP基础语法

JSP注释(页面中,右键->查看源代码是否可见) 1.客户端可见的显式注释 <!-- 注释内容 --> 2.客户端不可见的隐式注释 单行注释    //注释内容 多行注释    /*注释内容*/ JSP注释     <%-- 注释内容 --%> 显式内容会发送到客户端,而隐式内容不发送到客户端 Scriptlet 所有在嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来. <%%> 可在标记中定义局部变量.编写语句 <%!%> 可在