之前的旧项目是Java的Web应用程序,是底层的Servlet开发的,最近被检测出有XSS漏洞。研究了一下,主要是针对Content-Type、请求参数上做攻击,JavaWeb可以使用Filter过滤器,来对这些统一进行过滤。 首先实现安全过滤器 新建 XSSRequestWrapper.java,针对请求参数关键词做检测和过滤 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrap…

2021-09-07 0条评论 1498点热度 0人点赞 admin 阅读全文

把项目的JDK升级成了JDK11后,发现原来的代码报错了,javax.annotation.Resource等地方,提示没有那个包: java: package javax.annotation does not exist 问题是Java11以后,都移除了javax.annotation,不过解决方案也简单,它只是不在标准的JDK里,还可以通过第三方jar包引入,或者利用maven引入: pom.xml <?xml version="1.0" encoding="UTF-8"?> <!-- ~ …

2021-09-04 0条评论 3163点热度 0人点赞 admin 阅读全文

SpringBoot下使用如下,spring-boot-starter-data-redis,使用RedisTemplate/StringRedisTemplate封装了Redis的操作,非常的方便了。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency…

2021-08-30 0条评论 2592点热度 0人点赞 admin 阅读全文

有时候,我们需要将普通的html(xml格式并不是很严格,例如标签不闭合)转成格式标准的XHTML,例如,在之前的文章中,利用iTextPDF将html转成PDF中(详见:https://blog.terrynow.com/2021/08/10/itextpdf-5-x-convert-html-to-pdf-support-css-and-chinese/),就需要提供标准的XHTML 可以利用jsoup来实现(Jsoup是一个非常强大的Html解析工具,可以整理Html,类似Jquery的查找元素的方式提取需要…

2021-08-29 0条评论 3858点热度 0人点赞 admin 阅读全文

在之前的文章中,实现了利用iTextPDF将html页面转成PDF的方法,详见:https://blog.terrynow.com/2021/08/10/itextpdf-5-x-convert-html-to-pdf-support-css-and-chinese/ 现在又遇到一个小需求,就是在html内容还没有撑满一页的情况下,需要强制换到下一页,就像Word里面,开一个新的页一样,要如何做到呢? 通过研究查阅,发现一个很简单的方法: 只需要加上如下html元素即可: <p style='page-bre…

2021-08-28 0条评论 5603点热度 0人点赞 admin 阅读全文

在处理邮件的时候,可能会遇到主题或者其他内容是类似=?utf-8?b?44Gv5piG5piO77yI5YWs5Lqk6L2m4oyS54eD54On?=这样的,这是邮件的QP(QuotedPrintable)编码,来看下怎么解码。 以下代码实现了QP(QuotedPrintable)解码,详见方法 import javax.mail.internet.MimeUtility; import java.io.ByteArrayOutputStream; import java.nio.charset.Charset…

2021-08-27 0条评论 3453点热度 0人点赞 admin 阅读全文

项目中需要把Html的模板文件根据动态变量输出成string的html,供其他的调用(例如根据html生成html,或者根据html发送邮件等),项目是用SpringMVC5做的,用上了Thymeleaf模板引擎,还是挺方便的,发出来供参考,因为一些配置是基于xml的,网上看到的并不多。 首先引入依赖,pom.xml增加thymeleaf-spring5: <dependency> <groupId>org.thymeleaf</groupId> <artifactId&g…

2021-08-26 0条评论 2094点热度 0人点赞 admin 阅读全文

我们用SpringBoot写好的Rest API,在开发阶段,前后端联调的时候,发现前端写的例如vue程序(axios)无法连接API,通过浏览器日志发现报错:No 'Access-Control-Allow-Origin' header is present on the requested resource. 原因是跨域了,为了安全期间,前端的程序和API不是同一个URL,导致无法访问。 网上写的一些SpringBoot解决跨域的,是给Controller增加@CrossOrigin注解,或者配置WebMvcC…

2021-08-18 0条评论 1878点热度 0人点赞 admin 阅读全文

如题,我们需要在JSP或者Servlet中调用Spring中的Serivce,该如何做呢? 如下,我们写了一个service: @Service("systemService") @Transactional(readOnly = false) @Repository public class SystemServiceImpl implements ISystemService { // 代码省略 } 可以使用Spring的工具方法:来获取ApplicationContext,然后再来得到我们需要的service…

2021-08-16 0条评论 1809点热度 0人点赞 admin 阅读全文

看官方itextPDF的文档,推荐和DEMO都使用的是iTextPDF7的版本,但是看上去是版权或者收费的,不管怎么样,还是使用5版本比较保险。不过iText5生成PDF的方式和7是完全不同的,来看下 在pom.xml中引入itextpdf的依赖,基本上5这个大版本是定格在5.5.13.2了 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <…

2021-08-10 0条评论 6539点热度 0人点赞 admin 阅读全文
1…1112131415…21