ok,开发测试成功,接下来考虑怎么把这个servlet demo放到tomcat中去。
首先把eclipse里面的tomcat预览服务器关掉防止端口冲突。
在/var/lib/tomcat7/webapps下面建立路径test/WEB-INF/classes/test/,将编译好的helloServlet.class文件复制过来,将web.xml放到WEB-INF下面,即和classes平级,用service tomcat7 start启动tomcat服务,尝试登陆localhost:8080/test/hello(这个路径就是在web.xml里面设置的那个),提示major minor版本不对。
直接上网百度之,发现这个问题是jdk和jre版本不一致导致的。那么检查下
java -version是1.7的 javac -version是1.8的。果然……
既然有新版本,那么就以新版本的java为基础吧(其实尽量还是用低版本的,兼容性会好很多)。
update-alternatives –install /usr/bin/java java /usr/java/jdk1.8.0_25/bin/java 500,增加一个可以切换的java版本,这里jdk的路径要用自己机器上的路径。
update-alternatives –config java,选择刚才设置的1.8版本的java。重启tomcat后再试一次,发现还是不行!这是啥情况呢!
反复核对java版本、查找资料无果后,猜测可能是tomcat7或者ubuntu对java1.8的支持力度不够的问题。因为ubuntu用apt-get只能安装到1.7版本的jdk,还是降版本好了……
java的版本不用动,再用update-alternatives设置一个javac的1.7版本,并切换过去就可以了。由于之前java是1.7版本的,那么javac肯定在某个位置也有1.7版的。可以在之前1.7版本的java路径下面找到对应的javac来进行设置。
修改javac版本,并重新编译helloServlet.java后,复制到tomcat的部署路径下面对应位置,再次开启网页测试localhost:8080/test/hello,页面上终于成功显示了 welcome to my first servlet。
整个过程反复安装软件、查找资料等等等等消耗了很多时间,不过也对java版本和tomcat部署servlet有了很多了解,还算是收获颇丰