一、tomcat版本不一致
在windows上开发时用的tomcat9,实现javax.servlet.Filter的实现类无需重写init()和destroy(),
但我在Linux上安装的tomcat是8.5,javax.servlet.Filter的实现类需要重写init()和destory()。
导致我能访问到linux上tomcat主页,但是不能访问部署的项目,在日志文件中发现全是java.lang.AbstractMethodError报错。
在过滤器中实现了init()和destory()方法后重新打包部署就能访问了。
二、验证码图片加载不出来
这里在博客园看到一个大佬发的,在这记录一下
用java写了一个验证码功能,把项目放linux服务器下之后图片显示不出来,后来同事找到了原因。
1.什么是Headless mode?
Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。2.何时使用和headless mode?
Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。3.如何使用和Headless mode?
一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来:
System.setProperty("java.awt.headless","true");解决:
生成图片的java文件里写:
public class RandomNumUtil {
static{
System.setProperty("java.awt.headless", "true");
}}
原文地址:https://www.cnblogs.com/zf2011/archive/2011/11/23/2260658.html
加上那段代码就能显示了,666.
三、部分css样式缺失
有些元素没有样式了,打开控制台发现请求css的响应都是404,还有一些请求js的也是404,还不知道为啥。。。
标签:java,项目,部署,headless,模式,Headless,init,mode,Linux From: https://www.cnblogs.com/giaogiaoyang/p/17747604.html