关于在云服务器端无法正常使用Java代码
我所遇到的问题与解决的方法
1、部署到云服务器端的servlet调用时报404或500
我是一个初学者,在使用jsp进行网页设计时会用到servlet进行数据的交互与界面的跳转。 我最开始在本地Tomcat服务器上部署的项目都能按照预定的期望正常运行,但当我把项目通过导入war包来部署到云服务器端后,在调用servlet就显示找不到或者出错等等问题。
2、仅在jsp页面内引用别的Java包内类也会出错
这里当我引用自己写的java代码时就会出现
java.lang.UnsupportedClassVersionError
这样的错误,我也查询了很多资料。说的大部分都是本地Java版本与服务器端的
Java版本或者jvm编译版本不一致所导致的。我也花了很长的时间去改正,我将两端的版本都弄成一样的,但还是没有效果该报错还是报错。
3、最后解决的方法
我将云服务器进行了重启,数据库正常启动但是tomcat就是打不开报错:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
这一查我才知道在比较新的版本的tomcat中可能不会自动引入JAVA_HOME。
所以需要在tomcat里的bin目录下的setclasspath.sh,添加JAVA_HOME和JRE_HOME两个环境变量,两个环境变量路径为您安装的java JDK的路径。
]
配置这些后就可以了。上面的问题也就迎刃而解了。
4、这里我有些困惑的地方
- 为什么我的云端Tomcat在存在这些错误的情况下还是可以运行,而不是直接进不去。例如:我有一个jsp页面里面只有一些java代码都是jdk自带的能够正常运行而不会出错(不是没有JAVA_HOME吗)。
希望大神能给些指导,在此感谢!