cookie只可以传到当前目录以及如下的目录,不能够传到上一目录。web
1).何时建立HttpSession对象
①.对于JSP:是否浏览器访问服务端的任何一个JSP,服务器都会当即建立一个HttpSession对象呢?不必定。浏览器
若当前的JSP是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性值为false,
则服务器就不会为JSP建立一个HttpSession对象;若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其余页面已经建立一个HttpSession对象,
则服务器也不会为当前JSP页面建立一个HttpSession对象,而回会把和当前会话关联的那个HttpSession对象返回给当前的JSP页面.服务器
②.对于Serlvet:若Serlvet是客户端访问的第一个WEB应用的资源,cookie
则只有调用了request.getSession()或request.getSession(true)才会建立HttpSession对象
当request.getSession(false)的时候若是没有与当前页面关联的HttpSession对象的时候就会返回null,
当request.getSession(true)(request.getSession(boolean create))的时候就会直接返回一个HttpSession对象 同request.getSession()。
总结:当客户端访问web第一个资源而且当前JSP或者Servlet没有禁用当前页面的默认建立的Session对象或者没有调用request.getSession(false)方法的时候就会返回一个HttpSession对象。session
2). session="false" 到底表示什么意思?当前JSP页面禁用session隐含变量!但可使用其余的显式的HttpSession对象函数
浏览器把cookie被禁用的时候通常用URL重写的方法进行sessionID的跟踪,以便后续的上下文(即统一web中)可使用同一sessionID访问同一session对象,其中进行URL重写的方法有两个:url
encodeRedirectURL(String url)response.sendRedirect(response.encodeRedirect(String url))code
相同点:两个会在cookie禁用的状况下对URL进行加上JsessionId的重写,固然,若是没有禁用,两者也不会对URL进行重写。
不通点:后者会对URL指向的资源进行判断,若是不是本web应用里的资源路径也不会进行SessionID的添加,所以该函数URL参数必须是绝对路径。