发布网友 发布时间:2024-10-22 03:40
共3个回答
热心网友 时间:2024-10-23 01:52
struts2中可以使用HttpSession或HttpServletRequest之类的东东,就是因为在构建路径中加入了servlet-api.jar这个包。而与servlet API分离,意思就是把这个包拿掉。这样的话,在你的action中是不能使用HttpSession和HttpServletRequest之类的东西的。那么struts2中的session和request之类的是什么类型的呢?其实就是Map类型的。所以,能理解一下这句话了吧。
热心网友 时间:2024-10-23 01:46
也就是一在Struts2中是使用Map来封装Session的
热心网友 时间:2024-10-23 01:49
struts2 的架构和struts1 完全不同, struts2 将servlet 封装,使用struts的servlet 实际上不是Servlet原有的那些东西,为了便于标签上的值和aciton中的属性对应,struts 将每个http请求中的报文头、报文体都封装到一个OGNL ,简单点说究竟是一个map中,其结构如下:
application
session
valuestack---此处能够和我们的action对应,界面上的元素 放在这个里面,这个本身是个map
request
parameter
attrcsearchpages 等
而session中存放的是 session中有的数据,以map的形式存放
通过struts增加session的时候,最终也能增加到HttpSession 上,但是是在返回时,通过过滤器实现的。