springMVC的基本原理:
中央调度器根据浏览器发来的请求格式进行相应的调度工作,若请求格式与中央调度器的url-pattern相匹配,那么中央调度器就对请求进行调度,若不匹配,那么请求就不会被中央调度器给拦截,直接进行资源访问。
当中央调度器拦截到请求,那么中央调度器就会把请求转发给处理器映射器,处理器映射器处理完请求就会把处理器执行链(包含拦截器等相关信息)回复给中央调度器,中央调度器把处理器执行链发给处理器映射器,处理器映射器会调用对应的处理器,并把执行结果发给中央调度器,中央调度器把结果再发给视图解析器,视图解析器调用自己的渲染方法来渲染视图,并把渲染结果回复给中央调度器,中央调度器把渲染结果响应给浏览器。
工程中各个部件:
中央调度器:DispatcherServlet,必须配置在web.xml文件中
处理器映射器:不是必须配置,jar包中有默认配置,如果配置,那么就配置在springMVC.xml文件中
处理器适配器:不是必须配置,jar包中有默认配置,如果配置,那么就配置在springMVC.xml文件中
处理器:必须创建处理器并且注册在springMVC.xml文件中
视图解析器:不是必须配置,jar包中有默认配置,如果配置,那么就配置在springMVC.xml文件中
1、web.xml
<?xml version="1.0" encoding="UTF-8"?> 01-springMVCPrimary index.html index.htm index.jsp default.html default.htm default.jsp springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springMVC.xml 1 springMVC *.do ## 2、springMVC.xml <?xml version="1.0" encoding="UTF-8"?> <!-- 注册视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 注册控制器 -->
<bean id="/my.do" class="com.handlers.MyController"/>
## 3、Class MyController package com.handlers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MyController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("message", "Hello SpringMVC World!");
mv.setViewName("welcome");
return mv;
}
}
4、welcome.jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
***