Spring控制器的URL请求映射无法正常工作 [英] Spring Controller's URL request mapping not working as expected
问题描述
我在web.xml中创建了一个映射,如下所示:
I have created a mapping in web.xml something like this:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/about/*</url-pattern>
</servlet-mapping>
在我的控制器中我有这样的:
In my controller I have something like this:
import org.springframework.stereotype.Controller;
@Controller
public class MyController{
@RequestMapping(value="/about/us", method=RequestMethod.GET)
public ModelAndView myMethod1(ModelMap model){
//some code
return new ModelAndView("aboutus1.jsp",model);
}
@RequestMapping(value="/about", method=RequestMethod.GET)
public ModelAndView myMethod2(ModelMap model){
//some code
return new ModelAndView("aboutus2.jsp",model);
}
}
我的dispatcher-servlet.xml有视图解析器:
And my dispatcher-servlet.xml has view resolver like:
<mvc:annotation-driven/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"/>
令我吃惊的是:request ... / about / us
没有到达控制器中的myMethod1。浏览器显示404错误。我把一个记录器里面的方法,但它不打印任何东西,意思,它没有被执行。
... / about
工作正常!可以做什么可以使 ... / about / us
请求工作?任何建议?
To my surprise: request .../about/us
is not reaching to myMethod1 in the controller. The browser shows 404 error. I put a logger inside the method but it isn't printing anything, meaning, its not being executed.
.../about
works fine! What can be the done to make .../about/us
request work? Any suggestions?
推荐答案
您需要使用 @RequestMapping(value =/ us RequestMethod.GET)
或您需要请求约/约/ us
You need to use @RequestMapping(value="/us", method=RequestMethod.GET)
or You need to request about/about/us
这篇关于Spring控制器的URL请求映射无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!