首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么URL中的正斜杠会导致对我的Stripes Action Bean的无限循环调用?

为什么URL中的正斜杠会导致对我的Stripes Action Bean的无限循环调用?
EN

Stack Overflow用户
提问于 2014-10-24 22:49:01
回答 1查看 627关注 0票数 1

我已经实现了一个基于Stripes的网站。我希望避免在其URL中使用.action附录。在我的每个Action Beans中,我都添加了@URLBinding("/home")类型的url绑定。

然后,我已经在我的web.xml中配置了DynamicMappingFilter,如http://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/controller/DynamicMappingFilter.html中所述。

该站点是实时的,并且运行良好...除非有人尝试使用像http://example.com/home/anything这样的url。这会导致对我的HomeActionBean的无限循环调用,直到我最终得到一个StackOverflowError!

有没有人经历过同样的事情,你知道如何防止这种情况发生吗?

非常感谢。爱德华多

附注:下面是关于实现的一些细节。我已经创建了一个演示,其中包含一个简单的Test action bean和JSP。

代码语言:javascript
复制
TestActionBean
    @UrlBinding("/test")
public class TestActionBean extends BaseActionBean implements ActionBean {

@DefaultHandler
public Resolution test() {
    return new ForwardResolution("test.jsp");
}
}

Test.jsp

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test infinite loop</title>
</head>
<body>
blabla
</body>
</html>`

WEB.XML

代码语言:javascript
复制
<filter>
    <display-name>Stripes Filter</display-name>
    <filter-name>StripesFilter</filter-name>
    <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
    <init-param>
        <param-name>ActionResolver.Packages</param-name>
          <param-value>pt.company.commons.stripes.action</param-value>
    </init-param>
    <init-param>
        <param-name>ActionBeanContext.Class</param-name>
        <param-value>pt.company.commons.stripes.action.CustomActionBeanContext</param-value>
    </init-param>

    <!-- The parameter tells Stripes to use the Spring interceptor -->
    <init-param>
        <param-name>Interceptor.Classes</param-name>
          <param-value>net.sourceforge.stripes.integration.spring.SpringInterceptor</param-value>
    </init-param>
...

<filter-mapping>
    <filter-name>StripesFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

<filter-mapping>
    <filter-name>StripesFilter</filter-name>
    <servlet-name>StripesDispatcher</servlet-name>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

<filter>
    <description>Dynamically maps URLs to ActionBeans.</description>
    <display-name>Stripes Dynamic Mapping Filter</display-name>
    <filter-name>DynamicMappingFilter</filter-name>
    <filter-class>
        net.sourceforge.stripes.controller.DynamicMappingFilter
    </filter-class>
    <init-param>
        <param-name>ActionResolver.Packages</param-name>
        <param-value>pt.company.common.stripes.action</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>DynamicMappingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

<servlet>
    <servlet-name>StripesDispatcher</servlet-name>
    <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>StripesDispatcher</servlet-name>
    <url-pattern>*.action</url-pattern>
</servlet-mapping>
EN

回答 1

Stack Overflow用户

发布于 2014-10-25 16:54:53

我无法解释这种行为,但我曾经在一个actionBean上注意到它,它显示了一个包含iframes的页面,其中有一个相对路径作为它们的源属性。src属性本身指向其他操作bean。

代码语言:javascript
复制
        <iframe src="imagelist"></iframe>
        <iframe src="mastertable/collections"></iframe>

一旦我切换到绝对路径,重定向循环就消失了。

代码语言:javascript
复制
        <iframe src="${pageContext.request.contextPath}/imagelist"></iframe>
        <iframe src="${pageContext.request.contextPath}/mastertable/collections"></iframe>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26550400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档