当前位置: 代码迷 >> Java Web开发 >> Ssh为什么小弟我的Action响应了2次,求解答
  详细解决方案

Ssh为什么小弟我的Action响应了2次,求解答

热度:46   发布时间:2016-04-16 22:17:29.0
Ssh为什么我的Action响应了2次,求解答
一.Jsp页面:

<body>
    <div id = "nav">
   图片分类:
   <s:iterator value = "namelist" status = "sta">
   <br/>
   <a href = "PicShow.action?picFirLevelId = <s:property value = "id"/>">
   <s:property value = "#sta.index+1"/>.<s:property value = "item"/>
   </a>
   </s:iterator>
    </div>
  </body>

namelist是我action中的一个链表。页面效果:

当点击旅游或者同学,或者杂七杂八的时候,就会响应PicShow.action,然后为其传入picFirLevelId的值,picFirLevelId是我Action中的一个属性,以后的处理需要到这个属性。

二.Struts.xml:

<action name = "PicShow" class = "PicShowAction" method = "showPic">
<result>/Pages/Life/Picture/ShowPic.jsp</result>
</action>

三.Spring的application.xml:

<bean id = "PicShowAction" class = "com.my.action.LifePicAction">
<property name="lifePicService" ref = "LifePicService"></property>
</bean>


四.com.my.action.LifePicAction中有:

public String showPic() throws Exception
{
System.out.println("aaa");
return SUCCESS;
}

五.运行如下:


当我点击一次,输出2次,即是运行了2次这个函数,为什么。
大家估计还需要什么东西能解决,在线等。
------解决方案--------------------
额 之前servlet遇到过这种情况,后台响应两次,但响应完响应前台只响应一次。
搞了很久,问了很多人也没搞明白什么情况,当时只有一个浏览器是那种情况,换个浏览器再试试吧。
楼主的前台响应几次呢?如果只响应一次,且不影响数据,就不用过多的追究了吧。
------解决方案--------------------
嗯 多写几个请求,看看是偶尔情况还是必然情况。
之前我遇到的那个servlet是个偶然情况,仅那一个请求在火狐下servlet后台会收到两次请求,其他的请求或其他浏览器都正常,所以就没有再管。
------解决方案--------------------
看下是否有<img/> 标签的url地址出错了
------解决方案--------------------
你可以debug下  看看是不是两次都传入了那个id,你点击一个的时候肯定会传一个id的,假如说第一次有id,第二次id为空了,这个情况嘛,遇到过,但也不知所以,同求中……
------解决方案--------------------
配置日志,看看哪个调用了
后台的问题可以解决
浏览器就不好搞
------解决方案--------------------
我之前的SSH项目也遇到过这个问题,我只能说有解决方案,我忘了。楼主别喷我。。。。
------解决方案--------------------
梳理梳理调理看看,这种问题我一般都是因为自己业务没写好导致的
------解决方案--------------------
看不出问题来
------解决方案--------------------
信息太少了,如果只有这一个功能执行两次的话,可以检查一下这个action的filter,看是不是放行两次
------解决方案--------------------
引用:
你可一个用firebug看下点击一次,向后台发送了几次请求,如果向后台只发送了一次, 但是后台action中方法执行了两次(或者是多次), 这种情况, 你检查下你的action中的所有逻辑action方法是不是有以getXXX开头命名的
 setXxx也有可能
  相关解决方案