Spring MVC 项目中 SpringMVC-servlet.xml 配置详解及请求处理分析
Spring MVC 项目配置分析及请求处理
本文将通过分析 Spring MVC 项目中的配置文件和控制器代码,阐述 Spring MVC 中的请求处理流程。
1. SpringMVC-servlet.xml 配置片段
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/PWEB-NF/aaa/" />
  <property name="suffix" value=".jsp" />
</bean>
该配置片段定义了一个 InternalResourceViewResolver Bean,用于解析视图资源。
- prefix: 视图资源的前缀路径,设置为 /PWEB-NF/aaa/,表示所有视图资源都位于该目录下。
- suffix: 视图资源的后缀名,设置为 .jsp,表示所有视图资源都是 JSP 文件。
2. 控制器类 IndexController.java 片段
@Controller
@RequestMapping("/hbb")
public class IndexController {
  @RequestMapping("/cce")
  public String ddd() {
    System.out.println("eee");
    return "fff";
  }
}
该控制器类定义了一个名为 ddd 的方法,用于处理 /cce 请求。
- @Controller: 标识该类为一个控制器类。
- @RequestMapping("/hbb"): 标识该控制器类处理的所有请求都以 /hbb开头。
- @RequestMapping("/cce"): 标识该方法处理 /hbb/cce请求。
- return "fff": 方法返回 fff字符串,表示该方法处理完成后跳转到fff.jsp页面。
3. 请求地址及响应页面分析
项目部署后访问地址为 http://localhost:8080/hello,并假设以下请求:
(1) 请求地址为 http://localhost:8080/hello/cce,该请求会匹配到 IndexController 类中的 ddd 方法。
(2) 响应页面为 /PWEB-NF/aaa/fff.jsp,由于 ddd 方法返回 fff 字符串,并且 InternalResourceViewResolver Bean 的 prefix 属性为 /PWEB-NF/aaa/,suffix 属性为 .jsp,因此最终响应页面为 /PWEB-NF/aaa/fff.jsp。
总结
通过上述分析,我们可以看到,Spring MVC 的请求处理流程主要依赖于 SpringMVC-servlet.xml 中的配置以及控制器类中的 @Controller、@RequestMapping 等注解。在接收到请求后,Spring MVC 会根据配置信息找到相应的控制器方法,并执行该方法,最终返回一个视图名称,然后根据视图名称和配置信息,找到相应的视图资源,并将其渲染为响应页面返回给客户端。
原文地址: https://www.cveoy.top/t/topic/kQJT 著作权归作者所有。请勿转载和采集!