springmvc注解

Shiro和SpringMVC集成

久未见 提交于 2020-03-08 17:59:51
源代码:https://gitee.com/jiaodacailei/shiro-springmvc-demo.git 核心概念 Shiro是一个Java权限框架,与之相对的有一个spring的框架:Spring Security 创建Maven-web项目 配置pom.xml 参考: \shiro-web\pom.xml 配置web.xml 配置spring/springmvc/shiro,重点: 配置spring src/main/resources/applicationContext.xml src/main/resources/spring-shiro-web.xml 配置springmvc 参考:springmvc-servlet.xml 登录页和首页加载 创建main.jsp和login.jsp MainController映射 认证 shiro的内部认证流程如下,如果看不明白,可以先略过,后面例子完成后再看。 现在,我们要完成登录表单post提交到/login时,让shiro帮我们完成认证。当然,我们仍然需要编写认证的逻辑,在Realm中完成。 在spring的shiro配置中,定义Realm src/main/resources/spring-shiro-web.xml 需要在securityManager中注入自定义realm,此处为userRealm

SpringMVC的注解开发入门

巧了我就是萌 提交于 2020-03-08 16:22:04
1.Spring MVC框架简介 支持REST风格的URL 添加更多注解,可完全注解驱动 引入HTTP输入输出转换器(HttpMessageConverter) 和数据转换、格式化、验证框架无缝集成 对静态资源处理提供特殊支持 更加灵活的控制器方法签名,可完全独立于Servlet API 2.Spring MVC框架结构,执行流程 3.如何在应用中使用Spring-MVC? 在应用中添加Spring框架支持; 在web.xml中配置Spring-MVC的请求转发器(前端控制器) 编写Spring-MVC的配置文件 将任意JavaBean通过注解配置成Controller(控制器)并注解其中的方法 完成 4.今天我们先来了解一下我们注解开发的小例子(简单登录) 一:转发(forward) 源码介绍: 1.lib包(jar包)和 web.xml文件的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi

SpringMVC接收请求参数所有方式总结

ぃ、小莉子 提交于 2020-03-08 14:27:10
目录 概述 SpringMVC请求参数接收 URL传参及@RequestParam 表单参数及@RequestParam 【非对象】- 非对象类型单个参数接收 【对象】 - 对象类型参数接收 【数组】 - 列表或者数组类型参数 JSON参数及@RequestBody URL路径参数及注解@PathVariable 文件上传及MultipartFile 请求头及注解@RequestHeader Cookie及注解@CookieValue Model类型参数及@ModelAttribute Errors或者BindingResult参数 @Value Map类型参数 日期类型参数处理 请求URL匹配 概述 在日常使用 SpringMVC 进行开发的时候,有可能遇到前端各种类型的请求参数,这里做一次相对全面的总结。SpringMVC 中处理控制器参数的接口是 HandlerMethodArgumentResolver ,此接口有众多子类,分别处理不同(注解类型)的参数,下面只列举几个子类: RequestParamMethodArgumentResolver :解析处理使用了 @RequestParam 注解的参数、 MultipartFile 类型参数和 Simple 类型(如 long 、 int 等类型)参数。 RequestResponseBodyMethodProcessor

SpringMVC @RequestBody的使用

会有一股神秘感。 提交于 2020-03-08 09:32:12
@RequestBody的作用 @RequestBody用于读取Request请求的body数据,然后利用SpringMVC配置的HttpMessageConverter对数据进行转换,最后把转换后的数据绑定到被@RequestBody注解的参数上; @RequestBody的使用场景 根据request header中 Content-Type和被@RequestBody注解的参数不同,最常见的应用场景如下: Content-Type为application/json 参数为JavaBean: 可实现json反序列化为JavaBean,使用的HttpMessageConverter为 MappingJackson2HttpMessageConverter 参数为String :简单将字符串赋值给参数,使用的HttpMessageConverter为 StringHttpMessageConverter Content-Type为 application/xml 参数为JavaBean : 可实现xml反序列化为JavaBean,使用的HttpMessageConverter为 Jaxb2RootElementHttpMessageConverter 参数为String :简单将字符串赋值给参数,使用的HttpMessageConverter为

SpringMVC中的@ControllerAdvice

一曲冷凌霜 提交于 2020-03-07 19:05:07
@ControllerAdvice是一个controller增强器,主要用于: 1.全局异常处理 2.全局数据绑定 3.全局数据预处理 一.全局异常处理 需要配合@ExceptionHandler来使用,@ExceptionHandler注解用来指明处理的异常类型 效果: 二.全局数据绑定 全局数据绑定可以做一些初始化数据的操作,我们可以将一些公共数据放在添加了@ControllerAdvice注解的类中,这样的话每个Controller接口都可访问到这些公共数据。 需要配合@ModelAttribute使用。 效果: 三.全局数据预处理  当有两个实体Doggy、Master 1.不做全局数据预处理 效果: 2.进行预处理 效果: 来源: https://www.cnblogs.com/olzoooo/p/12436151.html

这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

安稳与你 提交于 2020-03-06 05:50:36
在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。 环境要求: 使用纯 Java 来搭建 SSM 环境,要求 Tomcat 的版本必须在 7 以上。 快速体验 1 创建工程 创建一个普通的 Maven 工程(注意,这里可以不必创建 Web 工程),并添加 SpringMVC 的依赖,同时,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖(一定不能使用低版本的 Servlet),最终的 pom.xml 文件如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.6.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet<

这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

谁都会走 提交于 2020-03-06 05:48:18
在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。 环境要求: 使用纯 Java 来搭建 SSM 环境,要求 Tomcat 的版本必须在 7 以上。 快速体验 1 创建工程 创建一个普通的 Maven 工程(注意,这里可以不必创建 Web 工程),并添加 SpringMVC 的依赖,同时,这里环境的搭建需要用到 Servlet ,所以我们还需要引入 Servlet 的依赖(一定不能使用低版本的 Servlet),最终的 pom.xml 文件如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.6.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet<

springMVC的@ResponseBody、@RequestBody使用需要注意的地方

不打扰是莪最后的温柔 提交于 2020-03-04 21:54:31
springMVC我觉得比struts2好的其中一个原因就是可以使用注解解析json数据,方便快捷。但是,即使如此,还是有需要注意的地方。 1、返回的地方设置@ResponseBody,请求的对象参数@RequestBody,单个参数不用加@RequestBody;   @RequestMapping(value="/validation") public @ResponseBody String validation(String username) throws Exception{      return username; } 2、如果要返回的是一个对象,那么直接返回,spring会自动转为json数据。  @RequestMapping(value="/validation") public @ResponseBody User validation(String username) throws Exception{     User u = new User(username); return u; } 3、如果传过来的是一个json字符串,可以用对象封装起来,使用@RequestBody会帮我们将json转为对应的对象。 @RequestMapping(value="/validation") public String validation(

SpringMVC学习(一)SpringMVC入门 、HelloSpringMVC程序、SpringMVC执行原理

丶灬走出姿态 提交于 2020-03-04 14:21:19
一、SpringMVC简介 官方文档地址 1、什么是SpringMVC? Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的 轻量级Web框架 ,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型, SpringMVC框架的目的就是帮助我们简化开发。 2、SpringMVC的优点 (1)结构松散,几乎可以在 Spring MVC 中使用各类视图 (2)松耦合,各个模块分离 (3)和Spring的兼容性好, 无缝集成 二、SpringMVC执行原理 1、SpringMVC中的 DisPatchServlet Spring的web框架围绕DispatcherServlet设计。 DispatcherServlet的作用是将请求分发到不同的处理器.。 Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)。 2、SpringMVC的执行原理 图解: 图中的实线部分为SpringMVC为我们提供好的技术,不需要我们程序员进行多余的操作,虚线部分就是我们程序员要实现的。 流程分析: 我们假设请求的url为 : http://localhost:8080

SpringMVC的 @RestController和@Controller 区别

℡╲_俬逩灬. 提交于 2020-03-03 07:25:36
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合, 返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面 @ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】, 在使用 @RequestMapping后,返回值通常解析为跳转路径, 但是加上 @ResponseBody 后返回结果不会被解析为跳转路径, 而是直接写入 HTTP response body 中。 比如异步获取 json 数据, 加上 @ResponseBody 后,会直接返回 json 数据。 @RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。 @Controller @RequestMapping("falarmUser") public class FAlarmUserController { private static final Logger logger = LoggerFactory.getLogger(FAlarmUserController