关于Spring MVC中的请求映射的一些疑问

时间:2015-04-15 10:35:07

标签: java spring spring-mvc

我正在为Spring MVC学习,在学习材料上我有以下问题,我有些疑惑:

  

假设网络应用程序上下文名称为" rewardsonline" ,   servlet映射 / admin / * ,传入的URL为   " " rewardsonline / admin / accounts / show" 从中使用的网址是什么   Spring MVC请求映射目的?

     
      
  • / rewardsonline /管理/账户/显示

  •   
  • /管理/账户/显示

  •   
  • /帐户/显示

  •   
  • /显示

  •   

我认为正确的答案是 / accounts / show ,我有以下方式的理由: rewardsonline 是applcation名称(应用程序上下文名称是应用程序名称**。

/ admin / accounts / servlet映射,而finnaly show 是请求映射(映射到特定方法)。

推理是正确的还是我错过了什么?

2 个答案:

答案 0 :(得分:1)

您的假设是正确的

给出这个web.xml片段

<servlet-mapping>
    <servlet-name>your org.springframework.web.servlet.DispatcherServlet</servlet-name>
    <url-pattern>/admin/*</url-pattern>
</servlet-mapping>

在课堂上你必须写

@RequestMapping(value = "/accounts/show", method = RequestMethod.GET)
...your method starts here

将类方法映射到单个URL

记得把这个

<context:component-scan base-package="the package of the classes you want to map"/>
弹簧配置中的

答案 1 :(得分:1)

正确。正如你所说,“rewardsonline”是应用程序上下文。 / admin / *是servlet映射,这意味着来自/ admin /的任何请求都将由spring mvc处理。 / accounts / show用于请求映射目的。带映射/ accounts / show的控制器将处理此请求。