springmvc注解

SpringMVC、Spring和Struts的区别

别等时光非礼了梦想. 提交于 2020-01-25 10:02:34
http://www.cnblogs.com/hhx626/p/6010293.html 导读: 近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和Spring真的也挺容易迷糊的,所以,本篇博客,就是区分一下这三者之间的关系,明确其具体所指,为接下来的框架搭建和应用做准备! 说明:纯属个人观点 一、Spring 首先,结合到自己对于Spring的使用,我明确的一点是,Spring严格上来说,并不是一种框架。它相当于一个粘合剂,黏合了别的框架或者组件。所以,spring是一个容器!为什么用Spring,个人感觉,spring就是一个容器的本质,程序开发的模块组件,都可以通过spring这个容器进行组装拼合,spring为我们提供了很多 管理的功能。而且,它是一个轻量级的容器。我们常说EJB是重量级,Spring是轻量级的,那么,究竟什么叫轻量级或重量级呢? 附:轻量级和重量级(往简单了说) 首先;轻量级和重量级,它只是一个相对的概念。如果没有对比,就没有所谓的轻重之分 轻量级:当轻量级的框架启动时,创建和销毁的资源都非常少。简而言之,一个轻量级的框架,它的入侵性非常小,也可以说是耦合性很低。可以很轻易的替换掉它,而不需要做太大的改动

Java框架之SpringMVC 05-拦截器-异常映射-Spring工作流程

久未见 提交于 2020-01-24 19:36:02
SpringMVC 拦截器   Spring MVC也可以使用拦截器对请求进行拦截处理,可以自定义拦截器来实现特定的功能,自定义的拦截器可以 实现 HandlerInterceptor接口 中的 三 个方法 , 也可以 继承HandlerInterceptorAdapter 适配器类按照需要那个方法,就实现哪个方法 过滤器与拦截器区别   过滤器:过滤器在Servlet之前操作   拦截器:拦截器在Servlet之后,请求处理器(Controller)之前操作。 拦截器三个方法   ① preHandle ():这个方法在(Controller) 处理器处理请求之前被调用 ,在该方法中对用户请求 request 进行处理。如果该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回 true ;如果不需要再调用其他的组件去处理请求,则返回false。(如果返回false则后续操作都不再执行,类似于过滤器的 doFilter 所以正常情况下不要返回 false)   ② postHandle ():这个方法在(Controller) 处理器处理完请求后,但是 DispatcherServlet 向客户端返回响应前 (在视图渲染之前)被调用 ,在该方法中对用户请求request进行处理。   ③ afterCompletion ():这个方法在

Java框架之SpringMVC 05-拦截器-异常映射-Spring工作流程

只愿长相守 提交于 2020-01-23 13:37:12
SpringMVC 拦截器   Spring MVC也可以使用拦截器对请求进行拦截处理,可以自定义拦截器来实现特定的功能,自定义的拦截器可以 实现 HandlerInterceptor接口 中的 三 个方法 , 也可以 继承HandlerInterceptorAdapter 适配器类按照需要那个方法,就实现哪个方法 过滤器与拦截器区别   过滤器:过滤器在Servlet之前操作   拦截器:拦截器在Servlet之后,请求处理器(Controller)之前操作。 拦截器三个方法   ① preHandle ():这个方法在(Controller) 处理器处理请求之前被调用 ,在该方法中对用户请求 request 进行处理。如果该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回 true ;如果不需要再调用其他的组件去处理请求,则返回false。(如果返回false则后续操作都不再执行,类似于过滤器的 doFilter 所以正常情况下不要返回 false)   ② postHandle ():这个方法在(Controller) 处理器处理完请求后,但是 DispatcherServlet 向客户端返回响应前 (在视图渲染之前)被调用 ,在该方法中对用户请求request进行处理。   ③ afterCompletion ():这个方法在

SpringMVC之拦截器的源码浅析

孤人 提交于 2020-01-22 20:41:49
   SpringMVC是目前流行的Web框架之一。今天主要是对SpringMVC中拦截器做了一个浅析。 之前分析的DispatcherServlet类中在做doDispatcher,会有HandlerExectionChain对象, 其中getHandler函数,获取的是一个HandlerExecutionChain对象 它包含了handlerMethod(即是Controller层对应@RequestMapping注解的函数)和interceptors集合。 根据handlerMethod找到对应的HandlerAdapter. 然后,调用HandlerExecutionChain的applyPreHandler方法。然后执行HandlerAdapter的核心方法handler方法,执行完后,执行PostHandler方法, 不管是否执行成功,都会执行HandlerExecutionChain的applyAfterCompletion方法。   拦截器有分为前置拦截和后置拦截以及完成后拦截, 后置拦截和完成后拦截的区别是方法执行后,在DispatcherServlet渲染视图之前拦截, 而完成后拦截,是请求处理完成,并且渲染视图后进行拦截。   以下是HandlerExecutionChain的applyPreHandle、applyPostHandle

SpringMVC:学习笔记(2)——RequestMapping及请求映射

戏子无情 提交于 2020-01-22 07:13:37
SpringMVC——RequestMapping及请求映射 @RequestMapping 说明    Spring MVC 使用 @RequestMapping 注解 为控制器指定可以处理哪些 URL 请求 。    在控制器的 类定义及方法定义处都可标注@RequestMapping 说明:     – 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录     – 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。     1. 在方法定义处标注@RequestMapping        2.在类定义处标准@RequestMapping           类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录      限制请求    1.指定请求方式         2.限制请求头和请求参数      URL路径映射 说明   现在我们已经可以利用 @RequestMapping 处理URL请求了,但是一个控制器可能要处理多个URL路径的请求,这时候就需要用到URL路径映射了。 1.普通URL路径映射   @RequestMapping(value={"/test1", "/user/create"}):多个URL路径可以映射到同一个处理器的功能处理方法。 2.ANT风格路径    Ant

SpringMVC学习笔记(四)---RestFul风格

别说谁变了你拦得住时间么 提交于 2020-01-22 05:41:29
4. RestFul风格 概念 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 功能 资源:互联网所有的事物都可以被抽象为资源 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 分别对应 添加、 删除、修改、查询。 传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 get http://127.0.0.1/item/queryItem.action?id=1 查询,GET http://127.0.0.1/item/saveItem.action 新增,POST http://127.0.0.1/item/updateItem.action 更新,POST http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST 使用RESTful操作资源 : 可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同! http://127.0.0.1/item/1 查询,GET http://127.0.0.1/item 新增,POST http://127.0.0.1/item 更新,PUT http://127.0.0.1/item/1 删除,DELETE

SpringMVC

依然范特西╮ 提交于 2020-01-21 23:19:24
三层架构 服务器端分成三层架构 表现层 业务层 持久层 SpringMVC Spring MyBatis MVC设计模型架构 Model View Controller 模型 视图 控制器 JavaBean jsp… servlet SpringMVC概述 Spring MVC 的入口是Servlet,而Struts2是Filter Spring MVC 是基于方法设计的,而Struts2是基于类创建稍微慢一点 Spring MVC 使用更加简洁,同时还支持JSR303,处理ajax的请求更方便 Struts2的OGNL表达式使页面的开发效率相比Spring MVC 更高,但执行效率并没有比JSTL提升,尤其是Struts2的表单标签,远没有HTML执行效率高 SpringMVC的入门 add maven Property配置archetypeCatalog:internal 解决创建项目过慢 12345678910111213141516 web.xml 配置前端控制器<web-app><servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param

20200121——springmvc 常用注解

試著忘記壹切 提交于 2020-01-21 20:02:02
RequestParam 作用:把请求中指定名称的参数给控制器中的形参赋值 如果前端提交的字段叫username,但是在控制器中处理的参数不叫username,这样参数就对应不上,那么这个注解RequestParam就是其作用。 @Controller @ RequestMapping ( "/anno" ) public class AnnoController { @ RequestMapping ( "/testRequestParam" ) public String testRequestParam ( @ RequestParam ( name = "name" ) String username ) { System . out . println ( "testRequestParam执行了" ) ; System . out . println ( username ) ; return "success" ; } } RequestBody 用于获取请求体内容,直接使用得到的是key=value&key=value的结构的数据 get不适用,因为get的方法相当于在url加上附属的提交信息。 而post就是以表单形式存在的 pathvariable注解 用于绑定url中的占位符 @ RequestMapping ( "/testPathVariable/{id}

SpringMVC学习笔记(二)---什么是SpringMVC

醉酒当歌 提交于 2020-01-21 16:11:56
2. 什么是SpringMVC 2.1 概述 Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。 查看官方文档: https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web 我们为什么要学习SpringMVC呢? Spring MVC的特点: 轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼容性好,无缝结合 约定优于配置 功能强大:RESTful、数据验证、格式化、本地化、主题等 简洁灵活 Spring的web框架围绕 DispatcherServlet [ 调度Servlet ] 设计。 DispatcherServlet的作用是将请求分发到不同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解形式进行开发,十分简洁; 正因为SpringMVC好 , 简单 , 便捷 , 易学 , 天生和Spring无缝集成(使用SpringIoC和Aop) , 使用约定优于配置 . 能够进行简单的junit测试 . 支持Restful风格 .异常处理 , 本地化 , 国际化 , 数据验证 , 类型转换 , 拦截器 等等…所以我们要学习 .

springMVC 访问404

萝らか妹 提交于 2020-01-21 07:30:18
问题:404 但是其他的controller可以访问!!! 代码: controller所在包路径如下: mvc-spring.xml中的配置如下: 此时就出现了以上的错误:404 解决: 包不对,没有扫描到我测试controller所在的包,加上**即可! 以上及解决了问题!!! 以上原创!!! ================================================================ 以下转自:http://my.oschina.net/zhdkn/blog/316530 另附一下springMVC中的RequestMapping的一些用法: 对于各种注解而言,排第一的当然是“@Controller”,表明某类是一个controller。 “@RequestMapping”请求路径映射,如果标注在某个controller的类级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。 @Controller @RequestMapping(value="/book") public class BookController { @RequestMapping(value="/title") public String getTitle(){ return "title"; }