`
thinkingmysky
  • 浏览: 6857 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

struts2根本在request上无法真正实现和servlet解耦!还是和struts1一样,杯具!

阅读更多

举例:

比如说login.action?params=123.


这个params是在LoginAction类里面没有对应的属性和get、set方法的,

 

因为这个只是临时使用!有时候根本不需要弄那么多乱起八糟的属性放在Action类中或者封装在VO里面的。

这里就有一个很严重的问题,Struts2的Action根本就不能实现很好的解耦:

1、对于与servlet无关的的获取客户端的request里面的params的ActionContext.getContext().get("request")

或者

2、实现这些所谓的RequestAware,SessionAware,ApplicationAware接口也根本无法获取获取URL后面直接跟的参数。

他们返回的Map 对象永远都是NULL或者是不包含在URL请求里面的params的,

 

除非你给Action加上这个params属性和get、set方法,那样是可以的!

但是如果不使用struts2所谓能够解耦的方式而使用与servlet有关的方式:

1、ServletActionContext.getRequest();

2、实现ServletRequestAware,ServletContextAware接口。

这个就可以获取URL上面的参数,等于还是和struts1一样的,哎...................



给大家分享吧!

 

分享到:
评论

相关推荐

    struts2使用request、response

    Struts2作为Struts1的后续版本,在架构设计与实现机制上进行了大量的改进。相较于Struts1,Struts2对request、response、session等核心对象的处理方式有所不同。在Struts1中,可以直接访问这些对象;而在Struts2中,...

    Servlet解耦

    ### Servlet解耦知识点详解 #### 一、Servlet与Struts框架的结合 在Java Web开发中,Servlet作为...这种方式不仅体现了Struts框架的强大功能,也展示了如何通过框架来实现系统的解耦,提高代码的可维护性和可扩展性。

    Struts1和Struts2区别

    总结起来,Struts2在设计和功能上都比Struts1有所改进,提供了更好的灵活性、可扩展性和易用性。然而,这并不意味着Struts1没有它的价值,对于一些简单项目或已有大量Struts1代码的项目,继续使用Struts1可能是更...

    struts1和struts2的区别

    虽然两者在核心理念上相似,但在实现方式和设计上存在显著差异,这些差异体现在多个方面。 首先,让我们从Action类的实现开始。在Struts1中,Action类必须继承一个抽象基类,这是它的一个局限,因为它要求开发者...

    struts1&struts2

    Struts1和Struts2是两个著名的MVC框架,它们都是Apache软件基金会的Apache Struts项目的一部分,用于构建基于Java的Web应用程序。然而,两者在设计和实现上有显著的差异。 1. **架构模式的区别** - **Struts1.x** ...

    Struts2和Struts1的什么区别

    综上所述,Struts2相较于Struts1,在灵活性、可扩展性、易用性和性能方面都有显著提升,特别是在模型驱动、表达式语言、视图管理和拦截器机制等方面展现了明显的优势。然而,选择何种框架还需根据项目需求、团队熟悉...

    jsp servlet struts hibernate spring

    【标题】: "Java Web开发中的JSP、Servlet、Struts、Hibernate和Spring技术详解" 【描述】: "本文深入探讨Java Web开发中常见的技术,包括JSP、Servlet、Struts、Hibernate和Spring,讲解它们的工作原理和实用技巧...

    Struts1与Struts2本质区别

    - **Struts 1**:Action的方法签名中包含了`HttpServletRequest`和`HttpServletResponse`等Servlet API中的对象,这意味着Action的实现高度依赖于Servlet容器。 - **Struts 2**:通过松耦合的设计,Action不再直接...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    综上所述,《Struts2技术内幕-深入解析Struts2架构设计与实现原理》这本书详细介绍了Struts2的各个方面,无论是对于初学者还是有经验的开发者,都能从中获取到宝贵的知识,理解Struts2的精髓,提升开发效率和应用...

    struts2 lib包

    主要类如`org.struts.action.Action`、`org.struts2.dispatcher.Dispatcher`和`org.struts2.config.ConfigurationManager`都在这个库中。 2. **Struts2 Plugins**: Struts2支持多种插件来扩展其功能,例如Struts2-...

    Struts2的由来

    Struts2是一个强大的Java Web应用程序框架,其诞生源于对Struts 1的改进和完善,以及对WebWork框架的继承和发展。Struts 1是最早发布的Model-View-Controller(MVC)框架,由Craig McClanahan在2001年推出,因其成熟...

    struts2实现留言板

    在这个“struts2实现留言板”的项目中,我们将深入探讨如何利用Struts2框架来创建一个功能完备的留言板系统,包括添加、回复和删除留言等基本操作。 首先,我们要了解Struts2的核心组件和工作原理。Struts2框架通过...

    Struts1和Struts2的比较

    Struts1和Struts2是两个...综上所述,Struts2在灵活性、测试性、解耦性以及类型转换和验证等方面都比Struts1有所改进,但Struts1在某些场景下仍具有一定的适用性。选择使用哪个框架取决于项目需求和团队的熟悉程度。

    15年9月传智播客视频struts2

    它是Struts1的升级版,不仅继承了Struts1的优点,还在其基础上进行了大量的改进和增强。Struts2框架的主要特点包括但不限于: 1. **灵活性高**:Struts2提供了丰富的拦截器机制,可以根据实际需求灵活地配置不同的...

    struts2课程笔记

    这一过程实现了与Servlet API的解耦,使得我们无需在web.xml中为每个URL配置单独的Servlet,而是通过配置Action和Result来管理请求和响应。 Struts2还支持多种结果类型,比如Redirect、RedirectAction、Stream等,...

    struts2框架做的学生信息查询系统

    1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是处理用户请求的实体,它执行特定的业务操作,并通过返回值决定后续的页面流向。 2. **配置文件**:Struts2的核心配置文件是struts.xml,它...

Global site tag (gtag.js) - Google Analytics