springmvc框架

springMvc

落花浮王杯 提交于 2019-11-28 09:17:06
spring Web Mvc是基于Servlet Api构建的原始Web框架,从一开始就包含在spring框架下,其正式名称“Spring Web Mvc”来自它的源模块(Spring-webmvc)的名称,但它更常见的名称是的“Spring MVC". 一、springMvc 本质上还是在使用servle处理,并在其基础上进行了封装简化了开发流程,提高易用性,并使应用程序逻辑结构变得更清晰。 1 基于注解的 URL映射 2 http表单参数转换 3 全局统一异常处理 4 拦截器的实现 二、各组件执行流程 dispatchSevlet 前端控制器 接受客户端的请求 --> HandlerMapping --> HandlerAdapter --> handler 执行业务处理 ---> viewResolver 基于view Name查找view ---> view 执行试图解析 HandlerMapping :基于URL查找Handler, 返回HandlerExecutionChain(包括handler和interceptorList) HandlerAdapter :处理适配器, 基于Handler查找适配器 HandlerExceptionResolver 异常解析器 接口方法ModelAndView resolveException(HttpServletRequest

SpringMVC的拦截器讲解

坚强是说给别人听的谎言 提交于 2019-11-28 06:39:29
Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 用户可以自己定义一些拦截器来实现特定的功能。 谈到拦截器,还要向大家提一个词——拦截器链(Interceptor Chain)。拦截器链就是将拦截器按一定的顺 序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。 说到这里,可能大家脑海中有了一个疑问,这不是我们之前学的过滤器吗?是的它和过滤器是有几分相似,但 是也有区别,接下来我们就来说说他们的区别: 过滤器是 servlet 规范中的一部分,任何 java web 工程都可以使用。 拦截器是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用。 过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源拦截。 拦截器它是只会拦截访问的控制器方法,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦 截的。 它也是 AOP 思想的具体应用。 我们要想自定义拦截器, 要求必须实现: HandlerInterceptor 接口。 直接上代码吧,使用idea创建一个web工程,我们使用maven进行创建,创建过程不演示。 直接看下代码的结构: 首先看我们的 HandlerInterceptorDemo 类

SpringMVC helloworld项目搭建

孤者浪人 提交于 2019-11-28 05:39:23
SpringMVC helloworld项目搭建 MVC框架做了哪些内容: a) 将url 映射到java 类处理java 类的方法 b) 封装用户提交的数据 c) 处理请求相关的业务处理--封装响应的数据 d)将响应的数据进行渲染 jsp ,html 等 spring mvc 是一个轻量级的,基于请求响应的MVC框架 基于事件驱动的JSF hello world springMVC 案例主要搭建步骤: 新建一个web 工程 1 、导入相关jar 包, 代码结构: 2. 配置web.xml 文件,主要是配置分发器 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>01springMvc_hello</display-name> <servlet> <!-

SpringMVC-拦截器

大兔子大兔子 提交于 2019-11-28 05:36:26
SpringMVC拦截器 1.拦截器的作用   SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。   用户可以自定义一些拦截器来实现特定的功能。   拦截器链:拦截器链就是将拦截器按一定的顺序连接成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。    拦截器和过滤器的区别 :      过滤器 是Servlet规范中的一部分,任何java web工程都可以使用。      拦截器 是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才可以使用。      过滤器 在url-pattern中配置了/*之后,可以对所有要访问的资源拦截。      拦截器 它只会拦截访问的控制器方法,如果访问的是jsp,html,css,image或者是js是不会进行拦截的。   它也是AOP思想的具体应用。   我们要想自定义拦截器,要求必须实现: HandlerInterceptor 接口。 2. 自定义拦截器的步骤   2.1 第一步:编写一个普通类实现HandlerInterception接口 package com.llb.interception; import org.springframework.web.servlet.HandlerInterceptor;

springmvc中如何自定义类型转换器

被刻印的时光 ゝ 提交于 2019-11-28 05:10:53
package com.hope.utils;import org.springframework.core.convert.converter.Converter;import org.springframework.util.StringUtils;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** 第一步定义一个类型转换器的类 * @author newcityman * @date 2019/11/26 - 19:57 */public class StringToDateConverter implements Converter<String,Date>{ /** * * @param source * @return */ @Override public Date convert(String source) { if(StringUtils.isEmpty(source)){ throw new RuntimeException("参数不能为空,请输入一个参数。"); } DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

springMVC请求流程详解

隐身守侯 提交于 2019-11-28 01:44:48
springMVC请求流程详解 SpringMVC框架是一个基于请求驱动的Web框架,并且使用了‘前端控制器’模型来进行设计,再根据‘请求映射规则’分发给相应的页面控制器进行处理。 (一)整体流程 具体步骤: 1、 首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的 1、2 步骤; 2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名);图中的 3、4、5 步骤; 3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图中的步骤 6、7; 4、 前端控制器再次收回控制权,将响应返回给用户,图中的步骤 8;至此整个结束。 (二)核心流程 具体步骤: 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找) 第三步:处理器映射器HandlerMapping向前端控制器返回Handler

SpringMVC框架

早过忘川 提交于 2019-11-28 01:31:51
SpringMVC框架的工作流程和常用注解 1、用户向服务器发送请求,请求被SpringMVC的前端控制器DispatcherServlet截获。 2、DispatcherServlet对请求的URL(统一资源定位符)进行解析,得到URI(请求资源标识符),然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象,包括Handler对象以及Handler对象对应的拦截器,这些对象都会被封装到一个HandlerExecutionChain对象当中返回。 url和uri的区别? URI包括URL和URN两个类别,个人的身份证号就是URN,个人的家庭地址就是URL,URN可以唯一标识一个人,而URL可以告诉邮递员怎么把货送到你手里。 3、DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter。HandlerAdapter的设计符合面向对象中的单一职责原则,代码结构清晰,便于维护,最为重要的是,代码的可复制性高。HandlerAdapter会被用于处理多种Handler,调用Handler实际处理请求的方法。 4、提取请求中的模型数据,开始执行Handler(Controller)。在填充Handler的入参过程中,根据配置,spring将帮助做一些额外的工作 消息转换:将请求的消息,如json

spring整合springmvc,springdata,security4.2搭建过程

老子叫甜甜 提交于 2019-11-28 01:18:13
最近在公司项目中遇到security2.0.8框架,遇到项目升级但是新版本的spring已经不支持2.0.8版本,并且4.2版本好像配置和以前版本有差异,去掉了很多类和方法,作为一个新入手的框架在网上搜了很多篇文章都不太详细,于是自己重新搭建了个新的demo,用到的是spring security4.2.7 springmvc4.3.18,spring4.3.18,springdata1.10.11,以及一些其他常用框架 完整的pom.xml如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SSH</groupId> <artifactId>SSH</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>SSH</name>

SpringMVC 3.1.2的配置

心已入冬 提交于 2019-11-28 01:14:48
SpringMVC 3.1.2的配置 ssi的框架 web.xml <? xml version ="1.0" encoding ="UTF-8" ?> < web-app 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_2_5.xsd" version ="2.5" > < servlet > < servlet-name > SpringMVC </ servlet-name > < servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class > < init-param > < param-name > contextConfigLocation </ param-name > < param-value > /WEB-INF/classes/spring-*.xml </ param-value > </ init-param > <

SpringMvc 3.2配置指南

帅比萌擦擦* 提交于 2019-11-28 01:12:36
1.springmvc框架介绍。 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 2.所需jar包 从spring官网上下载spring mvc3.2版本,导入所有jar包,另外还需要一些支持包,aop相关、log4j、commons