SSM
文章平均质量分 76
SSM
Archie_java
求知若饥,虚心若愚(stay hungry,stay foolish)
好记性不如烂笔头
展开
-
ssm配置文件回顾
spring-persist.xml主要作用(主要配置和业务逻辑有关的,数据源,mybatis整合,事务控制)配置自动扫描的包(service层)加载外部属性配置文件(jdbc.properties)2.1 配置数据源配置SqlsessionFactoryBean(整合mybatis)3.1指定mybatis全局配置文件3.2 指定Mapper配置文件位置3.3装配数据源(因为以往都是在mybatis中要配置的)配置扫描mapper接口配置事务管理器5.1 装配数据源。原创 2023-02-13 23:22:13 · 172 阅读 · 0 评论 -
Spring的@ExceptionHandler注解使用方法
文章目录1,基本使用方法2,注解的参数3,就近原则4,注解方法的返回值5,错误的操作1,基本使用方法Spring的@ExceptionHandler可以用来统一处理方法抛出的异常,比如这样:@ExceptionHandler()public String handleExeption2(Exception ex) { System.out.println("抛异常了:" + ex); ex.printStackTrace(); String resultStr = "异常:原创 2021-11-24 23:00:28 · 2186 阅读 · 0 评论 -
使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体
使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体1、Controller代码以下是Controller方法源码:@RestController@RequestMapping("/manage/user")public class TestController { private Logger logger = LoggerFactory.getLogger(TestControl原创 2021-11-24 22:38:03 · 3344 阅读 · 0 评论 -
Spring 异常处理三种方式
Spring 异常处理三种方式异常处理方式一. @ExceptionHandler异常处理方式二. 实现HandlerExceptionResolver接口异常处理方式三. @ControllerAdvice+@ExceptionHandler三种方式比较说明(强烈推荐各位看一下,我觉得自己总结的比较多,嘿嘿,不对之处请指出)问题描述: 假如对异常不进行处理?假如SpringMvc我们不对异常进行任何处理, 界面上显示的是这样的.异常处理的方式有三种:一. Controller层面上异原创 2021-11-24 22:14:04 · 3087 阅读 · 0 评论 -
Java 解决跨域问题
JAVA | Java 解决跨域问题文章目录JAVA | Java 解决跨域问题引言什么是跨域(CORS)什么情况会跨域解决方案前端解决方案后端解决方案具体方式一、使用Filter方式进行设置二、继承 HandlerInterceptorAdapter三、实现 WebMvcConfigurer四、使用Nginx配置五、使用 `@CrossOrgin` 注解Spring Cloud Gateway 跨域配置引言我们在开发过程中经常会遇到前后端分离而导致的跨域问题,导致无法获取返回结果。跨域就像分离前原创 2021-11-23 22:47:20 · 840 阅读 · 0 评论 -
@GetMapping和@PostMapping详解
首先要了解一下@RequestMapping注解。@RequestMapping用于映射url到控制器类的一个特定处理程序方法。可用于方法或者类上面。也就是可以通过url找到对应的方法。@RequestMapping有8个属性。value:指定请求的实际地址。method:指定请求的method类型(GET,POST,PUT,DELETE)等。consumes:指定处理请求的提交内容类型(Context-Type)。produces:指定返回的内容类型,还可以设置返回值的字符编码原创 2021-11-20 12:49:31 · 8082 阅读 · 2 评论 -
注解RequestMapping中的URI路径最前面到底需不需要加斜线?
注解RequestMapping中的URI路径最前面到底需不需要加斜线?您有没有这样的困惑:在协同开发过程中,使用RequestMapping,或者是GetMapping,或者是PostMapping这类注解时,有的程序员加了斜线,有的程序员没有加斜线,实际好像都能访问到,那么到底需不需要加呢?举例以上路径写法都是可以访问的加不加都可以访问,从这一点可以推断出结论:RequestMapping最前面的斜线可加可不加(这里只是说最前面,如果是/a/b/c中间的斜线分隔符是一定要加的)所谓知其然原创 2021-11-15 22:41:02 · 1817 阅读 · 2 评论 -
SpringMVC接受List的几种方式
说到SpringMVC接受List参数,可能有人会说这个是个坑!下面我来跟大家说怎么补这个坑。下面我分几种情况来讲:一、只接收一个List1、form表单提交controller代码:@ResponseBody@RequestMapping("test")public void test(@RequestParam(value="list",required = false) List<Integer> list) { for (Integer integer : list) {原创 2021-11-14 15:57:14 · 8170 阅读 · 0 评论 -
Springmvc接收json数据的4种方式
1、以RequestParam接收前端传来的是json数据不多时:[id:id],可以直接用@RequestParam来获取值@Autowiredprivate AccomodationService accomodationService;@RequestMapping(value = "/update")@ResponseBodypublic String updateAttr(@RequestParam ("id") int id) { int res=accomodationS原创 2021-11-14 00:27:38 · 4810 阅读 · 0 评论 -
POST、GET、@RequestBody和@RequestParam区别
@RequestParam注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。value 为接收url的参数名(相当于key值)。@RequestParam用来处理 Content-Type 为 application/x-www原创 2021-11-14 00:25:36 · 3178 阅读 · 0 评论 -
@RequestBody 和 @RequestParam可以同时使用
@RequestParam和@RequestBody这两个注解是可以同时使用的。网上有很多博客说@RequestParam 和@RequestBody不能同时使用,这是错误的。根据HTTP协议,并没有说post请求不能带URL参数,经验证往一个带有参数的URL发送post请求也是可以成功的。只不过,我们日常开发使用GET请求搭配@RequestParam,使用POST请求搭配@RequestBody就满足了需求,基本不怎么同时使用二者而已。 自己个人实际验证结果:package com.ex原创 2021-11-14 00:16:39 · 5438 阅读 · 0 评论 -
@RequestBody的使用
提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论本文前半部分的内容都是一些基本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍: @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestPa原创 2021-11-14 00:12:47 · 528 阅读 · 0 评论 -
@requestbody和@requestparam作用
1、什么都不写GET可以自动封装为对象模型,没有的数值自动为0值POST请求体里面放了数据,但是还是使用了RequestParam里的数据总结:在不使用注解的情况下,相当于默认使用了RequestParam里的数据 (这种理解是错误的,真实的原因参考下面段落 有一个有趣的现象 ),而且可以自动封装为对象模型,没有的数据也不会报错,而是设为0值post请求时,如果不使用 contentType:'application/json;charset=utf-8',参数还是可以在RequestPar原创 2021-11-13 23:58:32 · 562 阅读 · 0 评论 -
Query String Parameters、Form Data、Request Payload的区别
Query String Parameters当发起一次GET请求时,参数会以url string的形式进行传递。即?后的字符串则为其请求参数,并以&作为分隔符。如下http请求报文头:General Request URL: http://login?uname=dingding Request Method: GET Query String Parameters uname=dingdingForm Data当发起一次POST请求时,若未指定content-type原创 2021-11-13 23:58:01 · 200 阅读 · 0 评论 -
@RequestBody和@RequestParam区别
一:@RequestBody和@RequestParam区别@RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)RequestParam可以接受简单类型的属性,也可以接受对象类型。实质是将Request.getParameter() 中的Key-Value参数Map原创 2021-11-13 23:47:04 · 409 阅读 · 0 评论 -
Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
如何用一条sql语句实现批量更新?mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现。代码如下:UPDATE mytable SET myfield = CASE id WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value'END WHERE id IN (1,2,3);这里使用了case when 这个小技巧来实现批量更新。举个例子:代码如下:UPDAT原创 2021-11-13 20:25:51 · 5805 阅读 · 0 评论 -
分页插件PageHelper的使用方法
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。PageHelper的使用方法第一步、导包(或者导入坐标)<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github原创 2021-05-28 09:16:21 · 428 阅读 · 0 评论 -
Github PageHelper 原理解析
任何服务对数据库的日常操作,都离不开增删改查。如果一次查询的纪录很多,那我们必须采用分页的方式。对于一个Springboot项目,访问和查询MySQL数据库,持久化框架可以使用MyBatis,分页工具可以使用github的 PageHelper。我们来看一下PageHelper的使用方法:// 组装查询条件ArticleVO articleVO = new ArticleVO();articleVO.setAuthor("张三");// 初始化返回类// ResponsePages类是这样一种返原创 2021-11-13 16:38:50 · 1980 阅读 · 0 评论 -
SSM中PageHelper的使用步骤与com.github.pagehelper.PageHelper3系列与5系列的区别
SSM中PageHelper的使用步骤一. 在pom.xml导入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency>二原创 2021-11-13 16:25:54 · 1801 阅读 · 0 评论 -
SSO单点登录方案大全
分布式微服务系统主流常用的登录方案前言: 单点登录其实是一个概念,主要是为了解决一次登录,多系统(本系统或外部系统)之间不需要重复登录的问题,就目前来说,主流的解决方案针对业务场景分为3个方向:1: 同一公司,同父域下的单点登录解决方案.如[http://map.baidu.com][[http://www.baidu.com][[http://image.baidu.com]基于cookie开源项目代表: JWT;会详细介绍和实现;2: 同一公司,不同域下的单点登录解决方案.如[[http:/原创 2021-11-07 23:23:38 · 1380 阅读 · 0 评论 -
JAVA SSM框架+Redis 实现单点登录
1:什么是单点登录?答:单点登录的英文名叫做:Single Sign On(简称SSO)一般我们的模块都是在同一个系统下,同一个tomcat(如图,以商城为例)后来为了维护和资源我们把一个系统拆成多个子系统。而单点登录就是其中的一部分。我们有多个系统,每个系统都要输入一次账号和密码的话就会变得很麻烦,这时候就需要单点登录,只要其中一个子系统登录的话,其他系统都能自动登录。最为熟悉的例子就是淘宝和天猫,如果你淘宝登录后,打开天猫就能自动登录无需再输入账号和密码。2:实现单点登录的思路(整个页面原创 2021-11-07 17:00:25 · 1001 阅读 · 0 评论 -
使用JWT实现单点登录(完全跨域方案)
首先介绍一下什么是JSON Web Token(JWT)?官方文档是这样解释的:JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。虽然JWT可以加密以在各方之间提供保密,但只将专注于签名令牌。签名令牌可以验证其中包含的声明的完整性,而加密令牌则隐藏其他方的声明。当使用公钥/私钥对签署原创 2021-11-04 23:33:23 · 6178 阅读 · 0 评论