androidpn服务端部署到linux服务器出错 解决方法
androidpn服务端部署到linux服务器,启动tomcat后,在浏览器上访问,点击四个标签,都会报错:
javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1247)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
(整个页面都是错误代码,后面还有一大推)
-------------------------------------
这个问题纠结了我好几天,网上有关于此问题的说法:
1. windows和linux目录结构不一样,读取xml文件有问题
2. linux文件名区分大小写,注意文件名
3. 在本地工程打包问题
但是我通过这些说法,都没有解决我的问题
最后一个偶然的时机,隐约觉得是端口问题
开启tomcat前,发现5222端口一直处于监听状态,试着把5222端口的进程关闭,然后启动tomcat,浏览器访问成功!!
现在把详细的解决方法列出来:
关闭tomcat服务器:
# shutdown.shwar文件传送到服务器,在启动tomcat服务前,查看三个端口的状态,确保都是没有被占用的:
# sockstat -4l | grep 5222
# sockstat -4l | grep 8080
# sockstat -4l | grep 8009
如果被占用,则杀死占用此端口的进程:
# sockstat -4l | grep 5222
root
java
3916
90 tcp4
*:5222
*:*
# kill 3916
启动tomcat服务:
# startup.sh
再次查看三个端口的状态,应该都是处于监听状态的,而且是同一个进程号占用的:
# sockstat -4l | grep 5222
root
java
86677 90 tcp4
*:5222
*:*
# sockstat -4l | grep 8080
root
java
86677 31 tcp4
*:8080
*:*
# sockstat -4l | grep 8009
root
java
86677 38 tcp4
*:8009
*:*
从浏览器访问站点,点击各个标签,都没报错误!
-------------------------------------
sockstat命令的用法:
sockstat -4l ——可以查看侦听端口的程序,其中4表示ipv4,l表示listen
sockstat -4c ——可以查看已建立的连接状况。
sockstat -4 ——等于上述两个命令的和。
javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1247)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
(整个页面都是错误代码,后面还有一大推)
-------------------------------------
这个问题纠结了我好几天,网上有关于此问题的说法:
1. windows和linux目录结构不一样,读取xml文件有问题
2. linux文件名区分大小写,注意文件名
3. 在本地工程打包问题
最后一个偶然的时机,隐约觉得是端口问题
开启tomcat前,发现5222端口一直处于监听状态,试着把5222端口的进程关闭,然后启动tomcat,浏览器访问成功!!
现在把详细的解决方法列出来:
关闭tomcat服务器:
# shutdown.shwar文件传送到服务器,在启动tomcat服务前,查看三个端口的状态,确保都是没有被占用的:
# sockstat -4l | grep 5222
# sockstat -4l | grep 8080
# sockstat -4l | grep 8009
如果被占用,则杀死占用此端口的进程:
# sockstat -4l | grep 5222
root
# kill 3916
启动tomcat服务:
# startup.sh
再次查看三个端口的状态,应该都是处于监听状态的,而且是同一个进程号占用的:
# sockstat -4l | grep 5222
root
# sockstat -4l | grep 8080
root
# sockstat -4l | grep 8009
root
从浏览器访问站点,点击各个标签,都没报错误!
-------------------------------------
sockstat命令的用法:
sockstat -4l ——可以查看侦听端口的程序,其中4表示ipv4,l表示listen
sockstat -4c ——可以查看已建立的连接状况。
sockstat -4 ——等于上述两个命令的和。