关于session的一些了解

来源:互联网 发布:网络教育全国统考难吗 编辑:程序博客网 时间:2024/05/18 09:37



最近在做的项目中,查看购物车,由于我直接把xxxxxx.action地址收藏,初次打开网址的时候,jsp里面判断session里面登陆的标识,得到的总不是自己想要的结果,debug一下action才知道:后台的session其实是为空的。那么问题来了?(session究竟是在什么时候建立的呢)

我们都知道 request.getSession(TRUE)  在没有session的时候会自动给我们创建个session,其实session的创建一直以来都应该是我们该手动创建的,因为session会消耗一定的服务器资源。

直接进入action没有手动创建session的话是不会有session的。

可是当我再次刷新页面的时候,session又有了,这是为什么呢?

下面就是另一个知识点了:jsp页面会自动的创建session,jsp文件是session创建的一个源头,这里指的不是在jsp文件中用代码或者标签来操作session,这些都是在控制中的。容易忽视或者说根本就 不会意识到的(比如我,就是写jsp三年后才发现的)是,jsp有自动创建session的机制,在jsp页面中,如果没有明确的给出 <% @page session="false"%>,jsp页面会非常乖巧(如果刚好需要)或者说是偷偷摸摸(如果不需要)的自动在生成的java文件中增加一 句: javax.servlet.http.HttpSession session = request.getSession(true)。

具体的jsp如何转换为Java文件再被编译成class文件,各位看官自己google。。。。。

0 0
原创粉丝点击