2009-06-23 58 views
2

这是一个长镜头,但希望有人能帮助错误。奇怪404在使用Spring MVC

我的应用程序使用Spring框架MVC。如果工作正常,99%。但是,当我试图去一个链接让我们称之为[路径]/link.html。我收到一个404错误。但是,如果我在我的开发环境(tomcat,windows,IE和eclipse)中访问这个链接,我不会收到这样的404错误(一切都按预期工作)。它只发生在我的生产网站(网络逻辑)。

我已经看了日志文件,并没有什么显示为一个问题。

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
     <property name="mappings"> 
      <props> 
<prop key="/link.html">linkController</prop> 
... 
</props> 
</property> 
</bean> 
+0

你是否正在通过AJP运行apache + tomcat? – stevedbrown 2009-06-23 14:14:43

+0

你的url映射的定义是什么?你可以发布他们吗? – 2009-06-23 14:19:20

回答

1

你可能需要使用<servlet-mapping>元素在你的web.xml文件映射为HTML文件到控制器servlet请求。您可能需要考虑使用link.do而不是link.html,因为将HTML文件的请求映射到控制器servlet可能会使应用程序中的静态内容有点棘手。

在另一方面,在一般情况下,你希望你的开发堆栈,以尽可能与你的工作栈越好。如果您使用WebLogic而不是Tomcat进行开发,您似乎很快就会发现此问题,因为您在生产中使用WebLogic。

+0

该映射与所有其他正常工作的映射一致。换句话说.html被映射到servlet。 – IaCoder 2009-06-23 14:29:45

1

没有看到有问题的URL我猜你有一个问题,你的URL结构,它完全不符合生产服务器上的资源,而不是它是与你的配置有问题,给定其他HTML资源是可访问的。

我总是使用JSTL URL标签构造的URL,它涵盖在这里下车描述(http://www.ibm.com/developerworks/java/library/j-jstl0318/#N10532

如果使用JSTL一切是不是一种选择,那么链接应该给你一些指针,以你需要什么在构建URL时考虑。

1

打开org.springframework日志记录器的日志记录,并查看在您请求/link.html时Spring内发生了什么(或者如果您的Web请求甚至将其发送到DispatcherServlet)。

0

的问题实际上不是春/ JSP /等...问题是Apache中的位置指令是如何配置的。该指令中的路径需要尾随斜线。