1.SpringMVC 概述
SpringMVC 简介
SpringMVC 也叫 Spring web mvc ,属于表现层的框架。SpringMVC 是 Spring框架的一部分,是在Spring3.0后发布的
第一个SpringMVC 程序
1.导入jar包
2.注册中央调度器
a)<load-on-startup/> 值大于等于0时,表示这个servlet随服务器启动
b)<url-pattern/> 不能写为 /*,最好也不要写为 /,建议写为 *.do的形式
/* 所有的请求都拦截下来,JSP页面的跳转也会拦截下来,此时是没有对应的处理器的,会报404
/ 无法对静态资源进行访问
c) 配置文件与名称(这里必须要设置一下,不然会根据servlet的name 生成不同的文件名称,然后去找这个文件)
<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param>
3.创建SpringMVC配置文件(springmvc.xml)
4.定义处理器
1 public class MyController implements Controller { 2 3 @Override 4 public ModelAndView handleRequest(HttpServletRequest request, 5 HttpServletResponse response) throws Exception { 6 System.out.println("1"); 7 ModelAndView mv = new ModelAndView(); 8 9 //这句话相当于request.setAttribute 10 mv.addObject("message", "Hello SpringMVC!"); 11 12 //mv.setViewName("/WEB-INF/jsp/hello.jsp"); 13 //在对视图解析器进行修改之后,视图名就可以这样写 14 mv.setViewName("hello"); 15 return mv; 16 } 17 18 }
1.需实现Controller 接口,Struts2也是一样,Acrion也要继承ActionSupport
2.ModelAndView 类中的addObject() 方法用于向其Model中添加数据。Model底层为一个Map
5.注册处理器
定义了自己的处理器后,需要在springmvc.xml中注册,
处理器的id属性值为请求uri,当客户端提交该请求时,会访问class指定的这个处理器,默认调用 handleResult方法
1 <!-- 注意,这里 bean 的 id 一定要加上 '/' 不能是 hello.do --> 2 <bean id="/hello.do" class="com.springmvc.handlers.MyController"/>
6.定义目标页面
7.修改视图解析器的注册
1 <!-- 配置视图解析器 --> 2 <!-- 字符串拼接 出 访问的 web 资源 ,但是并不好用--> 3 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 4 <property name="prefix" value="/WEB-INF/jsp/"></property> 5 <property name="suffix" value=".jsp"></property> 6 </bean>
8.修改处理器
1 //mv.setViewName("/WEB-INF/jsp/hello.jsp"); 2 //在对视图解析器进行修改之后,视图名就可以这样写 3 mv.setViewName("hello");