首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring on WebSphere URLs,404 s在所有Spring上

Spring on WebSphere URLs,404 s在所有Spring上
EN

Stack Overflow用户
提问于 2018-04-05 16:46:38
回答 1查看 868关注 0票数 0

使用WebSphere开发工具(WDT)的Eclipse氧气,Spring 4.3.14,Java8上的WebSphere Core 18.0.0.1。启用自由特性(故意不是最新的)如下:

代码语言:javascript
复制
<featureManager>
    <feature>adminCenter-1.0</feature>
    <feature>localConnector-1.0</feature>
    <feature>jaxrs-1.1</feature>
    <feature>concurrent-1.0</feature>
    <feature>webProfile-6.0</feature>
    <feature>jaxb-2.2</feature>
</featureManager>

上下文根上的JSPs运行良好,所以这是正确的。另外,ibm-web-ext.xml有<context-root uri="/webapp/gatewaymvm/" />

Spring启动日志记录表明,我的@Controller类绑定到我期望的路径:

代码语言:javascript
复制
10:31:24,102 DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:Looking for request mappings in application context: WebApplicationContext for namespace 'Spring MVC Dispatcher-servlet': startup date [Thu Apr 05 10:31:22 CDT 2018]; parent: Root WebApplicationContext
....
10:31:24,125 DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:1 request handler methods found on class mypackage.QueryTransactionController: {public mypackage.QueryTransResponse mypackage.QueryTransactionController.processRequest(mypackage.QueryTransRequest,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException={[/QueryTransaction],methods=[POST],consumes=[application/json || application/xml],produces=[application/json || application/xml]}}
10:31:24,125 INFO org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:Mapped "{[/QueryTransaction],methods=[POST],consumes=[application/json || application/xml],produces=[application/json || application/xml]}" onto public mypackage.QueryTransResponse mypackage.QueryTransactionController.processRequest(mypackage.QueryTransRequest,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException
...
10:31:24,130 DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:1 request handler methods found on class mypackage.TestPostJSONDocumentController: {public java.lang.String mypackage.TestPostDocumentController.execute(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException={[/testPostJSONDoc],methods=[POST]}}
10:31:24,130 INFO org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:Mapped "{[/testPostJSONDoc],methods=[POST]}" onto public java.lang.String mypackage.TestPostDocumentController.execute(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException

然而,当我访问其中任何一个URL时,它们会产生404个响应和日志条目,如下所示:

代码语言:javascript
复制
10:32:40,067 DEBUG org.springframework.web.servlet.DispatcherServlet:DispatcherServlet with name 'Spring MVC Dispatcher' processing POST request for [/webapp/gatewaymvm/testPostJSONDoc]
10:32:40,067 DEBUG org.springframework.webflow.mvc.servlet.FlowHandlerMapping:No flow mapping found for request with URI '/webapp/gatewaymvm/testPostJSONDoc'
10:32:40,068 DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:Looking up handler method for path testPostJSONDoc
10:32:40,075 DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping:Did not find handler method for [testPostJSONDoc]
10:32:40,076 WARN org.springframework.web.servlet.PageNotFound:No mapping found for HTTP request with URI [/webapp/gatewaymvm/testPostJSONDoc] in DispatcherServlet with name 'Spring MVC Dispatcher'

同样的应用程序,当部署到“传统的”WAS时,也会像预期的那样工作。我想,对于自由、Eclipse下的自由或自由下的Spring,我显然缺少了一些东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 22:03:00

在测试过程中的某个时候,我使用了从当前请求构建URL的代码,我看到了/webapp/gatewaymvm//resource,其中包含两个斜杠。

因此,我尝试从具有/webapp/gatewaymvm/上下文根的地方移除尾随斜杠,从而解决了这个问题。如果我将WAR直接安装在那里,则来自server.xml;如果我在EAR/Enterprise项目中安装了WAR,则来自application.xml

有趣的是,JSP在那里使用尾斜杠,但是Spring路径没有。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49677560

复制
相关文章

相似问题

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