tianhongdehao 2008-11-11 02:29
浏览 259
已采纳

哪位神人能提供一点细细讲JavaWeb开发中各种可能用到的环境,以及变量的资料

如题..真的迷糊,被各种HttpServletRequest,ServletContext,PageContext,HttpSession这些环境,变量整迷糊了
尤其是现在用Struts2 又多出来什么ValueStack,ActionContext,ServletActionContext
等各种范围,环境,变量的,真的很迷糊,
ONGL,他的变量是从什么范围内找的?
Freemarker,他的变量是从哪里找的?

哪位神人能解决我的疑惑啊?我想多关注这些底层的东西,光用别人的框架,自己是得不到提升的。

  • 写回答

5条回答 默认 最新

  • catstiger 2008-11-11 08:13
    关注

    HttpServletRequest-顾名思意,就是HTTP请求,它封装了部分HTTP协议,每次请求都会生成一个HttpServletRequest对象,无状态。
    PageContext-JSP页面上下文,离开页面,就不存在了。
    ServletContext—相当于ASP的Application,是整个web应用的上下文,唯一的。
    HttpSession—就是Session,每个客户端一个放在服务器端,经常存放登录信息什么的,有状态。
    前面几个都是JSP、Servlet规范中的对象。

    ValueStack,ActionContext,ServletActionContext 是Struts2对上述对象的封装,目的是使得用户可以脱离web环境提供的各种API,并且可以方便的进行单元测试。

    ONGL从值栈、request、session、servletcontext中都能获得信息,其实它只是一个表达式语言,准确的说,是struts2的tag可以使用OGNL从上述环境变量中获得信息。

    Freemarker,你传给它什么对象,它就可以从这个对象中获得信息。比如一个Map、Bean、List等等。Fremarker有其独特的表达式语言。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改