状态管理、Cookie、Session、URL重写html
HTTP协议:无状态的链接(每次链接都是新的请求)
一、隐藏字段 <input type=”hidden” name=”session” value=””/> 在响应中进行操做
二、Cookie 保存到客户端
三、Session 保存到服务器
四、用户禁用Cookie:使用URL重写 在URL后加上jsessionid=123;java
Cookie原理
一、数据以“键-值”对的形式经过响应保存在客户端
Cookie cookie = new Cookie(“”,””);
response.addCookie(cookie );
过时时间:一个会话结束时
一个浏览器保存Cookie;一个浏览器能够构造多个Cookie
读取Cookie:
一、request.getCookies返回一个数组
二、存储中文 Cookie cookie = new Cookie(“name”,URLEncode.encode(“中文”));
URLDecoder.decode(“value”);web
Session原理:
一、每一个Session对象有一个惟一的编号,SessionID
二、服务器以Cookie方式保存在Session中
三、在浏览器关闭的时候;由于Session保存在服务器中,当浏览器关闭时,SessionID带不过去
四、session.setMaxInactiveInterval(时间);——发呆时间,到达的最大时间
默认时间为半小时(1800s)web配置中
Session.invalidate();——立刻销毁session(至关于没有建立Session)
web配置:<servlet-config>
<time-out>1</time-out> 分钟为单位
</servlet-config>
五、在web.xml
<session-config>
<session-timeout>5</session-timeout> 分钟数
</session-config>
六、浏览器关闭时并不意味着Session对象被删除,保存在服务器(eclipsse服务器)
七、Session持久化管理:存放在其中的对象以序列化的形式存放(保存在文件中)
八、响应:String url = response.encodeURL(“地址”);——派发
九、应当尽可能使用维护时间短的域对象数组
JS考试
一、JAVAScript是只能在浏览器中运行的语言
二、“=”:赋值 “==”:值 “===”:全相等(数据类型,值)
三、Alert、setTimeOut 属于window函数
四、字符串=字符数组
五、Length为属性,size()为方法
六、Test:boolean(true,false) excute():返回匹配的值
七、JS中属性的类选择器:this.className = “和选择器的名字同样”
八、元素节点:createElement() 文本节点:createTextNode() 注释节点:createComment() 属 性节点:createAttribute()
九、浏览器对传统事件的指派方法的支持比现代事件更好,现代事件有兼容性
十、CSS优先级:内联>内嵌>外部样式 !Importtant>id>class>element>伪类>*
十一、JS事件:鼠标事件、键盘事件、HTML事件
十二、刷新页面:触发load事件和unload事件
1三、Window.location.href=””;
1四、绑定事件:onclick=”click()”;///but.onclick=click;
1五、提交表单 document.forms[0].submit();
1六、H1*{color:red} ——只要在h1下面的元素都为红色
1七、Display:none visibility:hidden
1八、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
线程不安全cookie
请求做用域:在请求做用域范围以外就不能进行访问
request.setAttribute(“name”,”name”);
线程安全:做用于一个请求之间(可用派发)session
监听器: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);app
请求文本域:请求被建立的时候
打包文件?压缩文件。。
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服务器页面)