【框架学习】SpringMVC原理及搭建
2017-08-02 19:38
387 查看
学习了Spring MVC 后感觉Servlet+jsp,,弱爆了,,不是一个量级,springMVC灰常灵活,使用起来相当方便。
一。概念介绍MVC概念链接
SpringMVC 处理业务流程图:
(1)DespatcherServlet(需要在web.xml中配置)
类似医院的分诊台,具有对请求进行一个分发及返回相应页面操作的功能。
(2)HandlerMapping(根据注解@RequestMapping,对应Controller)
存储 控制器与请求 链接的映射关系,,将响应请求与对应的Controller。
(3)HandlerInterceptor(需要在SpringMVC配置文件中配置拦截器,可指定拦截特定URL或者全局拦截)
请求拦截器,,对特殊请求(或者全部请求)进行拦截操作,拦截中可获取Request对象对请求参数进行操作,
拦截器与过滤器不同
(4)Controller
使用@RequestMapping注解的函数,一个Controller中可有多个子Controller。需要编写业务请求处理逻辑。
(5)HandlerAdapter/Handler(看名字就知道是适配器模式)
适配器模式,是多到一的转换(适配器模式详解)
(6)ModelAndView(类似适配器模式吧)
SpringMVC会将Controller处理结果转化为统一的ModelAndView进行处理。
(7)ViewResolve(需要在SpringMVC中进行配置)
视图处理器,将ModleAndView转化为对应的视图,,
(8)View
视图,显示作用,,可使用Jsp,Html,模板语言等等。
二。搭建
框架搭建不使用Maven,那怎么行,(maven详解)
新建一个项目使用webapp模板
pom.xml核心文件,强大的maven只需要这一句就能将SpringMVC的jar包全部导入,(springMVC依赖于Spring,spring的包也会自动导入)
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-webmvc.version}</version> </dependency>
spring-mvc.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="xatu.zsl.**"></context:component-scan> <!--开启spring MVC注解支持--> <mvc:annotation-driven> </mvc:annotation-driven> <!--配置viewResolver--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> </bean> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/student/poststudent"/> <bean class="xatu.zsl.interceptor.DemoInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> </beans>
web.xml
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.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> </web-app>
通过上面三个xml配置文件,就将,DispatcherServlet,viewResolver,及HandlerInterceptor,配置到位,现在只需要,编写Contorller,就可以开心的玩SpringMVC了
@Controller//需要保证,类能够被spring容器加载 @RequestMapping("student") //设置映射 public class StudentController { @RequestMapping("/showstudent")//设置映射 public String testStudent() { return "show"; }
Controller中的方法返回一个字符串,会去ViewResolver中找前缀和后缀进行拼接查找,,
return “show”;
会去找/WEB-INF/views/ show .jsp
相关文章推荐
- springMVC+Mybatis 学习笔记-【1】Mybatis的框架原理
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
- 学习SpringMVC——SpringMVC框架的运行原理
- Spring学习之SpringMVC框架快速搭建实现用户登录功能
- SpringMvc[学习手记]-框架搭建
- 学习springmvc的注释搭建框架
- springMVC 框架搭建学习
- SpringMVC框架学习(1)--执行原理 及 xml注解配置说明
- 学习springmvc的注释搭建框架
- springmvc学习笔记(1)-框架原理和入门配置
- springMVC学习笔记(一) ---- 搭建框架
- Springmvc学习(01)-框架原理 && 入门配置
- springMVC学习笔记---day02 springMVC+spring+mybatis整合开发框架搭建
- SpringMVC框架原理学习-各模块源码分析
- springmvc学习笔记(1)-框架原理和入门配置
- SpringMVC学习(一)--框架的搭建
- # springmvc学习笔记(1)-框架原理和入门配置
- springMVC学习-SpringMVC框架在项目中的搭建
- Spring学习之SpringMVC框架快速搭建实现用户登录功能