Spring Boot

SpringBoot2.1整合finereport10(帆软报表)

本小妞迷上赌 提交于 2021-01-15 19:12:50
  最近,公司采购了帆软的系统,领导安排要与公司的SpringBoot框架进行整合。费了一番牛劲,终于整合成功,下面分享一下我的经验。   首先,我的开发环境是Intellij IDEA,使用的SpringBoot版本是2.1.1,整合的finereport版本是10.0。   一、根据帆软官方教程 http://help.finereport.com/ 高级教程->部署集成->服务器部署->报表部署流程->嵌入式部署的介绍, 将 %FineReport_HOME%\webapps\webroot\WEB-INF 目录下面的assets、assist、classes、embed、lib、plugins、reportlets七个文件夹复制到你的项目的webapp的WEB-INF文件夹下,再 将 %JAVA_HOME%/jdk/lib 下的 tools.jar 拷贝到你的项目的webapp的WEB-INF的lib文件夹下,如图所示:    注意,springboot框架默认是不带webapp文件夹以及其子文件夹WEB-INF的,此时需要自己创建这两个文件夹,并将webapp文件夹设置为Web Resource Directory。(通过Project Structure设置)   二、更改SpringBoot的配置(打包方式/启动方式)   1.修改pom文件   (1

SpringBoot2.1源码分析大纲

China☆狼群 提交于 2021-01-15 19:12:32
从零开始分析SpringBoot2.1源码今天就开始了,下面准备了SpringBoot2.1源码分析初始的大纲,如下图所示: 欢迎关注【源码笔记】公众号,一起学习交流。 本文分享自微信公众号 - 源码笔记(jinyue_lll)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/3888005/blog/4837857

springboot2.1中添加过滤器配置

匆匆过客 提交于 2021-01-15 19:12:21
1:构造一个实现 Filter 接口的过滤器,并在类上添加@component注释: notice1:若不添加,则需在spring中注入该bean,不然会报错。 package com.dev.filter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.servlet.* ; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.* ; /** * Created by zgq7 on 2019/6/6. */ @Component public class BaseFilter implements Filter { private static final Logger log = LoggerFactory.getLogger(BaseFilter. class ); @Override public void init(FilterConfig

springboot 读写 session 交互参数

烂漫一生 提交于 2021-01-15 19:08:26
保存数据到session: @RequestMapping( "/login" ) //java项目 www.fhadmin.org public String login(HttpServletRequest request, @RequestParam( "userName" ) String userName, @RequestParam( "passWord" ) String passWord) { String res = userService.check_userName(userName); if (!res.equals( "registed" )) { return "userName has not registed" ; } String str = userService.check_userName_and_passWord(userName, passWord); if (str.equals( "success" )){ //第一步:获取session HttpSession session = request.getSession(); //第二步:将想要保存到数据存入session中 session.setAttribute( "userName" ,userName); session.setAttribute( "password"

21-1-14|新增复现靶场之spring漏洞

房东的猫 提交于 2021-01-14 17:08:49
高质量的安全文章,安全offer面试经验分享 尽在 # 掌控安全EDU # 新增靶场你挑战了吗? 封神台 -掌控安全在线演练靶场,一个在线黑客攻防演练平台。 在成长的道路上怎么能缺少打怪刷级的乐趣呢!但是市面上的网站漏洞组成复杂,而且会有法律风险 所以为了更好的帮助大家对课程中技能的理解,我们给大家准备了一个练手的平台—— 封神台。 课程是和靶场相对应的,听完课去做靶场,熟悉相关技能的原理,熟悉相关技能的操作。 为帮助新老手提供更好的实战环境,靶场新版块 漏洞复现功能不断 更新! 本周新增 5项 靶场 不容错过,快来试试吧~ #PS:我们依旧会 每周 开拓新版块~带来新体验,尽请期待哦~ 新增四项内容如下: (1) Tomcat 任意文件写入漏洞 CVE-2017-12615 (2) spring boot配置不当之RCE (3) spring cloud config server目录遍历漏洞 CVE-2020-5410 (4) php myadmin v4.8.1 后台getshell (5) Discuz!ML 3.x 任意代码执行 地址:https://hack.zkaq.cn/battle#61f4b8cd3b33fb26 还在等什么?直接复制链接 跳转:https://hack.zkaq.cn/battle 详细请看图: 具体位置在靶场的【漏洞复现】板块 如果你是新手

GitHub Star 破万!3w 多人追更,这个 Java 框架你不会还不知道怎么用吧...

。_饼干妹妹 提交于 2021-01-14 12:52:56
作为一个 GitHub Star 破 5w,Fork 超 3w 的 Java 框架,一切都在证明,Spring Boot 已经成为了 Java 程序员必备的技能。 不夸张的说, Spring Boot 是 Java 后端领域最最最重要的技术之一,熟练掌握它对于 Java 程序员至关重要。而且看过很多面经的小伙伴肯定知道,现在去面试,无论大小公司 ,都会跟你扯一扯 Spring Boot 、微服务,如果聊不清楚,很可能直接说拜拜! 正好前段时间自己有整理 Java各种技术专题知识 ,其中就包括 Spring Boot 、微服务、以及我近些年开发和工作过程中的一些感悟、心得。 今天在这免费分享给大家 : 这份资料包含了Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM、设计模式、多线程与高并发、视频教程、电子书及求职面试相关技能知识! ▶Java Java视频包括入门到精通,以及项目实战、框架的使用 Java电子书、文档和思维导图 视频地址:https://space.bilibili.com/346136575 Spring Boot实战文档

SpringBoot 三招组合拳,手把手教你打出优雅的后端接口

柔情痞子 提交于 2021-01-14 05:51:33
点击上方蓝色“ 方志朋 ”,选择“设为星标” 回复“ 666 ”获取独家整理的学习资料! 作者:RudeCrab 链接:suo.im/5YMt2A 一、前言 一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看 是否规范 ! 本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松。 在文章末尾贴上了项目演示的 Github 地址,clone 下来即可运行。并且我将每一次的优化记录都分别做了代码提交,你可以清晰的看到项目的改进过程! 二、所需依赖包 这里用的是 SpringBoot 配置项目,本文讲解的重点是后端接口,所以只需要导入一个 spring-boot-starter-web 包就可以了: <!--web依赖包,web应用必备--> < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-web </ artifactId >

《轻量级微服务架构》读书笔记

心已入冬 提交于 2021-01-14 03:45:05
微服务架构要求: 根据业务模块划分服务种类 每个服务可独立部署且互相隔离 通过轻量级API调用服务 服务需保证良好的高可用 微服务技术选型: 使用 Spring Boot 开发服务 使用 Node.js 作为服务网关反向代理调用服务 使用 Zookeeper 注册发现服务 使用 Docker 封装/部署/隔离服务 使用 Jenkins 构建发布服务 Spring Boot Spring4.0推荐使用Java代码和注解方式作为配置(去xml), Spring Boot 遵循相关理念且采用4.0相关特性和技术,集成了主流组件,可创建一个内嵌Servlet容器的jar独立运行,且提供生产级特性(服务治理)。 Node.js Node.js 是基于ChromeV8引擎的Javascript 运行环境 ,它使用“ 事件驱动 ”且“ 异步非I/O ”的模型使其轻量且高效,Node.js的包管理器NPM是全球最大的开源库生态系统。 Node.js 是运行环境,而非Javascript类库和框架, NPM 与Java的Maven异曲同工,事件驱动把事件加入队列中轮训。Node.js采用 单线程模型 ,适用于 I/O密集型应用 (高并发网站)。 Node.js内置HTTP服务器(模块),性能和稳定性与Nginx不分伯仲。且模块体系强大,比如Web框架 Express ,Web Socket服务

Spring Boot 上传文件 获取项目根路径 物理地址 resttemplate上传文件

妖精的绣舞 提交于 2021-01-13 23:05:53
springboot部署之后无法获取项目目录的问题: 之前看到网上有提问在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar 运行时,项目中文件上传的功能无法正常运行,其中获取到存放文件的目录的绝对路径的值为空,文件无法上传。 问题链接 不清楚此网友具体是怎么实现的,通常我们可以通过如下方案解决: //获取跟目录 File path = new File(ResourceUtils.getURL( "classpath:").getPath()); if(!path.exists()) path = new File( ""); System.out.println( "path:"+path.getAbsolutePath()); //如果上传目录为/static/images/upload/,则可以如下获取: File upload = new File(path.getAbsolutePath(), "static/images/upload/"); if(!upload.exists()) upload.mkdirs(); System.out.println( "upload url:"+upload.getAbsolutePath()); //在开发测试模式时,得到的地址为:{项目跟目录}

Vue.js

血红的双手。 提交于 2021-01-13 17:51:50
这个星期把Vue学习了一下。Vue.js是对JavaScript进行了封装,语法风格和小程序很像,比如双大括号{{}}都是插值表达式。也许它们有相互借鉴的地方,所以说只要熟悉了一门语言,再学习其他语言就会融会贯通。 Vue的官方文档是https://cn.vuejs.org/v2/guide/ W3c的教程是https://www.w3cschool.cn/vuejs/ 简单的教程就不说了,这里我搭建了一个springboot+vue的工程,通过axios动态请求获取数据然后显示在table里 效果 工程结构 SpringBoot的搭建过程我就不说了,详见我的博客https://www.cnblogs.com/anni-qianqian/p/11270229.html 前端代码如下 user.html <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < title > v-fot遍历对象 </ title > < script src = "https://cdn.jsdelivr.net/npm/vue/dist/vue.js" > </ script > < script src = "https://unpkg.com/axios/dist/axios.min.js" > </ script > </