`

struts2中action调用两次问题

    博客分类:
  • java
阅读更多

今天遇到了一个很棘手的问题,也是个相当愚蠢的问题!

发现struts的action总是会执行两次,刚开始怎么都没想明白,还以为是hibernate的lazy的问题,再后来上网查找原因,发现也有别人遇到过这类问题,有些人的说法是因为在jsp页面中比如在引CSS或JS的时候SRC=“”的原因……

查找了一下,排除掉!后来在Q群里问,也是没找到原因。后来经过排查发现还有个方法也是每次都在运行,这才恍然大悟,原来我的方法竟然是以getXXX开头的!晕死……get方法在action中肯定是会被执行的啊!

换个名字,一切搞定!既不是hibernate的原因,更不是json的原因~

很愚蠢的错误,切记切记!!!

分享到:
评论

相关推荐

    struts1和struts2的区别

    - **Struts2**: Struts2中的Action更像是工厂模式下的产品,每个Action实例都是线程安全的。Struts2提供了ActionSupport基类来简化Action的实现。Action本身可以是任何实现了特定接口的Java对象,甚至是普通的POJO。...

    struts2框架JAR包

    在这一版本中,Struts2经历了多次更新和改进,修复了许多已知的安全漏洞,如著名的CVE-2017-5638“Struts Shatter”漏洞。Struts2.3.x系列增强了对Java EE标准的支持,包括Servlet 3.0、CDI(Contexts and ...

    struts2学习心得

    2. Struts2不需要注意线程同步的问题,而Struts1则面临这个问题,因为Struts1对action创建的时候只创建一次,当多个用户同时访问这个action时,则必须出现这个同步的问题。而对Struts2来说,需要action时都要重新new...

    struts2整合hibernate

    2. **Struts2配置**:在struts.xml配置文件中,定义Action类及其对应的执行方法,同时配置结果类型(Result),以便调用DAO进行数据操作。 3. **Hibernate配置**:创建hibernate.cfg.xml配置文件,设置数据库连接...

    Struts2 的接受参数的几种方式

    具体来说,Struts2 会调用 Action 中与字段名称匹配的 setter 方法来设置参数值。例如,如果表单中有 `name` 字段,那么 Struts2 会调用 `setName(String name)` 方法来设置值。 这种情况下,字段名称和 setter ...

    能运行的ExtJs+Struts2文件上传

    在Struts2中,文件上传通常会涉及Action类,该类接收文件参数,然后调用Service层进行业务处理。同时,ExtJs的Ajax请求需要与Struts2的Action配置相匹配,以便正确地发送和接收数据。 在压缩包文件名称列表"ext_...

    简单理解Struts2中拦截器与过滤器的区别及执行顺序

    Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器(Interceptor) 拦截器是 Struts2 框架中的...

    Struts2_JasperReport整合的例子

    Struts2和JasperReport是Java开发中两个重要的框架,它们在企业级应用开发中扮演着关键角色。Struts2是一个强大的MVC框架,用于构建动态、数据驱动的Web应用程序,而JasperReport则是一个开源的报表工具,可以生成...

    Struts2面试题及答案

    在Struts2框架中,FilterDispatcher是核心组件之一,它负责处理用户请求,并调用相应的Action进行业务逻辑处理。相较于Struts1和WebWork,Struts2的设计更加先进和灵活。 **知识点解析:** 1. **FilterDispatcher**...

    hibernate+struts2分页代码

    - 在Struts2中,Action类的属性可以用来接收前端传递的页码和每页大小,然后在Action中调用Hibernate的方法进行分页查询。 4. **前端展示**: - 前端页面通常使用JSP(JavaServer Pages)或者现代的前端框架(如...

    struts2 包中内容,除了lib

    - `ognl`: OGNL是Struts2中使用的表达式语言,用于对象到图形的导航和数据绑定。 - `test`: 测试用例,可以帮助理解代码的使用方式和预期行为。 总的来说,这两个压缩包为开发者提供了全面了解和深入研究Struts2...

    struts2实现的简单登陆 附加拦截器防止重复提交

    在这个"struts2实现的简单登陆 附加拦截器防止重复提交"的项目中,我们将深入探讨Struts2如何处理用户登录以及如何通过拦截器来防止重复提交的问题。 首先,我们来理解一下Struts2的核心概念。Struts2框架基于...

    struts2.jar

    2. **拦截器(Interceptors)**:拦截器是Struts2的另一个关键特性,它们按预定义的顺序在Action调用前后执行,提供诸如日志、事务管理、性能监控等通用功能。开发者可以自定义拦截器以实现特定需求。 3. **配置...

    Struts2框架

    拦截器和过滤器是Struts2中的两个重要概念,它们在处理请求上有所不同。拦截器基于Java反射机制,可以访问Action上下文和值栈中的对象,允许在Action生命周期内多次调用。而过滤器则是基于函数回调,依赖于Servlet...

    struts2批量下载

    在Struts2框架中,批量文件下载是一种常见的需求,它允许用户一次性下载多个文件,而不是逐个点击下载。以下是对批量下载功能的详细解释和实现步骤: 1. **页面设计**: 首先,我们看到`index.html`,这是用户界面...

    ajax结合struts处理与数据库交互中的问题

    在Struts的Action类中,我们需要处理接收到的参数,调用DAO进行数据库操作,并返回JSON或XML格式的结果: ```java public class YourAction extends ActionSupport { private YourDAO yourDAO; public String ...

    struts2+poi导出excel表格完整例子

    在Struts2中集成POI,我们通常会在Action类中编写导出的方法。这个方法会根据业务需求查询数据库,获取要导出的数据,然后利用POI将数据填充到Excel工作簿中。最后,将工作簿写入到HttpServletResponse的输出流中,...

    struts2源码下载啦

    通过对Struts2的源码学习,我们可以更深入地理解其内部工作流程,如Action的调度、拦截器的执行顺序、OGNL的解析过程等,这对于优化性能、调试问题或者开发自定义组件都非常有帮助。源码阅读不仅可以提高我们的编程...

    Struts2自定义拦截器实现防止重复提交

    总结来说,防止重复提交的自定义拦截器在Struts2中起到了关键作用,通过生成和验证令牌,能够在不依赖Struts2标签的情况下,有效地避免了用户意外或恶意的重复提交,保证了应用的稳定性和数据的一致性。

    struts2+hibernate3实现的增删改查

    Struts2和Hibernate3是两种非常重要的Java Web开发框架,它们在企业级应用中被广泛使用。Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了丰富的功能来构建可维护、可扩展的Web应用程序。而Hibernate...

Global site tag (gtag.js) - Google Analytics