cookie_session_JSP_el_jstl_过滤器

Cookie:

cookie机制采用的是在客户端保持 HTTP 状态信息的方案 。

Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一个小文本文件。

一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时,都会在HTTP请求头中将这个Cookie回传给WEB服务器。

底层的实现原理: WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。

//创建Cookie:

Cookie cookie=new Cookie(“name”,”zhangsan ”);

//将创建好的cookie 响应给客户浏览器

Response.addCookie(cookie);

//获取浏览器发送过来的cookie

Cookie[] cookies=request.getCookies();

//判断是否有cookie

If(cookies != null &&cookies.length>0 ){

       For(Cookie c : cookies){

       //获取cookie名

       String name = c.getName();

       //获取cookie值

       String value = c.getValue();

}

}

Session:

session机制采用的是在服务器端保持 HTTP 状态信息的方案

//创建session

//如果当前已经创建session,则该请求返回一个session对象,如果没有创建,则自动创建一个

Http Session session = request.getSession();

//获取sessionid

Session.getId();

Session 的最大有效时间(tomcat服务器默认30分钟)

表单重复提交问题:

1)在表单中请求了sevlet,而servlet又通过请求转发的方式转发给另一个jsp页面,当我再次刷新的时候,地址栏还是原来请求servlet的地址栏,这样就出现了表单重复提交问题。                重定向不会出现表单重复提交问题

2)在响应页面未完成响应时,多次点了提交按钮

3)点击浏览器后退,再次点击提交

 

Jsp表达式:将结果输出到浏览器

本质是一个servlet,我们可以在HTML中去写java代码,java的服务端网页

<%= date  %>

JSP表达式中的变量或表达式后面不能有分号(;)

JSP指令告诉引擎如何处理JSP页面中的其余部分

JSP指令的基本语法格式:

       <%@ 指令 属性名="值" %>

JSP九大内置对象:

不需要声明,可以直接使用

1)Request:就是HttpServletRequest对象,代表客户端请求信息,主要用于接收http协议传输到服务器上的数据

2)response:HttpServletResponse对象,代表客户端响应,用不到

3)session:HttpSession对象,代表浏览器的一次会话,可以做域共享

4)application:ServletContext的对象,代表当前web应用

5)config:ServletConfig对象,代表当前Sevlet,可以读取servlet配置信息,用不到

6)out:JspWriter的对象,可以把结果输出到浏览器上

7)page:指的是当前jsp页面对应的servlet对象的引用,用不到

8)exception:异常对象,几乎不用

9)PageContext:页面的上下文,可以获取其他八个内置对象

四个域对象:

Application session request pageContext(域对象从大到小)

Application:最大的作用范围,范围限于当前web应用,只要在一处设置了,当前web应用下的其他servlet或jsp都可以访问

Session:范围限于一次会话,浏览器打开到关闭就是一次会话

Request:范围限于一次请求

PageContext:范围限于当前页面

 

EL表达式:

${ name }

他的意思是从某一范围根据name取值,如果没有指定,默认先从作用域最小的取,如果取到直接返回。

${sessionScope.name }

如果想明确从哪个域取,加上pageScope /requestScope/ sessionScope/ applicationScope

 

过滤器:

1.如何创建过滤器,实现Filter,FilterChain,FilterConfig其中之一,实现其接口的抽象方法init、doFliter、destroy,在web.xml中配置filter

2.过滤器:单实例的

3.当前服务器加载web应用的时候,创建实例并进行初始化,构造方法执行了一次

4.doFilter:每次调用都会执行

5.destroy:当服务器关闭或项目卸载时调用,只执行一次

posted @ 2019-03-04 10:24  尝胆  阅读(207)  评论(0编辑  收藏  举报