
javaWEB
文章平均质量分 51
weisian151
大家一起来学习,讨论
展开
-
Java 常用注解
一般post/json的请求,后台会使用 @RequestBody 注解来自动将请求体绑定到对应的 Java 对象上(即调用了request.getInputStream()方法),该方法获取请求体后,其他方法不能在获取请求体,因为request.getInputStream()流中的数据已经不在了,所以在上面示例代码handleAllExceptions中使用request.getReader()或request.getInputStream()都会报错。实际上Class2也包含@Anno1的这个注解。原创 2024-03-14 17:57:20 · 934 阅读 · 0 评论 -
Java 容器启动执行指定任务
实现CommandLineRunner接口,注意做初始化任务的类需要放在扫描路径下,使用@Component注入到spring容器中。实现InitializingBean接口,复写afterPropertiesSet方法。1、实现CommandLineRunner接口。2、实现InitializingBean接口。3、通过@PostConstruct注解定义。原创 2024-03-11 19:48:37 · 421 阅读 · 0 评论 -
Java 拦截器Interceptor详解
在实际应用中,拦截器的执行顺序是根据它们在InterceptorRegistry中的注册顺序来决定的。因此,为了解决这个问题,我们需要调整拦截器在InterceptorRegistry中的注册顺序,确保它们按照预期的顺序执行。(2)、基于AOP,先生成目标Action对象的proxy代理对象,在执行代理方法前,先执行拦截器链的前置方法preHandle。(1)、请求执行Handler之前,生成Action对象,在Action方法执行之前,校验是否有当前Action的拦截器,有的话先走拦截器处理。原创 2024-03-11 12:03:27 · 1365 阅读 · 0 评论 -
java 自定义注解方法使用-Field
1、本例已获取字典名称为例。一般在开发过程中,在保存字典数据时,都是保存字典的值数据,而不保存字典的名称,这样在获取编辑页面时可以满足要求,但是在获取查看详情页面时,需要展示字典的名称,此时就需要后台再去根据字典值去获取字典的名称。但是如果一个页面上有二三十个字典值时,后台一个一个去获取字典名称是比较麻烦的。本例已自定义注解的方式,通过注解的参数配置,从而实现一劳永逸的获取字典名称的方法。2、自定义注解类import java.lang.annotation.Retention;import j原创 2020-06-18 13:20:31 · 2019 阅读 · 1 评论 -
java POI解析获取word文件内容
1、需要的pom文件依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dependency> <dependency> <groupId>org.apache.poi</groupId> <artif原创 2022-03-04 15:55:09 · 6286 阅读 · 0 评论 -
Java 中文字符串在windows的cmd和linux中的坑
在windows的cmd中运行字符串base64加密,如果字符串不包含中文,则很正常。如果包含中文就会有问题,因为windows cmd的中文编码方式位GBK。而linux的中文编码则是UTF-8。所以如果源字符串不做处理就直接base64加密等,就会出现中文解析错误的问题。原创 2023-01-06 16:51:51 · 394 阅读 · 0 评论 -
java SAX解析XML
引入SAX相当于DOM解析来说,DOM一次会将所有的内容全部加载到内存中然后去解析内容到集合中去查找,如果对于较大的XML文件,则会非常影响内存的使用,同时对于大文件DOM解析效率非常低。所以引入SAX(流读取的机制)解析的方法。SAX基本概念流读取的机制是只负责读取,不进行存储,但是会给出一定的关键的事件,提示你进行相应的保存操作。流机制(SAX)是引导你进行提取自己关注的信息(私人原创 2017-07-30 20:29:33 · 346 阅读 · 0 评论 -
Java Excel导入及解析数据
问题背景:对于一些需要快速生成大量数据的情况,通过系统一个一个去生成基本上是不现实的,一般都会采用导入excel的方式去实现。例如:学校的成绩分析管理,需要通过导入一次考试的excel生成必要的分析数据。实现必要基础,个人认为需要接口传文件的时候附加其他业务参数,如年级等,其次还需要比较完整的解析excel文件(1)、接口调用方式和接口定义接口定义如下,用MultipartFile来接收文件,其他入参包含在对象中接口调用,使用post/form-data的请求,文件传File,其他参数传原创 2021-04-28 18:29:51 · 4522 阅读 · 0 评论 -
java DOM和XML的转换
版权声明:本文为博主原创文章,未经博主允许不得转载。Java使用面向对象将XML文件进行抽象,封装成了Document对象。将XML文件转换为Document文档的过程以及对应的Java代码:1)获取Document的构造器工厂实例DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();转载 2017-07-29 17:30:04 · 2669 阅读 · 0 评论 -
java http请求超时问题
1、案例http请求代码如下:import org.apache.http.client.CookieStore;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.cl原创 2022-02-22 17:32:02 · 7281 阅读 · 0 评论 -
Java POI导入Excel及解析Excel数据
1、需要的maven依赖<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>p...原创 2019-08-15 15:41:14 · 1552 阅读 · 1 评论 -
java 集合封装树形结构
1原创 2022-08-23 16:23:18 · 981 阅读 · 0 评论 -
Java POI导出EXCEL及样式设计
1、需要的maven依赖.<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>...原创 2019-08-14 17:39:20 · 1674 阅读 · 1 评论 -
Java 导出Excel模板文件
1、准备已经填好的导入模板Excel文件 建议在项目的资源目录下放置,如下图: 2、后端代码实现:import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import ja...原创 2019-08-15 11:25:13 · 3192 阅读 · 4 评论 -
Java 文件上传和输出
1、此前我们文章已经介绍过了关于Excel文件的上传和下载,这里的图片类似于之前的导入和导出,这里我们实战看一下吧!2、文件上传接口编码import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream...原创 2019-08-16 11:52:48 · 782 阅读 · 0 评论 -
Java 读取pdf内容-pdfBox
(5)、5执行效果,将多页的pdf文件进行一页一页分割。如上的示例代码,依次按照顺序执行main方法示例。(2)执行2效果:创建新文件且插入文字。(4)、4执行效果,合并pdf会出现2页。(3)、3执行效果,插入图片成功。在代码的如下位置引入该字体文件。原创 2023-05-17 16:30:39 · 1498 阅读 · 0 评论 -
文件上传提示C:\Users\xxxx\AppData\Local\...系统找不到指定的路径问题修复
判断如果是相对路径,则使用temp目录,就是上诉报错的C:\Users\XXX\AppD…FileNotFoundException: C:\Users\XXX\AppData\Local\Temp\tomcat.9095.675054628671612619\work…运行时new File(savePath).getAbsolutePath()后,可以debugger看到文件路径为D:\home\upload\aaa.jpg。可以通过参数看到,错误案例时,上传文件的路径为相对路径。原创 2023-05-09 11:09:16 · 4874 阅读 · 0 评论 -
web项目容器初始化执行
1、在web项目中,项目初始化需要执行一些特定事情,如依赖一些注入的service服务去操作字典或者行政区划的缓存,减少数据库之后的连接和执行负担等。通过 @PostConstruct注解也可以初始化执行事务,但是在方法体内无法使用注入的service服务,造成无法实现某些场景下的需求。本例通过InitializingBean和CacheInitiator接口实现初始化执行缓存。InitializingBean为初始化容器执行接口CacheInitiator为缓存初始换接口。如下方法:实现Init原创 2021-12-01 11:38:51 · 947 阅读 · 2 评论 -
java log4j配置日志分隔
1、定义要处理的日志console(输入格式)和File(输出文件)2、对定义的console进行配置,对File进行配置例一:每天生成新的日志文件,已日期命名#相当于定义CONSOLE和RollingFile,如果只设置一种日志文件用此即可log4j.rootCategory=INFO,CONSOLE,RollingFile# Set the enterprise logger priority to FATALlog4j.logger.org.apache.axis2.enterprise原创 2021-11-11 17:42:22 · 1179 阅读 · 0 评论 -
java 主线程返回,启动子线程处理数据
场景:提交表单数据,用户需要及时响应。但是提交的方法又需要做耗时操作(如生成几百个学生的转考证文件),此时建议处理方法为主线程处理正常的保存业务,启动子线程处理生成准考证的业务,主线程直接返回响应用户,子线程在后台继续执行。这样用户可以得到及时响应,且业务也可以完整操作。启动子线程参考案例。引入包import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;定义线程池实例private sta原创 2021-09-30 09:45:13 · 1713 阅读 · 0 评论 -
java 自定义配置文件,读取配置
1、添加模板配置文件放到同项目resource目录下:配置文件内容样式同application一样,如下xxx=内容111111xx1=内容2222222、引入配置文件的配置类,建议放到api或者model层中,依赖比较靠前,几乎每一个类都可以调用到。参考代码如下:import java.io.InputStream;import java.io.InputStreamReader;import java.util.Properties;import org.springframewor原创 2021-09-27 17:29:14 · 1553 阅读 · 0 评论 -
tomcat server.xml文件cookie设置常见
问题描述:同一台服务器下面,部署了两个tomcat服务,或者代理后两个相同域名端口不通的服务。第一个服务登陆后设置了cookie,如果是用同一个浏览器打开,则第二个服务登录重新设置了cookie,在回到第一个服务随便点击发现重定向到了登录页。原因:我们一般设置的接口的权限,通过前端设置cookie,对应上后端的session,校验是否已经登录从而实现接口监听的放行。在同一个域名下,如果tomcat是默认设置,会在前端生成相同cookie名称为JSESSIONID的内容,如果同一个域名下的第二个服务也在当原创 2021-08-09 11:38:21 · 1701 阅读 · 0 评论 -
eclipse debug启动,出现蓝箭头进入调试解决办法
出现该问题的原因是因为debug调试模式下,非正常的关闭导致的debug的挂载现象,解决的办法如下:1、进入debug的页面,可以看到左上方和右下方都有红色的停止方块,我们需要点击左上方的停止方块即可。解决:...原创 2021-07-29 10:53:19 · 1321 阅读 · 1 评论 -
springmvc项目启动加载过程
需要了解两个概念:1、ServletContext :是web项目的上下文,可以理解为整个Web应用的全局变量,项目中所有的方法可以获取ServletContext。2、ApplicationContext:是spring的BeanFactory的实现类,把spring所有配置加载进去,所依赖的bean创建实例,默认参数等等初始化。springmvc web项目,web容器启动会主动加载web.xml文件,以下贴出web.xml文件内容。以Tomcat举例,启动Tomcat之后,首先会加载w原创 2020-08-05 11:56:22 · 1809 阅读 · 0 评论 -
spring项目--过滤器,拦截器,监听器
一、http请求后台执行的顺序启动顺序:监听器 > 过滤器 > 拦截器(context-param-->listener-->filter-->servlet-->interceptor)记忆技巧:接到命令,监听电报,过滤敌情,拦截行动。二、区别和理解如果我们现在大海就是我们启动的项目,那么监听器就能够听到整个大海的声音,过滤器就是能够过滤出其中的鱼,而拦截器则是拦截其中的部分鱼,并且作标记。所以当需要监听到项目中的一些信息,并且不需要对流程做更改时,用监原创 2020-07-02 17:42:04 · 2418 阅读 · 0 评论 -
CAS--单点登录实现原理
出处:https://www.cnblogs.com/gxbk629/p/4473569.html1.CAS简介1.1.What is CAS?CAS(Central Authentication Service) 是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年, 并在2004年12月正式成为JA-SIG的一个项目。1.2.主要特性...转载 2020-07-01 13:24:58 · 553 阅读 · 0 评论 -
java--实现j2cache二级缓存
转载于:https://www.cnblogs.com/yg_zhang/p/10344519.html概述缓存框架我们有ehcache 和 redis 分别是 本地内存缓存和 分布式缓存框架。在实际情况下如果单台机器 使用ehcache 就可以满足需求了,速度快效率高,有些数据如果需要多台机器共享这个时候怎么办呢,我们需要通过redis,将缓存存放到redis上面。这也会导致一个问题,因为所有的请求都会到redis读取,当大量的读取会导致大量的网络流量,因此网络流量会成为访问的瓶颈。J2C转载 2020-06-30 18:37:10 · 2624 阅读 · 0 评论 -
spring项目--启动项目调用特定方法的三种实现方式
1、在开发过程中,由于某些模块的功能依赖于一些特定的数据才可以进行,或者有一些模块频繁的调用数据库固定的资源。此时,我们可以在项目启动的时候去执行某些方法,从而实现某些功能的完善和提高某些模块的性能。2、项目启动调用方法有三种实现方式(1)、通过方法上添加@PostConstruct实现这种方法需要初始化容器的时候,@PostConstruct所在的类被加载到容器中才可以,添加次注解后,需要放在注解可扫描的地方。@Compantpublic class Demo{ @PostC原创 2020-06-30 17:20:25 · 1863 阅读 · 0 评论 -
java 获取resource下的静态资源文件
1、后台下载文件比较简单的逻辑步骤(1)、准备静态模板文件:把静态资源文件放到src/main/resource路径下,如:excelTmp/studentDemo.xlsx(2)、实现逻辑:先获取静态资源的url路径,方法两种,但各有些小问题 第一种:import java.net.URL; import org.springframework.core.io.ClassPathResource;URL url = new ClassPathResource("excelTmp/stu.原创 2020-06-19 11:10:05 · 12720 阅读 · 0 评论 -
JavaSpring之Aop应用(java项目)
1、配置所需要的maven依赖pom.xml文件(这里为spring核心依赖aop依赖和日志依赖)<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o原创 2017-12-11 17:42:34 · 642 阅读 · 0 评论