Spring 控制器未按预期被调用 URL
Spring Controller not being called for expected URL
我正在尝试构建一个 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 没有被识别。
我尝试将 URL Pattern in web.xml 保留为 /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> `
待办事项-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
到 return 来自 AdminController class 的响应。
请建议我缺少什么或者我应该尝试什么 url-pattern?
假设 AdminController 在 springmvc.com.controller 包中。
我看到的问题是 url-pattern,在这种情况下,登录应该在路径上:
http://localhost:9080/springmvc/springmvc/logon
第一个(springmvc)是应用的上下文,所有的点都从它开始。第二个在您的应用程序中。
您需要定义 / 以获得预期的结果。
我正在尝试构建一个 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 没有被识别。
我尝试将 URL Pattern in web.xml 保留为 /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> `
待办事项-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
到 return 来自 AdminController class 的响应。
请建议我缺少什么或者我应该尝试什么 url-pattern?
假设 AdminController 在 springmvc.com.controller 包中。 我看到的问题是 url-pattern,在这种情况下,登录应该在路径上: http://localhost:9080/springmvc/springmvc/logon
第一个(springmvc)是应用的上下文,所有的点都从它开始。第二个在您的应用程序中。
您需要定义 / 以获得预期的结果。