springmvc框架

SpringMVC 与 Struts 2的区别

主宰稳场 提交于 2019-11-30 06:38:19
SpringMVC作为MVC框架,与Struts 2 有着异曲同工之处,首先对比一下SpringMVC与Struts2的不同之处: 1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同, 这里就牵涉到servlet和filter的区别了。 2. 性能:spring会稍微比struts快。 spring mvc是基于方法的设计 , 而sturts是基于类 ,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。 spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3 mvc中,一个方法对应一个request上下文。 而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入;struts2实际上是通过setter getter方法与request打交道的;struts2中,一个Action对象对应一个request上下文。 3. 参数传递:struts是在接受参数的时候,可以用属性来接受参数

SpringMVC详细流程(一)

狂风中的少年 提交于 2019-11-30 06:07:55
  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)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 一、Spring MVC的请求流程 来源: https://www.cnblogs.com/myitnews/p/11565941.html

SpringMVC学习二:注解之注解详细解释

你说的曾经没有我的故事 提交于 2019-11-30 04:02:11
● @Controller /** * @Controller,类级别上的注解。我们定义的类可以只是一个 javabean,不需要实现任何接口。标注了 * @Controller,借助 <context:component-scan>,框架能自动识别到这就是一个 Controller */ @Controller public class MyController { // ...... } ● @RequestMapping /** * @RequestMapping 可以出现在类级别上,也可以出现在方法上。如果出现在类级别上,那请求的 url 为 类级别 * 上的 @RequestMapping + 方法级别上的 @RequestMapping,否则直接取方法级上的 @RequestMapping。 * 类级别的 @RequestMapping 不是必需的。 */ @Controller @RequestMapping("/my") public class MyController { /** * 由于类级别上定义了 @RequestMapping,那么想匹配到这个方法来处理请求,url 必须为 /my/somelist。 * 如果没有定义类级别上的 @RequestMapping,url 为 /somelist 即可。同时,请求方法必须为 POST */

springmvc 和 struts2的区别

霸气de小男生 提交于 2019-11-30 04:01:44
他们都是控制层框架,都是用来跳转页面和接受参数的; springmvc和spring是兄弟级别的关系,但是作用不一样; 区别 springmvc是单例的,struts2是多例的;因为struts2中存在全局变量,如果是单利模式,遇到并发情况会发生冲突; springmvc的前段控制器是dispatcherServlet,而Struts2的前段控制器是filterDispatcher; struts的注解是 @action ,通过value和result来定义访问路径和返回的结果集; springmvc的注解是 @controller ,通过@RequestMapping("")来定义访问路径,通过return返回字符串跳转页面; 普通参数的传递;Struts2传参时通过私有属性,提供get,set方法来传递参数;springmvc是通过方法括号中定义变量来接受参数的,通过ModelMap来传参; 日期类型的传递;Struts2直接传递字符串,后台Date就可以接受到,springmvc传参时需要定义一个注解@DateTimeFormat(pattern="yyyy-MM-dd") 文件格式的传递;struts2是私有化的文件和文件名,提供get set方法来获取到文件 springmvc是通过注解@RequestParam('文件名') json传参

SpringMVC和Struts的区别

六月ゝ 毕业季﹏ 提交于 2019-11-30 04:01:33
springmvc是单例,非线程安全 Struts2是线程安全的对每个请求都产生一个实例 springmvc的入口是Servlet,而Struts2的filter spring的前段控制器是 DispatcherServlet Struts2的前端的核心控制器是 FilterDispatcher struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入 struts2实际上是通过setter getter方法与request打交道的 struts2中,一个Action对象对应一个request上下文 spring3 mvc不同,spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去 在spring3mvc中,一个方法对应一个request上下文 springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,参数的传递是直接注入到方法中的,是该方法独有的。 struts2是类级别的拦截, 一个类对应一个request上下文, struts是在接受参数的时候,可以用属性来接受参数, 这就说明参数是让多个方法共享的,这也就无法用注解或其他方式标识其所属方法了 intercepter的实现机制

SpringMVC的知识点

北战南征 提交于 2019-11-30 03:12:48
什么是SpringMVC? SpringMVC是一个基于Java实现了MVC设计模式的轻量级Web框架。通过把model-view-controller进行分离,将Web层进行职责解耦,把Web应用分成逻辑清晰的几部分,方便开发人员之间的配合 SpringMVC的执行流程? 用户发送请求给DispatcherServlet,DispatcherServlet调用HandlerMapping HandlerMapping通过请求中的URL找到对应的Handler,并返回Handler给DispatcherServlet DispatcherServlet调用HandlerAdapter请求执行Handler,执行结束返回ModelAndView DispatcherServlet调用ViewResolver进行解析ModelAndView,返回真正的视图对象 DispatcherServlet对视图对象进行渲染,渲染结束就将此视图返回给用户 SpringMVC的优点是什么? 支持多种视图类型,不仅仅局限于JSP 与Spring很好的集成 有明确的角色分配: 前端控制器(DispatcherServlet) 处理器映射器(HandlerMapping) 处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 支持任何资源的映射策略

SpringMVC加载WebApplicationContext源码分析

百般思念 提交于 2019-11-30 02:52:36
Spring框架提供了构建Web应用程序的全功能MVC模块,叫Spring MVC,通过Spring Core+Spring MVC即可搭建一套稳定的Java Web项目。本文通过Spring MVC源码分析介绍它的核心实现原理。 Tomcat服务器启动入口文件是web.xml,通过在其中配置相关的 Listener和Servlet 即可加载Spring MVC所需数据。基于Spring MVC最简单的配置如下。 <!-- 加载Spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-context*.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 加载spring mvc --> <servlet> <servlet-name>spring3mvc</servlet-name> <servlet-class>org.springframework.web.servlet

SpringMVC 、Struts2之间的区别

我是研究僧i 提交于 2019-11-30 02:30:12
一、Spring与SpringMVC的区别: spring是一个开源框架,是为了解决企业应用程序开发,功能如下: 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 1、轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外, Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 2、控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器 中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 3、面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑—— 仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 4、容器—

SpringMVC整合SwaggerUI

落花浮王杯 提交于 2019-11-29 23:46:49
SpringMVC整合SwaggerUI 文章目录 SpringMVC整合SwaggerUI 概念介绍 相关资源下载 编写整合代码 index.html文件修改 maven中引入依赖 springmvc配置文件中配置资源路径 编写swagger配置文件 效果展示 整合时可能出现的异常 问题分析 问题解决 总结 参考资料 网上介绍Swagger整合的文章很多,但都是东拼西凑,抄来抄去,讲不清楚重点。本文的目的就是希望那些从来没有接触过Swagger的朋友能按照本文的步骤快速实现SpringMVC和SwaggerUI的整合,在界面上看到自己的API介绍。如果想深入研究Swagger,本文也附上了相关链接供参考。最终效果如下所示。 概念介绍 初接触Swagger的朋友一定会被一堆专业名词搞得晕头转向,什么SpringFox、Swagger、SwaggerUI、SwaggerEditor、SwaggerCodegen、SwaggerInspector等。想做整合,了解下面三个概念即可,想全部了解,可以参考文末链接1,有详细介绍。 Swagger: 是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。简单说就是一套生成文档的框架,要想将其整合进自身的项目,需要实现相关的接口。 SwaggerUI: 一套前端界面,用于发送请求给后台的Controller

SpringMVC的定义

醉酒当歌 提交于 2019-11-29 23:44:12
1.什么是springmvc?怎么理解 它是一个基于java的实现了mvc设计模式的请求请求驱动类型的轻量级web框架,通过model、view、controller分离,将web层进行职责解耦,把复杂的web引用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。 2.流程 (1)用户发送请求到前置控制器DispatcherServlet (2)DispactcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle (3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet (4)DispacherServlet调用HandlerAdapter处理器适配器 (5)HandlerAdapter经过适配调用具体的处理器(Handler,也叫后端控制器) (6)Handler执行完成返回ModelAndView (7)HandlerAdapter将Handler执行结果ModelAndView返回给DisptcherServlet() (8)DispatcerServlet将传过来的ModelAndView传给ViewResolver视图解析器进行解析 (9)ViewResolver解析后返回具体的view (10