jsp servlet 中 session 以及 cookie 如何正确使用?

jsp  servlet  中  session   以及  cookie 如何正确使用呢?
上班都是ssh 这样的框架做项目。 感觉自己越来越不会了? 除了ssh 真的不会什么了。 集成各种框架, compass,连接池,poi,报表, freemaker或者volecity。
实现是无聊的狠。业余时间自己也从基础 想一想,学一学。

基础一直很弱的,本来不知道http协议的,后来慢慢学习,了解基础知识、

现在感觉  jsp,servlet  我都没掌握,也是了解一点点、感觉很悲剧。

jsp  servlet  项目,不用任何框架,除了   数据库驱动jar包。

那么session  最好在哪创建?
我认真思考了,并且写了点测试代码。
jsp 中  session =true /false
如果是true   这个  session的 创建 是tomcat 编译jsp为servlet  中创建的,也就是 request.getsession()了。 这个不是个人控制创建,而是tomcat 负责的。
如果是false 就没什么了。
当然:这是在  cookie 没有禁用的情况下。 随意,但是最好jsp  中session都是false(页面中如果想取值可以留着)

假如cookie 禁用,并且  jsp 中的 session  =true,那么  每次访问jsp  都会创建一个新、的session  这也是tomcat创建的。  因此我觉得,最好不要让tomcat 编译的时候创建session,自己在代码中负责创建, 关闭 jsp中的所有 session=false。

不知道我这样的理解是否正确。

如果 jsp 中  session  =fasle    那么jsp页面中  使用EL表达式 取session  中值是无效的, ${xxx.xxx}  ${sessionScope.xxx.xxx} .
但是使用request.getSession(true/false).getAtrrbute("xxx");可以取出值。

el表达式,在被编译之后为什么获取不到session呢?

这是  jsp 编译之后,el表达式的代码out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${sessionScope.employee.realname}", java.lang.String.class, (PageContext)_jspx_page_context, null, false));

out.write("<%=request.getSession(true/false).getAtrrbute("employee")%>");

感觉就是jsp中的这些代码 直接就输出了,没做什么事。request却可以得到session
el表达式 估计就是得不到吧。

谁能给点解释。或者 意见什么的也好啊。

你可能感兴趣的:(jsp,session,servlet,EL,创建)