cookie session URL重写 与考试

状态管理、Cookie、Session、URL重写

HTTP协议:无状态的连接(每次连接都是新的请求)
1、隐藏字段 <input type=”hidden” name=”session” value=””/> 在响应中进行操作
2、Cookie 保存到客户端
3、Session 保存到服务器
4、用户禁用Cookie:使用URL重写 在URL后加上jsessionid=123;

Cookie原理
1、数据以“键-值”对的形式通过响应保存在客户端
Cookie cookie = new Cookie(“”,””);
response.addCookie(cookie );
过期时间:一个会话结束时
一个浏览器保存Cookie;一个浏览器可以构造多个Cookie
读取Cookie:
1、request.getCookies返回一个数组
2、存储中文 Cookie cookie = new Cookie(“name”,URLEncode.encode(“中文”));
URLDecoder.decode(“value”);

Session原理:
1、每个Session对象有一个唯一的编号,SessionID
2、服务器以Cookie方式保存在Session中
3、在浏览器关闭的时候;因为Session保存在服务器中,当浏览器关闭时,SessionID带不过去
4、session.setMaxInactiveInterval(时间);——发呆时间,到达的最大时间
默认时间为半小时(1800s)web配置中
Session.invalidate();——马上销毁session(相当于没有创建Session)
web配置:<servlet-config>
<time-out>1</time-out> 分钟为单位
</servlet-config>
5、在web.xml
<session-config>
<session-timeout>5</session-timeout> 分钟数
</session-config>
6、浏览器关闭时并不意味着Session对象被删除,保存在服务器(eclipsse服务器)
7、Session持久化管理:存放在其中的对象以序列化的形式存放(保存在文件中)
8、响应:String url = response.encodeURL(“地址”);——派发
9、应当尽量使用维护时间短的域对象

JS考试
1、JAVAScript是只能在浏览器中运行的语言
2、“=”:赋值 “==”:值 “===”:全相等(数据类型,值)
3、Alert、setTimeOut 属于window函数
4、字符串=字符数组
5、Length为属性,size()为方法
6、Test:boolean(true,false) excute():返回匹配的值
7、JS中属性的类选择器:this.className = “和选择器的名字一样”
8、元素节点:createElement() 文本节点:createTextNode() 注释节点:createComment() 属 性节点:createAttribute()
9、浏览器对传统事件的指派方法的支持比现代事件更好,现代事件有兼容性
10、CSS优先级:内联>内嵌>外部样式 !Importtant>id>class>element>伪类>*
11、JS事件:鼠标事件、键盘事件、HTML事件
12、刷新页面:触发load事件和unload事件
13、Window.location.href=””;
14、绑定事件:onclick=”click()”;///but.onclick=click;
15、提交表单 document.forms[0].submit();
16、H1*{color:red} ——只要在h1下面的元素都为红色
17、Display:none visibility:hidden
18、Var temp = null;alert(timeof temp);——Object

作用域对象:在Servlet里可以用一个名字绑定一个对象setAttritute(“name”,name);
ServletContext(应用上下文) ——整个Web应用程序 (String,Object);
httpSession(会话)——接口——一个会话交互过程
ServletRequest(请求)——一次请求过程
每个Servlet都有自己的Servletcontext();
得到全局变量
ServletContext sc = this.getServletContext();
ServletContext sc = this.getServletConfig(),getServletContext();
ServletContext sc = request.getSession().getServletContext();
sc.setAttribute(“text”,”mytext”);——声明全局变量
线程不安全

会话作用域Session:对于同一个客户的多个请求,session会跨这些请求持久存储
HttpSession session = request.getSession();
session.setAttribute(“name”,”mySession”);
HttpSessionListener、HttpSessionActivationListener:需在web.xml中注册

ServletContext/HttpSession/HttpServletRequest
有同样的三种方法:setAttribute,getAttribute,removeAttribute
线程不安全

请求作用域:在请求作用域范围之外就不能进行访问
request.setAttribute(“name”,”name”);
线程安全:作用于一个请求之间(可用派发)

监听器:session/request/application
Servlet被创建的时间:服务器第一个被请求的时候
Web.xml <load-on-starup>-11</load-on-starup> 越小越先创建servlet
Web应用程序的改变事件:增加、删除、修改
监听容器:1.创建类2.实现接口3.注册监听器web.xml
<listener>
<listener-class>映射的路径</listener-class>
</listener>
全局的变量的创建:服务器启动的时候
销毁:服务器关闭的时候
设置全局变量:web.xml
<context-param>
<param-name>name</param-name>
<param-value>root</param-value>
</context-param>
得到全局变量:
ServletContext sc = event.getServletContext();
String name = sc.getInitParameter(“name”);
sc.setAttribute(“myname”,name);

请求文本域:请求被创建的时候

打包文件?压缩文件。。

Servlet过滤器:中间组件,用于拦截源数据和目的数据之间的消息
(过滤二者之间传递的数据)
——可以更改请求的内容,或者重新设置请求头,然后在将请求传递给目标资源,响应也一 样
多个过滤器组成过滤器链;
应用:
认证过滤;
登录和审核过滤;
图像转换过滤;
数据压缩过滤;
加密过滤;
令牌过滤;
资源访问触发事件过滤;
XSLT过滤;
MIME-type过滤;web服务器中

所有的过滤器必须实现javax.servletFilter接口 javax:java扩展包
过滤器需部署在web.xml
<error-page>
<error-code>404</error-code> //错误类型
<location>error.html</location> //跳转到错误页面
</error-page>
<filter>
<filter-name>class名称</filter-name>
<filter-class>class包名</filter-class>
//设置参数
<init-param>
<param-name>code</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>映射的名称filter</filter-name>
<url-pattern>/需要过滤的servlet</url-pattren>
<dispatcher>REQUEST</dispatcher> //默认指对请求过滤
<dispatcher>FORWARD</dispatcher> //需要过滤一遍filter
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher> //对于错误进行过滤
</filter-mapping>
<!-- 为*时,全部都要过滤,甚至html
<url-pattern>/*</url-pattern> -->
容器创建:过滤器开启;
容器关闭或者重载:过滤器关闭;

FilterCofig:得到初始化参数
多个filter:先进的后出
Filter-mapping的位置在前面,则filter在前面,先执行后返回

http://localhost:8080/Session/one.html
URI:统一标识符(后面一部分)
URL:版本号、端口号(所有)
URI是URL中的一部分

过滤器的包装类:httpServletRequest/httpServletResponse

XML:可扩展标记语言
JSP : JAVA server page (java服务器页面)

时间: 2024-10-03 21:33:35

cookie session URL重写 与考试的相关文章

Cookie / Session / URL重写

Cookie //创建一个Cookie对象 Cookie cookie = new Cookie("username","JACK"); //在客户端存储的时间(生命周期)单位是秒 7天 7*24*60*60 //如果这里设置为0 就表示客户端不保存该cookie 即临时cookie //如果设置为-1 就表示客户端关闭之后就删除该cookie 也可以称之为临时cookie cookie.setMaxAge(-1); //设置cookie在客户端存放的路径 如果不设

应用程序状态管理①隐藏表单字段②cookie③session④URL重写

应用程序状态管理:服务器连接时无状态的,每次发送的请求对于服务器都是新的,而不知道两次是否是同一人发送的,为了解决应用程序状态,有4个常用方法:表单隐藏字段:动态生成的才有效cookie:记录在浏览器端,键值对,可见,不安全session:记录在服务器端,也是键值对,服务器维护需要大量资源,可以设定有效时限URL重写:在用户禁用cookie时,发送地址包含有会话ID Cookie是web服务器发送到客户端浏览器的简短文本信息,在第一次访问服务器后就由服务器向客户端浏览器发送,以后再访问同一个站点

关于session的实现:cookie与url重写

本文讨论的语境是java EE servlet. 我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能,但是每种浏览器也都有允许cookie失效的设置. 由于浏览器默认启动cookie功能,而且普通客户一般都不会取消cookie功能.久而久之,我们写代码的时候,也就不会在意session的具体实现,其实这里面还是有很多值得注意的地方,尤其在用户取消cookie功能的情况下. 一 servlet se

javaWeb学习总结(7)-关于session的实现:cookie与url重写

本文讨论的语境是java EE servlet.我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能,但是每种浏览器也都有允许cookie失效的设置.由于浏览器默认启动cookie功能,而且普通客户一般都不会取消cookie功能.久而久之,我们写代码的时候,也就不会在意session的具体实现,其实这里面还是有很多值得注意的地方,尤其在用户取消cookie功能的情况下.一 servlet sessi

数往知来 ASP.NET Cookie Session Url &lt;二十九&gt;

ViewState_Cookie 一.Request的几个成员 -->Request.UrlReferrer():请求的来源,就是客户端上一次请求的url地址,防止盗链 -->Request.UrlHostAddress;获取浏览器端的IP地址,通过Socket.RemoveEndPoint  获得的客户端IP地址 -->Request.MapPath();   跟context.ServerMapPath()一样 二.Response的成员 -->Respose.Buffer 缓

Session,Cookie,jsessionid,Url重写

在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码: < % cookie[]cookies = request.getCookies(); if (cookies.lenght == 0 || cookies == null){ doStuffForNewbie(); //没有访问过 }else{ doStuffForReturnVisitor(); //已经访问过了 } % > 这是很浅显

session,url重写,防止表单重复提交

Session入门_session原理 1.Session概述 1.在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象), 注意:一个浏览器独占一个session对象(默认情况下). 2.Session 是一个域 1.作用范围:一个浏览器和服务器会话范围 2.生命周期: 创建 当程序第一次调用到request.getSession()方法时说明客户端明确的需要用到session此时创建出对应客户端的Session对象. request.getSession()=req

Http会话cookie session

HTTP本身时无状态通信协议,要进行会话管理的基本原理,就是将需要维持的状态回应给浏览器,有浏览器在下次请求时主动发送状态信息, 让Web应用程序"得知"请求之间的关联. 隐藏字段是将状态信息以窗体中看不到的输入字段回应给浏览器,在下次发送窗体时一并发送这些隐藏的输入字段值.Cookie是保存在浏览器上的一个小文件, 可设定存活期限,在浏览器请求Web应用程序时,会一并将属于网站的Cookie发送给应用程序.URL重写是使用超链接,并在超链接的URL地址附加信息,以GET的方式 请求W

简单谈谈Cookie,Session与Cache之间的区别

一 摘要 Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间.而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据.这一过程,是不用开发人员干预的.所以一旦客户端禁用Cookie,那么Session也会失效. 服务器也可以通过URL重写的方式来传递Sessi