有时候,我们服务器上可能有多个版本的JDK,而Tomcat要运行的可能不是当前系统默认的JDK,所以需要指定JDK运行。 修改tomcat目录下setclasspath.bat 在实际出现代码的前面增加一行,内容如下(实际jdk的路径,根据实际情况修改): set JAVA_HOME=D:\Program Files\Java\jdk1.8.0_291-windows 如图: 修改tomcat目录下setclasspath.sh 在实际出现代码的前面增加一行,内容如下(实际jdk的路径,根据实际情况修改): exp…

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

部署web的时候,为了方便期间,把用户资源做一个link附加到应用中(ln -s /storage /opt/tomcat/webapps/ROOT/xxx),结果发现tomcat里的程序无法读取到这个目录或者里面的文件 例如:ServletActionContext.getServletContext().getRealPath('/storage')就输出为null,其他文件操作的地方,报java.io.FileNotFoundException. 原因是Tomcat下,默认是不支持linking的方式的,需要…

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

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

2021-09-07 0条评论 16点热度 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条评论 30点热度 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条评论 32点热度 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条评论 41点热度 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条评论 75点热度 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条评论 42点热度 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条评论 31点热度 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条评论 39点热度 0人点赞 admin 阅读全文
1234510