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表达式 估计就是得不到吧。

谁能给点解释。或者 意见什么的也好啊。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值