`

关于struts2中action请求会执行两次的问题

阅读更多
这段时间做的一个后台老是遇到如题的问题,后来在这个http://blog.sina.com.cn/s/blog_49cc672f0100v0jf.html 博客里看到了原因。


在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了。继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题。
     结合网上的搜索,总结了一下:
1.  json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息。.

2.  ajax模式下,调用的action方法不能为get*方式命名,内中机理未知。
结论:action中方法最好不要以get开头
分享到:
评论

相关推荐

    struts2中result类型之redirectAction

    在Struts2中,Result是Action执行后控制流程的重要组件,它定义了Action执行完毕后如何转发或重定向到一个新的页面。"redirectAction"是Struts2中的一种Result类型,专门用于实现HTTP级别的重定向。 重定向是一种...

    struts1和struts2的区别

    - **Struts2**: 每个Action实例都只服务于一次请求,之后会被销毁。这样可以确保每个Action实例都是干净的状态,不会出现意外的数据污染。同时,这种方式也降低了内存消耗。 #### Servlet依赖 - **Struts1**: ...

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

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

    struts与struts2的区别

    Struts和Struts2是两种不同的Java Web框架,它们都由Apache软件基金会开发,用于构建MVC(模型-视图-控制器)架构的Web应用程序。虽然名字相似,但两者在设计哲学、功能特性以及实现方式上有着显著的区别。 **1. ...

    Struts2文件上传下载和表单重复提交问题

    文件上传功能在Struts2中通过`Struts2`提供的插件来实现,主要依赖于`Apache Commons FileUpload`库。首先,要在`struts.xml`配置文件中启用文件上传支持,设置`struts.multipart.parser`为`jakarta`或`native2...

    Struts2+Freemark

    Struts2和FreeMarker是两种在Java Web开发中广泛使用的开源框架。Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理HTTP请求,管理业务逻辑,而FreeMarker则是一个模板引擎,负责生成动态HTML或其他...

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

    Struts2的配置文件(如struts.xml)中会定义这个Action,指定其接收的请求URL、对应的Action类以及成功或失败后的跳转页面。 接着,我们讨论如何实现登录功能。在LoginAction中,我们需要一个方法(如execute())来...

    struts2框架JAR包

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

    Struts2防止重复提交解决方案

    在Struts2中,防止重复提交是一个重要的问题,因为它可能导致数据不一致性和服务器资源的浪费。本文将详细介绍如何在Struts2中解决这个问题,以及相关的技术概念。 首先,我们要理解Struts2中的拦截器(Interceptor...

    Struts2面试题及答案

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

    struts2学习笔记.doc

    - **问题汇总**:针对Struts2开发过程中常见的问题进行总结和解答。 以上是基于文档提供的信息整理出来的Struts2学习笔记的关键知识点概览。这些内容不仅涵盖了Struts2的基本使用方法,还涉及到了一些高级特性和...

    struts2整合hibernate

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

    struts上传问题研究

    在Struts2中,我们可以使用`@Validated`注解标记在Action类的方法上,开启数据校验。对于文件上传,可以利用`@Params`注解来定义文件参数,如`@Params(value = {"file"}, type = File.class)`,这将把文件参数映射到...

    Struts2解决表单重复提交

    除了直接使用redirect,还可以使用redirectAction,并在result中配置actionName参数,这样提交后会通过另一个action来执行,从而避免了直接刷新带来的重复提交问题。 在具体实现上,通过修改result元素的type属性来...

    hibernate+struts2分页代码

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

    struts2 包中内容,除了lib

    1. **学习框架原理**:通过阅读源码,开发者可以深入了解Struts2如何处理请求,如何执行Action,以及如何实现MVC架构。 2. **调试和优化**:在遇到问题或需要定制功能时,源代码提供了第一手资料,可以帮助开发者...

    struts2源码下载啦

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

    能运行的ExtJs+Struts2文件上传

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

Global site tag (gtag.js) - Google Analytics