一、 把spring3.1.1 的jar 导入到工程
二、 配置 web.xml
<filter><!-- 过滤器 避免出现乱码 -->
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet><!-- 配置 前端控制器 -->
<servlet-name>spring3mvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring3mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
三、配置 spring3mvc-servlet.xml 注: spring3mvc 就是 web.xml 里配置的前端控制器的 servlet-name
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 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>
<!-- 处理器-->
<bean name="/hello"
class="com.auto.oper.config.web.HelloWorldController" />
</beans>
四、编写 开发处理器/页面控制器
第一种、直接实现 接口 Controller
HelloWorldController.java
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 HelloWorldController implements Controller{
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
//1、收集参数、验证参数
//2、绑定参数到命令对象
//3、将命令对象传入业务对象进行业务处理
//4、选择下一个页面
ModelAndView mv = new ModelAndView();
//添加模型数据可以是任意的POJO对象
mv.addObject("message", "Hello World!");
//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
mv.setViewName("hello");
return mv;
}
}
五、编写接收结果页面
//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
mv.setViewName("hello"); 决定了逻辑视图名
路径是前面 spring3mvc-servlet.xml 配置的 <property name="prefix" value="/WEB-INF/jsp/" />
hello.jsp
${message} //页面输出 mv.addObject("message", "Hello World!"); Hello World!
运行步骤:
1、 首先用户发送请求http://localhost:8080/spring3mvc/hello——>web容器,web容器根据“/hello”路径映射到DispatcherServlet(url-pattern为/)进行处理;
2、 DispatcherServlet——>BeanNameUrlHandlerMapping进行请求到处理的映射,BeanNameUrlHandlerMapping将“/hello”路径直接映射到名字为“/hello”的Bean进行处理,即HelloWorldController,BeanNameUrlHandlerMapping将其包装为HandlerExecutionChain(只包括HelloWorldController处理器,没有拦截器);
3、 DispatcherServlet——> SimpleControllerHandlerAdapter,SimpleControllerHandlerAdapter将HandlerExecutionChain中的处理器(HelloWorldController)适配为SimpleControllerHandlerAdapter;
4、 SimpleControllerHandlerAdapter——> HelloWorldController处理器功能处理方法的调用,SimpleControllerHandlerAdapter将会调用处理器的handleRequest方法进行功能处理,该处理方法返回一个ModelAndView给DispatcherServlet;
5、 hello(ModelAndView的逻辑视图名)——>InternalResourceViewResolver, InternalResourceViewResolver使用JstlView,具体视图页面在/WEB-INF/jsp/hello.jsp;
6、 JstlView(/WEB-INF/jsp/hello.jsp)——>渲染,将在处理器传入的模型数据(message=HelloWorld!)在视图中展示出来;
7、 返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束
分享到:
相关推荐
Spring3 MVC 学习笔记 入门 Spring3 MVC 学习笔记 入门
spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记spring mvc学习笔记
spring mvc学习笔记,包括学习遇到的问题和解决方法。
传智播客 Spring MVC 学习笔记
spring mvc的学习笔记,主要讲解了基于xml的配置,和如何增加spring mvc拦截器,如何返回json报文
这是个人的Spring MVC的MD版学习笔记+源码文件,具体参考:https://blog.csdn.net/m0_46153949/article/details/114260215
sample code 博文链接:https://starscream.iteye.com/blog/1057305
基于注解的spring_3.0.x_MVC学习笔记
自己学习spring课程的笔记。笔记都是根据尚硅谷的课程(spring ioc,spring aop,spring mvc,spring boot等)写的。 主要内容:spring ioc,spring aop,spring mvc,spring boot
NULL 博文链接:https://starscream.iteye.com/blog/1072180
工程文件 博文链接:https://starscream.iteye.com/blog/1067606
Spring MVC 3学习笔记+教程 这是一个学习spring mvc设计模式很好的参考文档,希望大家可以从中学到东西
工程文件 博文链接:https://starscream.iteye.com/blog/1072179
NULL 博文链接:https://mengshadow.iteye.com/blog/1826299