`
ahut9923
  • 浏览: 233432 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

struts2 学习(六)

阅读更多
在Struts1.*中,要想访问request、response以及session等Servlet对象是很方便的,因为它们一直是作为形参在各个方法之间进行传递的,而在Struts2中我们就很难看到它们的芳踪了,因为我们获得表单中的值都是通过预先设置好了的get方法来得到的,那么如果有些参数我们必须通过request.getParametre或者session.getAttribute来得到,那么应该怎么做呢?按照Max的教程上的说法,可以分为两种:IoC方式和非IoC方式,如何理解这两种方式的区别呢?IoC是Spring里面的特征之一,字面意思是反转控制,说白了就是依赖注入,比方说类A依赖类B,那么就主动的给A注入一个类B的对象,下面看一下这两种方法的具体实现。
1.非Ioc方式
这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。
获得request对象:
A.HttpServletRequest request = ServletActionContext.getRequest ();
B.ActionContext ct= ActionContext.getContext()
   HttpServletRequest request=
(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);
获得session对象:
在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。
A.Map session=ActionContext.getSession();
B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
得到这个SessionMap之后我们就可以对session进行读写了,如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session了。
2.IoC方式
这种方式相对来说变化就比较少了,具体流程如下所示。
获得request对象:
第一步:让action实现ServletRequestAware接口
第二步:在action中声明一个HttpServletRequest类型的实例变量
第三步:在action中实现ServletRequestAware接口的setServletRequest方法,实现方式很简单,如下所示。
         private HttpServletRequest request;
publicvoid setServletRequest(HttpServletRequest request) {
            this.request = request;
    }
获得Session对象(注意,此时的session是SessionMap类型):
第一步:让action实现SessionAware接口
第二步:在action中声明一个HttpServletRequest类型的实例变量
第三步:在action中实现SessionAware接口的setSession方法,实现方式很简单,如下所示。
         private Map session;
publicvoid setSession(Map session) {
            this. session = session;
    }
分享到:
评论
1 楼 halk 2008-04-13  
1-5在哪?

相关推荐

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts2必须的六大jar包

    其中包括struts2-core-2.1.6.jar xwork-2.1.2.jar ognl-2.6.11.jar freemarker-2.3.13.jar commons-logging-1.0.4.jar commons-fileupload-1.2.1.jar 是您学习struts2的必须工具。

    struts2学习demo及ppt

    本资源包含了struts2的原理,配置,struts2的标签,拦截器,struts2的上传,下载,以及ognl表达式的用法,各部分内容均有demo,对于初学者来说能够提供很好的帮助 demo中如缺少struts2的jar请自行到官网下载

    Struts2学习笔记

    自己六天的学习笔记,全部在里面。及在开发过程中的经验总结。

    struts2标签库实验报告.docx

    Struts2标签库实验报告的详细步骤,以及怎么具体意义,可以帮助小白完成初次学习体验!

    struts学习笔记

    建立一个Java Web项目,提取最少运行Struts2应用的包集合,目标:实现一个简单的用户登录 包括内容: 一、先实现登录页面 二、实现处理页面的Action 三、配置Web.xml 四、配置Action处理结果和资源资源之间的映射关系 ...

    struts2学习笔记六(第6讲.Struts2的输入校验续一)

    NULL 博文链接:https://zhaolianyang.iteye.com/blog/867028

    个人知识管理系统 Struts2 + Spring + Hibernate

    采用了FCKeditor在线文本编辑器,用FCKeditor上传文件时还存在有问题,不知道是不是配置存在问题,但是图片文件利用Struts2的action上传到服务器,因为有其他附件文件要上传,并且要保存文件信息,在删除文章时要把...

    个人信息管理系统Struts2 spring hibernate dwr

    采用了FCKeditor在线文本编辑器,用FCKeditor上传文件时还存在有问题,不知道是不是配置存在问题,但是图片文件利用Struts2的action上传到服务器,因为有其他附件文件要上传,并且要保存文件信息,在删除文章时要把...

    个人知识管理系统 Struts2.0 + Spring + Hibernate

    用户可建立自己的知识分类,对于私密信息(比喻日记等)可增加访问权限,只有登陆用户才能看到,非登陆用户只能浏览公开信息,以及增加新的信息,但无权修改以删除信息,用户权限拦截采用了Struts2的自定义拦截器 ...

    Java相关课程系列笔记之九Servlet学习笔记

    java笔面试题1-6章 Java相关课程系列笔记之一Java学习...Java相关课程系列笔记之十三Struts2学习笔记 Java相关课程系列笔记之十四Hibernate学习笔记 Java相关课程系列笔记之十五Spring学习笔记 资源都已上传,自己下载

    JAVA六个版本基层增删改(包含mvc, servlet,struts2,ssh )

    此资源采用最基层的javaee web 开发数据库与程序逻辑之间的基层知识点,是学习java网站开发的优秀辅助资料!(包含mysql 和sqlserver数据文件 )导入即可测试使用!

    Java/JavaEE 学习笔记

    第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data Transfer & Type Converter..273 第五章 Validation(数据格式验证)..276 第六章 Internationalization(I18N:国际化).............

    Java相关课程系列笔记

    Java相关课程系列笔记之十三Struts2学习笔记(建议用WPS打开) Java相关课程系列笔记之十四Hibernate学习笔记(建议用WPS打开) Java相关课程系列笔记之十五Spring学习笔记(建议用WPS打开) Java相关课程系列笔记之...

    java学习手册

    java学习手册是专门为java开发者开发的一款APP,目前只支持Android...7,流行框架模块,介绍了目前最流行的Struts2、Hibernate、Spring等常用的java框架。 8,java ee模块,介绍了EJB、Session Bean、事务等基本内容。

    java web开发技术大全2 z02 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    java web开发技术大全4 z04 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    Java语言基础下载

    Struts如何实现Model 2, MVC 639 Struts 控制流 639 Struts framework的工作原理和组件 642 Struts ActionServlet控制器对象 642 Struts Action Classes 642 搞定Action对象 643 处理异常 643 Action的分类 643 ...

    J2EE学习笔记(J2ee初学者必备手册)

    第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data Transfer & Type Converter..273 第五章 Validation(数据格式验证)..276 第六章 Internationalization(I18N:国际化).............

    Java Web开发技术大全5.z05 pdf

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

Global site tag (gtag.js) - Google Analytics