java - 没有为预期的 URL 调用 Spring Controller
问题描述
我正在尝试构建一个 SpringMVC 应用程序并尝试调用一个控制器。它给了我一个 java.io.FileNotFound 异常的错误。应用程序使用 RootContext 值“springmvc”构建并安装在 Websphere 9 上
调用 URL 以命中控制器 -
http://localhost:9080/springmvc/logon
并且此 URL 为“/logon”提供了一个 filenotFound。但是,同时http://localhost:9080/springmvc/
与 Controller 绑定并将输出作为“Hello World”。我不确定为什么 /logon 未被识别。
我尝试将 web.xml 中的 URL 模式保留为 /springmvc/ 或 /springmvc/* 但它们都不起作用。我也试过在控制器中给出完整的路径。
控制器 '''
` @Controller
public class AdminController{
@RequestMapping(value="/logon" , method = RequestMethod.GET)
@ResponseBody
public String config(){
system.out.println("Inside Config Method");
return "Hello World!";
} `
'''
Web.xml
`
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/todo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/springmvc/*</url-pattern>
</servlet-mapping> `
todo-servlet.xml -
` <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="springmvc.com.controller" />
<mvc:annotation-driven />
</beans>`
我希望http://localhost:9080/springmvc/logon
从 AdminController 类返回响应。请建议我缺少什么或我应该尝试什么 url 模式?
解决方案
假设 AdminController 在 springmvc.com.controller 包上。我看到的问题是 url 模式,在这种情况下,登录应该在路径上: http://localhost:9080/springmvc/springmvc/logon
第一个(springmvc)是应用程序的上下文,所有的点都从它开始。第二个在您的应用程序内部。
您需要定义 / 以获得预期的结果。
推荐阅读
- angular - 如何在变量中应用'"'?
- python - 训练facenet时出现ValueError
- bazel - 如何使 sh_test 依赖于构建 docker 镜像?
- python - 如何计算累积平均收入?Python
- angular - 如何在 Angular 9/TypeScript 中添加垂直滚动条
- firebase - firebase 多区域的优势
- python - 保存的模型无法加载包含自定义方法的层
- javascript - .getValues 无法读取自定义函数
- logstash - ElasticStack 中的架构 logstash 配置文件
- excel - VBA 数字格式货币 2dp