springmvc框架

震惊!!!SSM居然是这样的!

北战南征 提交于 2019-12-01 19:30:20
SSM框架 SSM ( Spring+SpringMVC+MyBatis )框架集由 Spring 、 MyBatis 两个开源框架整合而成( SpringMVC 是 Spring 中的部分内容)。常作为数据源较简单的 web 项目的框架。 一、 Spring 部分    Spring 就像是整个项目中装配 bean 的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。    Spring 的核心思想是 IoC (控制反转),即不再需要程序员去显式地 `new` 一个对象,而是让 Spring 框架帮你来完成这一切。 1 、 Spring 的运行流程 第一步:加载配置文件 ApplicationContext ac = new ClassPathXmlApplicationCont ext("beans.xml"); , ApplicationContext 接口,它由 BeanFactory 接口派生而来,因而提供了 BeanFactory 所有的功能。配置文件中的 bean 的信息是被加载在 HashMap 中的,一个 bean 通常包括, id , class , property 等, bean 的 id 对应 HashMap 中的 key , value 呢就是 bean 第二步:调用 getBean 方法,

基于SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

与世无争的帅哥 提交于 2019-12-01 18:47:05
2016/10/07 | Spring | admin | 5 条评论 | 1587 views 一 简介 (1)过滤器: 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等 关于过滤器的一些用法可以参考我写过的这些文章: 继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数 : https://www.zifangsky.cn/677.html 在SpringMVC中使用过滤器(Filter)过滤容易引发XSS的危险字符 : https://www.zifangsky.cn/683.html (2)拦截器: 依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程( AOP )的一种运用。由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入( DI )进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用

SpringMVC简单介绍及执行

大憨熊 提交于 2019-12-01 14:00:19
SpringMVC介绍 Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。 SpringMVC的核心组件 DispatcherServlet:作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。 HandlerMapping:作用:根据请求的URL来查找Handler Controller:将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。 从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。 ViewResolver 视图解析器:作用:进行视图的解析,根据视图逻辑名解析成真正的视图

springmvc 最权威的知识点

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

SpringMvc基础知识

天大地大妈咪最大 提交于 2019-12-01 13:17:36
1.SpringMvc是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框 架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet; 应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 2.Spring Web MVC 能干什么 √让我们能非常简单的设计出干净的Web层和薄薄的Web层; √进行更简洁的Web层的开发; √天生与Spring框架集成(如IoC容器、AOP等); √提供强大的约定大于配置的契约式编程支持;

@DateTimeFormat注解

房东的猫 提交于 2019-12-01 09:32:39
@DateTimeFormat在spring-context依赖下,所在包如下 当form表单中出现时间字段需要跟pojo对象中的成员变量进行数据绑定时,springmvc框架中的时间数据无法自动绑定,便会 报错BindException,是在对bean的属性进行数据绑定时出了问题 。这是springmvc框架的问题,若不解决次问题,页面传递回来的时间类型的数据就无法在controller中接受,也就无法完成新增用户的功能。 在pojo中,对时间类型的属性标注格式化注解@DateTimeFormat即可,如下 @DateTimeFormat(pattern = "yyyy-MM-dd") private Date birthday; 在上述代码中, @DateTimeFormat(pattern="yyyy-MM-dd")可以将形如1988-12-01的字符串转换为java.util.Date类型。 来源: https://www.cnblogs.com/yanguobin/p/11675239.html

SpringMVC工作原理

懵懂的女人 提交于 2019-12-01 08:18:52
SpringMVC的工作原理图: SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 11、 DispatcherServlet响应用户。 组件说明: 以下组件通常使用框架提供实现: DispatcherServlet:作为前端控制器

SpringMVC框架之第三篇

百般思念 提交于 2019-12-01 07:20:14
2.高级参数绑定(重点) 2.1.数组类型 数组类型的参数可以传递一批相同的数据到Controller的方法中。 2.1.1.需求 批量删除:在商品列表页面选中多个商品,然后删除。 2.1.2.需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。 功能分解 前端:1)能选中多个商品;2)能提交选中的多个商品 后端:1)能接收到选中商品的id;2)进行删除处理 2.1.3.演示代码 1.Jsp 可以重新创建一个专门演示批量删除的画面【itemListDelBatch.jsp】,利用原来的itemList.jsp拷贝一个,然后在表格的最前面增加一列checkbox。 【itemListDelBatch.jsp】 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE html

SpringMVC框架之第四篇

三世轮回 提交于 2019-12-01 07:20:07
5.SpringMVC异常处理 5.1.异常分类 1.可预知异常: Java编译时可检测异常,例如:IOException、SQLException等。 自定义异常(继承Exception父类的自定义类即为自定义异常)。 2.不可预知异常: Java运行时异常,例如:NullPointerException、IndexOutOfBoundsException等。 5.2.SpringMVC异常处理 在JavaEE项目的开发中,不管是持久层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免的遇到各种可预知的、不可预知的异常需要处理。如果每个过程都单独处理异常,那么系统的代码冗余度会很高,工作量大且不好统一,维护的工作量也很大。 那么,能不能将所有类型的异常处理从各处理过程提取出来呢?如果能提取出来,那么既保证了各层程序的处理逻辑的功能较单一(只专注业务逻辑的实现),也实现了异常信息的统一处理和维护。答案是肯定的。下面将介绍使用Spring MVC统一处理异常的解决和实现过程。 5.2.1.SpringMVC异常处理方式 SpringMVC异常处理的思路总的来说就是dao、service、controller层的程序出现异常都通过throws Exception向外抛出,抛出的异常就会逐层向它的上层传递,最后异常有DispatcherServlet接收

SpringMVC框架之第一篇

限于喜欢 提交于 2019-12-01 07:19:55
2.SpringMVC介绍 2.1.SpringMVC是什么 SpringMVC是Spring组织下的一个表现层框架。和Struts2一样。它是Spring框架组织下的一部分。我们可以从Spring的整体结构中看得出来: 2.2.SpringMVC的作用 1.接收Web请求中的参数 2.把处理好的数据返回给页面 2.3.为什么要学习SpringMVC 技术是要更新换代的,可以说Springmvc是对Struts2的技术更新,Struts2太老了,许多设计已经过时,效率不符合现在业务(互联网)的需要,而且SpringMVC与Spring是一家的它们之间的衔接是无缝的,所以使用SpringMVC更方便和Spring进行整合。 更重要的一点是Struts2存在安全漏洞,之前的某些版本曾经造成过一些企业的损失,这也加速了Struts2的迅速老去。 那为什么之前还要学习Struts2呢?是因为今后工作中不一定都是从事新的系统开发,你有可能去维护一个已经上线的老系统,比如许多传统行业里面应用的系统Struts2的使用率仍然不小,因此从学习的角度Struts2也要学习掌握。 2.4.了解SpringMVC的处理流程 要想引入SpringMVC做表现层开发,最基本的需要完成两件事: 1. 配置好前端控制器DispatcherServlet。 2.