springmvc配置

springMVC请求流程详解

不问归期 提交于 2019-12-16 11:20:25
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-12-15 17:39:23
1.springmvc运行流程 流程图是直接在百度图片中找的一张 >.前台发送请求,请求会首先通过DispatcherServlet进行url的匹配;如果匹配不到,看是否配置<mvc:default-servlet-hanler> 如果配置了,就找对应的目标资源 >.如果匹配到url,就调用HandlerMapping,获取到handlerExecutionChain >.dispatcherServlet会调用handlerAdapter >.handlerAdapter调用对应的handler,也就是controller方法。 >.调用完成之后,返回modelAndView >.视图解析器会解析出对应的view,并进行视图的渲染 2.springMVC的核心类和接口 前端控制器 DispatcherServlet 处理器映射器 HandlerMapping 处理器适配器 HandlerAdapter 视图解析器 viewResolver ModelAndView 3.springmvc的controller有三种配置方式 1.@Controller注解 2.实现Controller接口,这种方式,需要在类名增加@Component("/映射地址") 3.实现HttpRequestHandler接口,在类上加@Component("/映射地址") 后面两种原理是一样的,下面会说到

springmvc和springboot的区别

扶醉桌前 提交于 2019-12-15 02:04:49
springmvc和springboot的区别 Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。 说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。 Spring MVC的功能 Spring MVC提供了一种轻度耦合的方式来开发web应用。 Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher Servlet,

SpringMVC框架(1)--基础入门

给你一囗甜甜゛ 提交于 2019-12-14 15:13:59
Spring框架可优化的部分: 因为应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。所以在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。只加载一次配置文件就可以了,也可以将Spring与Web环境集成。 怎么使用Spring提供的工具获取应用上下文? Spring提供了一个监听器ContextLoaderListener就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中,提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。 使用步骤: 1.导入坐标 <dependency> <groupId>org

SpringMVC面试问题汇总,你想知道的都在这

醉酒当歌 提交于 2019-12-13 18:40:51
1、什么是Spring MVC ?简单介绍下你对springMVC的理解? 1、SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。 2、SpringMVC是Spring的一个模块,是Spring的子容器,子容器可以拿父容器的东西,但是父容器不能拿子容器的东西。 2、SpringMVC的流程? (1)用户发送请求至前端控制器DispatcherServlet; (2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle; (3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet; (4)DispatcherServlet 调用 HandlerAdapter处理器适配器; (5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器); (6)Handler执行完成返回ModelAndView; (7

springboot+swagger企业开发实战(10年java老鸟经验)

孤街浪徒 提交于 2019-12-13 00:19:34
一句话概括:对于产品开发,特别是前后端分离的开发模式,接口文档是连接前后端的枢纽,本文对springboot+swagger在企业的实践进行详细描述。 1.引言 在软件开发过程中,接口设计与接口文档编写是重要的一环,特别是在前后端分离的情况下,接口说明文档是开发人员之间的连接点。接口文档的编写有很多方式,可以使用word,也可以使用编写工具如小幺鸡,这些基本属于脱离代码编写的文档,如果接口变化,需要额外修改文档,增加工作量。如何提高写接口文档效率,在springboot开发中,结合swagger来提供接口文档说明是一个很好的实践,通过配置与注解,在编写接口代码过程中,同时也把接口文档写好,接口需要变更时,文档也同时变更,具有工作量少,效率高,接口文档直观简洁,可实时调用验证等好处。本文基本springboot2+swagger2,结合在企业中的实践,对接口文档的编写进行详细说明,具体有如下内容: swagger介绍及文档生成说明 使用springboot2+swagger2构建示例工程及配置描述 使用注解添加文档内容说明 使用全局参数进行接口认证 如需看源码,本文示例工程地址: https://github.com/mianshenglee/my-example 2.swagger简介 2.1 swagger 介绍 swagger官网地址: https://swagger.io

SpringMVC 之 上传文件

只愿长相守 提交于 2019-12-13 00:05:43
  一、需求:   利用SpringMVC实现上传文件的功能   二、思路:   1.我们可以在SpringMVC中,通过配置一个MultipartResolver来上传文件。   2.通过MultipartFile file来接收文件,通过MultipartFile[] files接收多个文件上传。   三、参考   1.SpringMVC学习:https://how2j.cn/k/springmvc/springmvc-springmvc/615.html?p=36286   四、步骤   1.添加pom文件   commons-fileupload   commons-fileupload   1.3.1   commons-io   commons-io   2.3   2.JSP页面   上传页面,需要在src/main/resources/views下面新建一个upload.jsp文件   3.跳转页面   添加能跳转到upload页面的ViewController。需要在MyMvcConfig.java下面添加。   // 添加转向upload页面的ViewController   public void addViewControllers(ViewControllerRegistry registry) {   registry.addViewController

我的历史文章整理(2017-2019)

醉酒当歌 提交于 2019-12-12 11:41:19
我的写作经历 我是一名普通的 Java 开发者,喜欢在网上分享一些个人的故事以及工作中遇到的问题,自 2017 年开始用 “十三” 这个网名在各个博客平台发表文章,常活跃的平台有 CSDN、博客园、掘金、简书等网站,有免费的文章,也有付费的专栏,前前后后大概有 200 篇文章,算是我的写作经历。 从零开始搭建一个精美且实用的管理后台 SSM 搭建精美实用的管理系统 导读:自己动手实现 JavaWeb 后台管理系统 第01课:Spring MVC+ Spring + Mybatis “三大框架”介绍 第02课:前期准备工作及基础环境搭建 第03课:三大框架的整合 第04课:Tomcat 8 安装部署及功能改造 第05课:产品设计之搭建精美实用的后台管理系统 第06课:前端选型 AdminLTE3 第07课:登录模块的系统设计和实现 第08课:使用 JqGrid 插件实现分页功能 第09课:弹框组件整合——完善添加和修改功能 第10课:图片管理模块 第11课:多图上传与大文件分片上传、断点续传 第12课:文件导入导出功能 第13课:富文本信息管理模块 第14课:SweetAlert 插件整合及搜索功能实现 第15课:项目发布——Linux 命令及发布流程 第16课:项目优化篇之日志输出 第17课:项目优化之单元测试 第18课:项目优化之数据库连接池 第19课:项目优化之 Druid

day01-springboot

限于喜欢 提交于 2019-12-12 08:22:39
0.学习目标 了解SpringBoot的作用 掌握java配置的方式 了解SpringBoot自动配置原理 掌握SpringBoot的基本使用 了解Thymeleaf的基本使用 1. 了解SpringBoot 在这一部分,我们主要了解以下3个问题: 什么是SpringBoot 为什么要学习SpringBoot SpringBoot的特点 1.1.什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 我们可以看到下面的一段介绍: Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible. 翻译一下: 用一些固定的方式来构建生产级别的spring应用。Spring Boot 推崇约定大于配置的方式以便于你能够尽可能快速的启动并运行程序。 其实人们把Spring Boot 称为搭建程序的 脚手架 。其最主要作用就是帮我们快速的构建庞大的spring项目

关于springmvc静态资源路径问题

吃可爱长大的小学妹 提交于 2019-12-11 20:45:10
web.xml配置,servlet-mapping的url-pattern设置成“/”,/就是指拦截所有的url,但不包括.jsp、.html、.js这样的文件。 因为根目录webapp下的所有静态资源在web.xml中设置了/导致被过滤,所以在springmvc的配置文件中进行配置,将这些静态资源交由dispatchservlet去处理,选择需要被放行的资源文件,springmvc进行配置: <mvc:default-servlet-handler/>是放行所有的静态资源文件,当然也可以用<mvc:resources location="" mapping=""></mvc:resources>这个标签进行设置选择性放行,location是指指定不要拦截的目录,mapping是指指定文件。 注意:在jsp页面引用时候,如果静态文件在webapp下而jsp页面在WEBINF下,那么jsp需要引用webapp下的静态资源时,路径需要用../,而不是./,如下图: 这样设置的话,我们就可以实现在WEBINF下的jsp页面引用根目录webapp下的静态资源。 e 来源: https://www.cnblogs.com/ahsh/p/12024955.html