Spring mvc 入门
DispatcherServlet 处理映射器 handler mapping 页面控制器动作为Controller 接口
核心架构 具体流程 步骤。
1 首先用户发送请求,DispatcherServlet 前端控制器收到请求后自己不进行处理,而是委托其他的解析器进行处理
2 DiaspatcherServlet——》HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略
3 DiaspatcherServlet--》HandlerAdapter,HandlerAdapter将会把处理器包装为适配器从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器
4HandlerAdapter-->处理功能处理方法的调用,HandlerAdapter将会根据失陪的结果调用真正的处理其的功能处理方法,完成功能处理,并返回一个ModelAndView对象(包含模型数据,逻辑视图名)
5ModelAndView 名字 ViewResolver 将会把逻辑视图解析为具体的View 通过这种模式 很容易 更换技术。
6 View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术
7返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束
web。xml 中配置
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
BeanNameUrlHandlerMapping:表示将请求的URL和Bean名字映射
load-on-startup:表示启动容器时初始化一个Servlet
url-pattern 表示 处理请求的地址
HandlerMapping,HandlerAdapter 配置在 WEB-INF/servlet-servlet.xml文件中
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
SimpleControllerHandlerAdapter:表示所有实现了org.springframework.web.servlet.mvc.Controller接口的Bean可以作为Spring Web MVC中的处理器 以简单的形式 作为Controller
具体配置在WEB-INF/servlet-servlet.xml文件中
<!-- ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
前缀名和后缀名
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
//1、收集参数、验证参数
//2、绑定参数到命令对象
//3、将命令对象传入业务对象进行业务处理
//4、选择下一个页面
ModelAndView mv = new ModelAndView();
//添加模型数据 可以是任意的POJO对象
mv.addObject("message", "Hello World!");
//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
mv.setViewName("hello");
return mv;
}
我们需要将其添加到Spring配置文件 让其接受Spring IoC容器管理
<bean name="/hello" class="cn.javass.chapter2.web.controller.HelloWorldController"/>
Spring MVC
最新推荐文章于 2025-07-24 17:23:02 发布