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 会根据配置信息找到相应的控制器方法,并执行该方法,最终返回一个视图名称,然后根据视图名称和配置信息,找到相应的视图资源,并将其渲染为响应页面返回给客户端。

Spring MVC 项目中 SpringMVC-servlet.xml 配置详解及请求处理分析

原文地址: https://www.cveoy.top/t/topic/kQJT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录