windows web服务器代码移植到linux所采的坑
一、导入问题
不能直接将编译后的class文件放入linux服务器中,虽说java是跨平台性好,但是windows下的class文件是不能在linux下直接运行的.
二、编译问题
1. 编码问题
在linux端编译代码时,最先遇到的就是编码问题,默认是按ACSII码编译的,不行:
所以试着用utf-8
也不行,那用GBK
成了,所以一定要记住自己文件的编码
但是还有一种情况,上述几种编码都不行,这个时候,可以在windows上把文件转码,
右键你的源代码,用记事本打开,点击文件–>另存为–>修改编码,即可,如果还不行,直接复制代码,vi编集粘贴到服务器里
2. 无法编译问题
由于需要用到tomcat安装目录下的lib下的servlet-api.jar,所以需要手动设置classpath,否则凡是继承自HttpServlet的代码都将无法编译
解决方法:修改/etc/profile文件,把上述文件加入
三、路径问题
导入linux服务器中的文件并不能完全照搬idea等工具中的文件路径,而应该采用如下方式:
在tomcat目录下的webapps下放入总的工程,假设为目录A
然后在A下的WEB-INF下新建classes文件,用来存放java代码编译后的类,注意包名不能乱改,要跟java代码中的报名保持一致.
比如一个代码为import cn.itcast.chapter06.session.example,那么该代码编译后的class文件也一定要放在对应的目录下.即tomcat根目录下的webapps下的工程A下的WEB-INF下的classes下的cn下的itcast下的chapter06…以此类推才可以,否则运行服务器时可能会出现文件找不到或者异常.
四、如何查错
linux下的tomcat服务器不能像windows可以随时查看服务器是否出错,但是可以通过日志来查看,
日志就在tomcat根目录下的logs,可以根据日志进行排错