Struts的Action和SpringMVC的Controller被多次执行的可能原因

1、提交的事件编码绑定的input的type是submit;

2、使用nginx作为反向代理服务器(或者负载均衡)时,后端的Tomcat或者JBoss执行逻辑时间过长,导致nginx重发请求;

3、前端绑定的元素是a或者img这两个html标签时src="";

4、使用了struts2的form标签,而且其action="",而form试用了javascript提交,如:

document.getElementById("formId").action="XXXX";

document.getElementById("formId").sumit();

参考文章:http://blog.csdn.net/phoenix2121/article/details/5683098

5、执行访问后台请求的javascript代码放在js文件中,并且也页头和页尾可能被引入了多次;

6、请求struts2的action方法是以get开头的,比如xxx!getXxx.do,参考文章:http://blog.csdn.net/gl74gs48/article/details/7838371

7、一个button可能被动态绑定了多个请求的javascript;

8、浏览器是firefox,而且被安装了一些插件,如:yslow;

以上是综合各位网友的一些经验总结,没有什么技术含量,希望能在大家遇到类似问题时能起到提醒作用。

时间: 2024-10-01 00:22:55

Struts的Action和SpringMVC的Controller被多次执行的可能原因的相关文章

SpringMVC 的 Controller 返回各种视图的处理方式

SpringMVC 的 Controller 可以返回各种各样的视图.比如 JSP, JSON, Velocity, FreeMarker, XML, PDF, Excel, 还有Html字符流 等等.那它们该如何的进行处理的呢?这里就涉及到 各种视图(View)对应的各种视图解析器(ViewResolver). 基本上上面说的每一种视图就对应用一种视图解析器来处理.基本上各种视图解析器大致上可以分为两类:一是基于URL的视图解析器:一种是其它解析器:所谓的UrlBasedViewResolve

springmvc 中controller与jsp传值

在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的. spring-mvc.xml 中加入 1   <!-- 自动扫描 --> 2 <context:component-scan base-package="cn.itcast.springmvc.service,cn.itcast.springmvc.web.controller"/> 3  <!--

SpringMVC:Controller 及 RestFul风格

SpringMVC:Controller 及 RestFul风格 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 我们来看看有哪些方式可以实现: Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方

SpringMVC中Controller的方法返回值

1. 返回ModelAndView对象 controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 实例 @RequestMapping("/itemList.action")    public ModelAndView itemList () {        //获取数据        List<Items> itemList = new ArrayList<Items>();        itemLis

在Java代码(非JSP及Action,Servlet,Controller)中获得WebRoot的物理路径

在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径; 如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址. 如果在类中取不到ServletContext时, 有两种方式可以做到 1) 利用Java的类加载机制 调用 XXX.cla

详解SpringMVC中Controller的方法中参数的工作原理

前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html SpringMVC中Controller的方法参数可以是Integer,Double,自定义对象,ServletRequest,ServletResponse,ModelAndView等等,非常灵活.本文将分析SpringMVC是如何对这些参数进行处理的,

实现Spring管理struts的Action

struts2和spring的整合,关键点在于struts2中的action要纳入spring容器的管理中成为一个bean. 可以在struts2中配置: <struts> <constant name="struts.objectFactory" value="spring" /> </struts> 同时action的配置class='beanID',访问该Action时,会通过class对应值去spring中寻找相同id值的

详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] good

目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口的具体应用 常用HandlerMethodArgumentResolver介绍 常用HandlerMethodReturnValueHandler介绍 本文开头现象解释以及解决方案 编写自定义的HandlerMet

Struts中Action&ActionForm

在Struts架构中,通常使用一种名为ActionForm的系统状态Bean,来实现应用系统的非持久性数据存储和维护功能.具体来说,这种类型的对象主要用于保存用户请求表单中的数据,并可保持其状态的连续性,即在不同的页面间传递这些数据. ActionForm Bean的运行处理过程如下: 控制器ActionServlet接收到一个客户端请求后,会将该请求委托给一个RequestProcessor对象进行处理.该对象是遵照配置文件struts-config.xml中与该请求匹配的<action>子