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,访问看看是不是正常的,一般到这里就会正常了...
如果这样做了后还不正常,就需要联系我们提供用户名称,我们帮您排查下!!!
首先要明白什么样子的情况下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,访问看看是不是正常的,一般到这里就会正常了...
如果这样做了后还不正常,就需要联系我们提供用户名称,我们帮您排查下!!!
相关文章推荐
- SmartUpload,jsp重命名上传的文件提示文件无法保存(File can't be saved (1120).)解决思路
- 解决grails上传文件过大,发生异常的问题
- 从求职网站求职说起。再谈换一种思路解决问题,先做人,后做程序(开放求职工具源码)。
- iis6.0添加asp.net 3.5网站 出现“HTTP 错误 404 - 文件或目录未找到”的解决办法
- asp.net fileupload 上传文件错误页面404 解决方法
- 当网站不允许上传asp cer cdx htr文件时的一个解决方法! Author: Neeao From:http://www.neeao.info
- php程序上传网站logo出现错误解决办法
- 用户上传产生无效文件的解决思路
- 解决php上传文件过程中Warning move_uploaded_file, failed to open stream的一种思路
- 解决kindeditor上传图片时发生“服务器发生故障”的问题
- 【springMVC】解决contextConfigLocation对应的配置文件加了CommonsMultipartResolver上传文件出现404 Not Found的问题
- 编译发布网站后发生CS0433错误的解决方法
- windows 2008 iis7 上传大文件报错 404 限制的真正解决办法
- swfupload上传多张照片出现404 错误?(已解决)
- uploadify在ie,chrome等浏览器上传文件成功,而firefox出现http error 404问题的解决方法
- 解决app在没有上传app store前大规模安装测试问题的一些办法与思路
- CuteFTP 8.2上传提示:接收服务器响应时发生超时(60000 毫秒)的解决方法
- 解决Chrome在部分网站不能弹出上传文件对话框的办法及flash问题
- [黑客技术]当网站不允许上传asp cer cdx htr文件时的一个解决方法