您的位置:首页 > 运维架构 > 网站架构

JSP空间网站上传后发生404解决思路

2013-05-30 19:10 239 查看
试用jsp空间后有很大一部分用户把网站上传好后,一访问发现是404错误,今天我们就探讨下404的解决思路,!

首先要明白什么样子的情况下TOMCAT会发生404错误!

发生404的可能的原因:

1:请求的资源不存在(访问的网页不存在)

2:替换或者修改了TOMCAT/conf文件夹里的tomcat配置文件(包括web.xml,server.xml等)

3:tomcat启动时加载工程失败(一般 自己的网站代码问题)

4:权限问题

最后一种权限设置的问题在我们的jsp空间上很少遇到(因为我们事先都做好权限的),我们着重讲前3条的解决办法

第一种:如果网站不幸发生404错误: 那么请首先考虑是不是路径的问题,我们的jsp空间,是把你本地的网站上传ftp上的webapps/ROOT文件夹里(注意ROOT是大写),请将您自己的网站上传到ROOT里,上传好后他的格式应该为

Webapps/ROOT/index.jsp

Webapps/ROOT/WEB-INF/web.xml

把您自己本地的网站文件和WEB-INF文件夹 都放到ROOT跟目录下,有的时候用户会把自己的网站工程文件夹整个放到ROOT文件夹里,,,成为这样的....

Webapps/ROOT/工程文件夹/index.jsp

Webapps/ROOT/工程文件夹/WEB-INF/web.xml

这样就是错误的,因为ROOT本身就是 个工程,所以他下面在放个工程的话tomcat只是把他看作一个普通的文件夹,里面的配置文件什么的当然就无法加载,导致您访问的时候发生404错误

解决办法: 把他放到root文件夹里即可

还有一种情况,用户把自己的工程放到webapps文件夹下和root平行

我举个例子,比如我的工程名称为 www.jspkongjian.net 放到webapps文件夹后和root文件夹平行后,目录结构是这样:

Webapps/ROOT/index.jsp

Webapps/ROOT/WEB-INF/web.xml

Webapps/www.jspkongjian.net/index.jsp

Webapps/www.jspkongjian.net/WEB-INF/web.xml

这样的情况下,也是正常的,但是用户在用永久域名访问就会报404错误,为什么呢?因为永久域名默认是访问ROOT文件夹里的东西,而您现在的网站不在root文件夹里,就应该用永久域名/工程名称访问,上面的例子就应该用 http://永久域名/www.jspkongjian.net 这样的形式访问!

第二种解决办法:如果您修改了我们服务器上的tomcat配置文件,包括conf文件夹的所有文件,比如web.xml,server.xml,不是说不能修改,这里是可以修改的,但是如果您修改的有问题他就会有可能出现404的错误,这个问题比较好解决,在确定路径没有问题的情况下,如果您修改过配置文件,你们可以到管理中心,高级管理的地方恢复server.xml文件,把您刚刚修改过的这些配置文件(整个conf文件夹)给恢复到默认状态!!恢复后重启即可!

第三种解决办法: tomcat启动的时候加载用户的网站失败造成的404 这个比较麻烦不好找问题,造成这个问题出现的原因也比较多,比如连接数据库,自己的web.xml设置,配置文件的编码,tomcat或者JDK的版本,缺少必要的jar包,上传文件不全的问题等,在这里我不一一和大家分析,我只说我通常我是怎么解决的,

确定路径没有问题,也没有修改过tomcat的配置文件,那么说明文件可能是第三种了,需要检查排除自己程序的问题!! 怎么排查呢,我说下具体办法

1:用本地网站调用远程的数据库,看看是不是正常的(是用本地网站调用远程的数据库,不是用本地的数据库连接远程的数据库哟)

有的用户笑了,我404 和数据库有什么关系??而且我的主页也没有连接数据库呀!!!

在这里我说下,启动的时候tomcat会加载网站,而数据库有问题,会导致在启动的时候连接不上数据库,整个工程就加载失败了,也就是tomcat加载失败了......如果是整个加载失败,别说主页的htm不能访问,就是一个图片他都会报404错误,我们就遇到过很多这样的问题!! 说远了,接着往下说

如果本地的网站调用远程的数据库是正常的,(ps:别告诉我不会调用,好吧那我在说下:把本地网站连接数据库的配置文件里的数据库连接信息修改为远程数据库的信息,关闭本地的数据库,访问本地的网站看看本地的网站是不是正常的),就说明数据库没有问题!!

你们我们就接着往下排查现在应该考虑是不是tomcat和jdk版本的问题,请检查本地的tomcat和jdk的版本是否和服务器上的一样,如果不一样,请到会员管理中心,高级管理里修改我们服务器上的tomcat和jdk的版本让他和本地的一样,在重启tomcat看看,看看404的问题解决了没有....

如果还不可以建议您把本地的网站打包为war或者rar上传,打包上传好了可以联系客服让他给您发布下或者自己登陆会员管理中心,网站解压里自己解压重新发布看看

有的用户会问,为什么要这样做...那是因为在用ftp上传的时候,如果一次性上传的文件比较多有可能会发生上传后文件变小了的问题(ftp协议造成的,不是某个公司的问题),,,实际经验告诉我们这样的问题也不能排除也要考虑到!!!

打包上传可以避免这样的情况发生!!有时候把文件打包一上传就ok了....

如果打包上传后还是发生404错误,我们就建议大家下载我们的tomcat在本地把自己的网站放到下载我们的tomcat里运行看看,看看他到底报什么错....便于解决

我把我们服务器上的tomcat下载地址给出来:

http://www.jspkongjian.net/doc/tomcat5.5.33.rar

http://www.jspkongjian.net/doc/tomcat6.0.18.rar

http://www.jspkongjian.net/doc/tomcat6.0.33.rar

http://www.jspkongjian.net/doc/tomcat7.0.20.rar

我们的tomcat是解压版本,下载后需要把本地的java_home变量设置为您jdk的路径,如果您设置了CATALINA_HOME变量删除他,然后到bin目录下双击startup.bat即可运行,默认端口是8080

如果您本地使用了工具开发,请不要把我们的tomcat集成到您的软件里,因为如果是因为缺少软件自带的jar

而您又把我们的集成到软件里运行,这样是看不出问题在那里的!!有的时候用户上传网站会忘记把软件里自带的jar也上传到ftp上,,,如果是这样您在本地测试的时候又把我们的tomcat集成到软件里,肯定是发现不了问题的,我们的tomcat您就让他单独运行!!!

把您的工程copy到tomcat/webapps下,到bin目录下双击startup.bat启动我们下载的tomcat,然后用 http://localhost:8080/工程名称 访问,看看是不是正常的

如果不正常,看看他报什么错google下看看有没有解决办法!!!

在本地让他正常后,把正常后的网站文件打包为rar上传到空间里解压,启动服务器上的tomcat,访问看看是不是正常的,一般到这里就会正常了...

如果这样做了后还不正常,就需要联系我们提供用户名称,我们帮您排查下!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐