springmvc框架

SpringMVC使用mvc:annotation-driven自动注册标签

淺唱寂寞╮ 提交于 2020-02-04 13:23:18
1、处理器映射器(HandlerMapping)和处理器适配器(HandlerAdapter) 处理器映射器(HandlerMapping)其作用是根据请求的URL路径,通过注解或者XML配置,寻找匹配的处理器(Handler)信息。处理器适配器(HandlerAdapter)其作用是根据映射器找到的处理器(Handler)信息,按照特定规则执行相关的处理器(Handler)。对于用户的请求,处理器映射器和处理器适配器为前端控制器(DispatcherServlet)与处理器(Handler)的交互搭建了重要的桥梁。 处理器映射器和处理器适配器有两种配置方式:一种是基于XML的资源配置,也即非注解的配置方式;另外一种是基于Annotation注解的配置。 1.1 非注解的处理器映射器和适配器(基于XML的资源配置) 第一种配置方式为非注解的处理器映射器和适配器,声明相关的bean及实现即可,配置如下: <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.method

spring和springmvc面试题

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-04 12:07:01
1.如何介绍spring 企业级的开源框架,在整个项目中充当容器作用,可以实现各个框架的整合(能够很好的整合第三方优秀插件,如mybatis,struts2等),包含两大核心模块,ioc和aop(也就是控制反转和面向切面编程)。ioc(控制反转)就是把创建对象的权力反转给spring容器进行创建。aop(面向切面编程,思想):在不改变源代码的基础上额外添加新的功能,如拦截器,过滤器,声明式事务 2.spring优点: 提高了层与层之间的解耦性,便于扩展和维护 3.di:给spring管理的对象属性赋值,三种:构造器,set方法,注解的自动装配(有什么注解,注解的什么作用什么时候用) 4.自动装配:自动装配就是把ioc容器中已经有的对象,通过@Autowired注解,根据属性的类型,spring会自动注入值创建实例对象 5.spring设计模式:常用的工厂和单例 6.什么是springmvc? 是基于模型视图控制器的一种(mvc)设计模式,mvc:m model,v:页面,c:controller 7.springmvc的运行原理(执行流程): 客户端发送请求提交给前端控制器,前端控制器根据请求的url找到处理器映射器,处理器映射器找处理器适配器,执行相应的处理器(controller),根据controller返回的结果去调用视图解析器,视图解析器实现页面的渲染和显示 8

SpringMVC基础知识整理

£可爱£侵袭症+ 提交于 2020-02-01 15:58:32
目录 三层架构 MVC模型 SpringMVC概述 springmvc是什么 springmvc和structs2比较 springmvc 环境搭建 spring的配置文件头部 入门程序编写 springmvc工作流程(原理) 解决post请求中文乱码问题(使用过滤器filter) 请求参数绑定 自定义类型转换器 获取原生servlet的API 常见注解 @RequestMapping @RequestParam @RequestBody @PathVariable @RequestHeader(用的较少) @CookieValue @ModelAttribute @SessionAttributes restful编程风格 响应请求的四种方式 响应之后返回值是string类型 响应之后返回值是void类型 响应之后返回值是ModelAndVies类型 使用forward和redirect关键字进行页面跳转 发送ajax请求并响应(数据传输以json格式进行传输) 文件上传 传统方式 springmvc文件上传 跨服务器实现文件上传 springmvc的异常处理 异常处理思路 springmvc异常处理示例小代码 springmvc拦截器 springmvc拦截器入门小程序 三层架构 我们的开发一般有两种形式:C/S架构,B/S架构,在JavaEE开发中,几乎都是基于B

springmvc自定义转换器

China☆狼群 提交于 2020-01-31 02:40:50
日期传值的时候出现错误,自定义一个转换器来实现 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; //实现 converter接口 public class StringToDateConverter implements Converter<String, Date> { /** * 传过来的值 * @param s * @return */ @Override public Date convert(String s) { if(s == null){ throw new RuntimeException("请您传入参数"); } DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //把字符串转日期 try { return df.parse(s); } catch (ParseException e) { throw new RuntimeException("数据转行错误"); } } } 在springmvc的xml里配置参数 <!--自定义转换器--> <bean id="conversionServiceFactoryBean"

SpringMVC框架之处理文件上传(附照片上传Demo)

自古美人都是妖i 提交于 2020-01-31 02:23:54
在上一篇 Spring、SpringMVC、Mybatis框架整合(IDEA)(附Demo) 演示了SSM框架的整合,但是Product照片上传还没有实现,在本篇博客将实现该功能。 本篇博客就不再复述项目创建、配置了,直接去 Spring、SpringMVC、Mybatis框架整合(IDEA)(附Demo) 下载Demo源码即可。 SpringMVC框架处理文件上传,是对 Apache fileupload 的封装,由MultipartFile接口来实现文件上传。在Java Web哪块我就写过一篇运行 Apache fileupload 上传文件的博客 Java Web 通过JSP上传文件实例 1、导入 Apache fileupload 依赖 commons-io 下载地址: https://mvnrepository.com/artifact/commons-io/commons-io/2.6 commons-fileupload 下载地址: https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload/1.4 2、导入 jQuery js库 3、配置SpringMVC文件接收器 <!-- 5.配置springmvc文件处理 --> < bean id = " multipartResolver

了解spring MVC

百般思念 提交于 2020-01-30 23:06:29
1 springMVC springMVC基于java实现的MVC的设计模式,通过把model,view,controller分离,将web层进行解耦,将复杂的逻辑清晰化,简化代码开发,方便开发人员之间的配合. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjgXi86v-1573720869970)(image/springmvc流程.jpg)] 用户向服务器发开请求,请求被SpringMVC 前端控制器 DispatcherServlet 捕获; DispatcherServlet收到请求调用HandlerMapping处理器映射器()。 DispatcherServlet 对请求 URL 进行解析,得到请求资源标识符(URI)。然后根据该 URI,调用 HandlerMapping 获得该 Handler 配置的所有相关的对象(包括 Handler 对象以及 Handler 对象对应 的拦截 器),最后以 HandlerExecutionChain 对象的形式返回; DispatcherServlet 根据获得的 Handler,选择一个合弁的 HandlerAdapter;(附注:如果成功获得 HandlerAdapter 后,此时将开始执行拦截器的 preHandler(true或者false) 方法) 提取 Request 中的模型数据

SpringBoot对SpringMVC的支持

依然范特西╮ 提交于 2020-01-30 12:34:11
7.1.1. Spring MVC Auto-configuration Spring Boot provides auto-configuration for Spring MVC that works well with most applications. The auto-configuration adds the following features on top of Spring’s defaults: Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. Support for serving static resources, including support for WebJars (covered later in this document )). Automatic registration of Converter , GenericConverter , and Formatter beans. Support for HttpMessageConverters (covered later in this document ). Automatic registration of MessageCodesResolver (covered later

SpringMvc

孤街醉人 提交于 2020-01-28 23:44:09
三层结构介绍 表现层 : * 也就是我们常说的web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。 * 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。 * 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。 * 表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系) 业务层 : * 也就是我们常说的 service 层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 web 层。 * 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的, 事务应该放到业务层来控制) 持久层 : * 也就是我们是常说的 dao 层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进行曾删改查的。 SpringMvc是什么? SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork

SpringMVC框架之创建第一个项目(IDEA)

别说谁变了你拦得住时间么 提交于 2020-01-27 22:10:49
Spring MVC框架 是 Spring 提供的一个强大而灵活的WEB框架(Struts2框架也是WEB框架)。借助于注解, Spring MVC 提供了 POJO (又称为 enitity 实体、 model 模型)的开发模式,使得 controller 控制器的开发和测试更加简单。这些 controller 控制器一般不直接处理请求,而是将其委托给 Spring 上下文中的其他 bean ,通过 Spring 的依赖注入功能,这些 bean 被注入到控制器中。 Spring MVC 主要由 DispatcherServlet 、处理器映射【找控制器】、适配器【调用控制器的方法】、控制器【业务】、视图解析器、视图组成。 下面将演示如何在项目中配置 SpringMVC 框架,但是由于 SpringMVC 一般不单独使用,如上介绍, SpringMVC 需要配合 Spring 框架,因此你首先需要掌握一定的 Spring 框架的使用。 1、创建一个普通的Java Web项目 2、导入Spring、SpringMVC框架依赖 ①、在 web/WEB-INF 目录下创建lib文件夹 ②、复制Spring、SpringMVC的依赖到项目lib文件夹 Spring框架支持包下载地址: https://repo.spring.io/release/org/springframework

Tomcat是如何启动Spring,SpringMVC,Mybatis整合的web项目的?

冷暖自知 提交于 2020-01-27 14:40:13
1. 当我们启动一个web项目时, 会先去启动tomcat, 也就是Bootstrap的mian()方法, tomcat开始由server组件开始一层一层向下初始化以及启动; 2. 当启动Host容器之后, 会触发HostConfig的监听操作, 开始部署/webapps目录下的web项目, 然后会通过反射创建Context实例对象, 并将当前部署的web项目绑定到该Context容器实例上; 3. 同时会将该Context实例添加到Host实例的子对象中, 在添加过程中会触发Context的初始化以及启动, 在启动过程中会触发"加载时启动"的Servlet, 也就是SpringMVC中的DispatcherServlet, 将会执行该Servlet的init()方法; 4. 在init()方法中将会触发Spring中IOC容器的初始化, 对项目中的bean实例进行注册以及管理, 在IOC容器初始化完成之后, 将会发送结束事件; 5. 此时事件会被SpringMVC监听到, 然后会从IOC容器中获取已经注册的SpringMVC相关的bean实例, 开始SpringMVC的初始化过程, 也就是将SpringMVC的各个组件注册到SpringMVC的上下文中; (IOC容器中注册的我们自定义的Bean用来处理业务逻辑的在后面项目处理请求时会使用) 当SpringMVC初始化完成,