SpringMVC之SpringMVC简介
2016-04-12 20:56
561 查看
1.SpringMVC概述
•Spring 为展现层提供的基于 MVC 设计理念的优秀的 •Web 框架,是目前最主流的 MVC 框架之一•Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架
•Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。
•支持 REST 风格的 URL 请求
•采用了松散耦合可插拔组件结构,比其他 MVC 框架更具
扩展性和灵活性2.SpringMVC的运行流程。
#
1.我们会发一个请求,我们看请求能不能发到我们在web.xml文件中配置的SpringDispatcherServlet。 2.然后看SpringMVC中有没有对应的映射。就是我有没有用@RequestMapping映射过 2.1.如果要是没有映射过,还要来看有没有配置<mvc:default-servlet-handler />.如果这个还没有配置,控制台打印说没有对应的映射,同事给一个404页面 2.2.如果有,则去找目标资源。 3.如果SpringMVC中有对应的映射,这个时候会有HandleMapping获取HandlerExecutIonChain对象。 4.然后获取HandlerAdapter对象。 5.调拦截器方法 6.调用目标Handler的目标方法得到ModelAndView对象 7.调用拦截器的PostHandler方法。这个时候我们要看调用目标方法时是不是有异常,要是有,则用异常解析器去解析这个异常,得到一个新的ModelAndView对象。 8.用视图解析器去解析对象得到实际的View 9.渲染视图,调用拦截器的afterCompletion方法。
3.SpringMVC的配置。
步骤:1.加入jar包
commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring-core-4.0.0.RELEASE.jar spring-expression-4.0.0.RELEASE.jar spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar
2.在web.xml中DispatcherServlet.:DispatcherServlet 默认加载 /WEB- INF/.xml 的 Spring 配置文件, 启动 WEB 层的 Spring 容器。可以通过 contextConfigLocation 初始化参数自定
义配置文件的位置和名称
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置 DispatcherServlet 的一个初始化参数: 配置 SpringMVC 配置文件的位置和名称 --> <!-- 实际上也可以不通过 contextConfigLocation 来配置 SpringMVC 的配置文件, 而使用默认的. 默认的配置文件为: /WEB-INF/<servlet-name>-servlet.xml --> <!-- <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
3.加入SpringMVC的配置文件 dispatcherServlet-servlet.xml
<?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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 配置自定扫描的包 --> <context:component-scan base-package="com.springmvc"></context:component-scan> <!-- 配置视图解析器: 如何把 handler 方法返回值解析为实际的物理视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- 配置视图 BeanNameViewResolver 解析器: 使用视图的名字来解析视图 --> <!-- 通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 --> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"> <property name="order" value="100"></property> </bean> <!-- 配置国际化资源文件 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="i18n"></property> </bean> <!-- 配置直接转发的页面 --> <!-- 可以直接相应转发的页面, 而无需再经过 Handler 的方法. --> <mvc:view-controller path="/success" view-name="success"/> <!-- 在实际开发中通常都需配置 mvc:annotation-driven 标签 --> <mvc:annotation-driven></mvc:annotation-driven> </beans>
相关文章推荐
- Java多线程详解
- Java-单机版的书店管理系统(练习设计模块和思想_系列 五 )
- Java-单机版的书店管理系统(练习设计模块和思想_系列 五 )
- java线程(4)——线程同步的锁技术
- SpringMVC与Mybatis框架整合遇到的坑(转)
- Java二叉树(二)--根据前序和中序遍历求后序遍历
- Java中的多态 和 强制类型转换
- Java线程理解(2) 线程生命周期
- Java学习笔记之HashMap和Hashtable的区别
- 使用spring mybatis时,开启tomca失败
- Java二叉树(一)--定义及前序、中序、后序、层次遍历及求高度的实现
- java中的乱码问题
- Java学习-047-数值格式化及小数位数四舍五入
- LeetCode Power of Two JAVA
- Java中的泛型
- 在myeclipse中快速搭建Struts2框架
- java7中提供的多线程操作
- Java中接口和抽象类的区别
- java CountDownLatch(闭锁)
- Java基础知识