Spring class 级别和方法级别 404 状态上的 mvc @RequestMapping
Spring mvc @RequestMapping on class level and method level 404 Status
我知道这里有很多帖子有同样的问题,但其中 none 似乎对我有帮助,所以这可能是重复的。
我正在使用 Maven 创建一个 spring mvc 应用程序,我只有一个控制器和一种方法。当我将请求映射注释仅放在 class 级别时,应用程序工作正常但是当我将它放在 class 级别和方法级别时,我发送这样的请求:
localhost:8080/myapplication/planification/projet
我收到 404 错误:HTTP 状态 404 - /myapplication/planification/WEB-INF/pages/test。jsp
这是我的控制器
@Controller
@RequestMapping("/planification")
public class PlanificationController {
@RequestMapping("/projet")
public ModelAndView projets (ModelAndView m){
m.addObject("projets", "All projects");
m.setViewName("test");
return m;
}
}
mvc-调度程序-servlet.xml
<beans>
<context:component-scan base-package="com.smit"/>
<mvc:annotation-driven/>
<!-- **** VIEW RESOLVER BEAN **** -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
web.xml
<web-app>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet- class>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mvc-dispatcher-servlet.xml
</param-value>
</context-param>
</web-app>
等等,你在RequestMapping值前面使用/,意思是从根开始。你应该像这样删除它
@RequestMapping("projet")
然后转到localhost:8080/myapplication/planification/projet
编辑:
WEB-INF前面应该有/!
我知道这里有很多帖子有同样的问题,但其中 none 似乎对我有帮助,所以这可能是重复的。
我正在使用 Maven 创建一个 spring mvc 应用程序,我只有一个控制器和一种方法。当我将请求映射注释仅放在 class 级别时,应用程序工作正常但是当我将它放在 class 级别和方法级别时,我发送这样的请求:
localhost:8080/myapplication/planification/projet
我收到 404 错误:HTTP 状态 404 - /myapplication/planification/WEB-INF/pages/test。jsp
这是我的控制器
@Controller
@RequestMapping("/planification")
public class PlanificationController {
@RequestMapping("/projet")
public ModelAndView projets (ModelAndView m){
m.addObject("projets", "All projects");
m.setViewName("test");
return m;
}
}
mvc-调度程序-servlet.xml
<beans>
<context:component-scan base-package="com.smit"/>
<mvc:annotation-driven/>
<!-- **** VIEW RESOLVER BEAN **** -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
web.xml
<web-app>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet- class>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/mvc-dispatcher-servlet.xml
</param-value>
</context-param>
</web-app>
等等,你在RequestMapping值前面使用/,意思是从根开始。你应该像这样删除它
@RequestMapping("projet")
然后转到localhost:8080/myapplication/planification/projet
编辑:
WEB-INF前面应该有/!