今天在eclipse中新建了tomcat server,但是由于一些配置出了问题,导致总是出现404报错,具体情况如下

症状:

tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。

关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面

然后我去搜索了一下,找到了这篇blog,http://blog.csdn.net/wqjsir/article/details/7169838

里面说

症状原因:

eclipse将tomcat的项目发布目录(tomcat 目录中的webapp)重定向了,所以你会发现在tomcat安装目录下的webapp目录里面找不到你的项目文件。

-------------------2013-12-27重新编辑:-------------------

  感觉之前写的废话好多,简直无语,长话短说,解决方案就是:在eclipse中双击你配置好的服务器,然后:

  1、如果你选择了Use Tomcat installation选项,那么你就要注意,配置好“%CATALINA_HOME%/conf/server.xml”(里面的docBase要指向你的web-content的根目录,在这里,我的是E:\web.workspace\mldndemo\WebContent,即WEB-INF文件夹在这个目录下),并且把Deploy path设置为webapps

  2、如果你选择了Use workspace metadata选项,那么就保持其默认设置,并且配置好“[eclipse的workspace目录]/Servers/Tomcat-v6.0-Server-at-localhost-config/server.xml”(docBase在这里是E:\web.workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT,WEB-INF文件夹在这个目录下,并且注意,把你写的jsp和html页面拷贝到这个目录下),并且把Deploy path设置为wtpwebapps

-------------------下面是以前写的详细内容-------------------

然后呢,我就双击在eclipse中建立的tomcat server,看到如下信息

你可以看到,eclipse把所有的配置文件全部放到了当前workspace的子目录中,而不是像一般情况下给放到tomcat的安装目录下,对于我目前的情况,就是在这个目录下

好,那我就按照他说的方法,把路径改成如下,这样就指向tomcat安装目录中的路径了吧?

但是,情况是什么呢?还是404

后来我就去检查%CATALINA_HOME%/conf/server.xml,诶?里面居然没有配置<Context path="" docBase=""></Context>

我以前可是配置好了的!

其实呢,原因就是我在上面设置Use Tomcat installation的时候,eclipse把%CATALINA_HOME%/conf/server.xml给替换了,替换成了谁呢?看下图,这个server.xml是在我的workspace目录里面的/conf文件夹中的,上面已经说过了,但是尽管这个server.xml与%CATALINA_HOME%/conf/server.xml不是同一个,但是只要你配置为Use Tomcat installation,你在这个server.xml中所做的任何修改都会被反映到%CATALINA_HOME%/conf/server.xml中!也就是说eclipse帮你同步了这两个文件的内容!

但是要注意,eclipse仅仅会在你修改了Server Locations选项之后,并且重启了服务器,才会进行这个同步!

好吧,重新写上去(随便你写到哪个server.xml中都可以,因为在当前配置下,eclipse会帮你同步这两个文件的内容,但是要注意,这个同步是单向的,不是双向的,也就是说,你修改%CATALINA_HOME%/conf/server.xml,eclipse不会将其内容同步到/Servers/Tomcat-v6.0-Server-at-localhost-config/server.xml中),重启服务器,嗯,现在再看,可以用了

==============================

Ps:

实际上呢,我上面提到的那个blog没说中要点,最根本的原因还是server.xml没有被配置好,你完全可以选择就用Use workspace metadata配置,也不要把wtpwebapps修改为webapps,你只需要把上图中的/Servers/Tomcat-v6.0-Server-at-localhost-config/server.xml给配置好(主要是加上<Context>)就行了。

========================================================

总之,如果你选择了Use Tomcat installation选项,那么你就要注意,配置好%CATALINA_HOME%/conf/server.xml(里面的docBase要指向你的web-content的根目录,在这里,是E:\web.workspace\mldndemo\WebContent,即WEB-INF文件夹在这个目录下),并且把Deploy path设置为webapps

如果你选择了Use workspace metadata选项,那么就保持其默认设置,并且配置好/Servers/Tomcat-v6.0-Server-at-localhost-config/server.xml(docBase在这里是E:\web.workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT,WEB-INF文件夹在这个目录下,并且注意,把你写的jsp和html页面拷贝到这个目录下),并且把Deploy path设置为wtpwebapps

eclipse新建tomcat server但是总是报404的解决方法的更多相关文章

  1. eclipse启动tomcat访问localhost:8080报404

    直接双击tomcat\bin目录下面的startup.bat启动 是没问题 的 但是eclipse启动tomcat访问localhost:8080报404 解决方案如下: 双击红色圈里面的tomcat ...

  2. ubuntu eclipse 建立server 提示coud not load the tomcat server configuration at /opt/apache ...的解决方法

    ubuntu eclipse 建立server 提示coud not load the tomcat server configuration at /opt/apache ...的解决方法 & ...

  3. Tomcat启动后,访问页面报404错误解决方法

    Tomcat正常启动后,出现如下情况 提供一个参考解决方法: 1.双击servers 2.把Server Locations设置为User Tomcat installation 保存后再次访问页面就 ...

  4. 导入eclipse有Unbound classpath variable: 'M2_REPO报错的解决方法

    Eclipse maven of the project reported in Unbound classpath variable: 'M2_REPO /**/***/***. jar' But ...

  5. 在Tomcat中部署Web项目的操作方法,maven项目在Tomcat里登录首页报404

     maven项目在Tomcat里登录首页报404, 解决:编辑conf/server.xml进行配置<Host>里的<Context>标签里的path. <Context ...

  6. Eclipse中Tomcat Server启动后马上又自动停止报错Address已经使用8005端口 Can't assign requested address (Bind failed)

    Eclipse中Tomcat Server启动后马上又自动停止报错 Can't assign requested address (Bind failed) ,打开Tomcat Server的配置页面 ...

  7. Docker++:docker运行Tomcat后访问首页报404 (永久解决方式)

    docker运行Tomcat后访问首页报404 与 tomcat 版本有关. 解决方式如下: 1.查看防火墙问题 2.Tomcat 下如果有 webapps.dist 和 webapps 则需要进行合 ...

  8. Eclipse 新建.jsp页面后,页面头部标签报错的解决方法

    Eclipse 新建.jsp页面后,页面头部标签报错的解决方法 1.报错地方: 2.解决方法: .jsp页面右键==>BUild Path ==>Configure Build Path. ...

  9. MySQL中遇到的几种报错及其解决方法

    MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...

随机推荐

  1. 用BeanUtilsDate类型值为空报错的解决方法

    除BeanUtils外还有一个名为PropertyUtils的工具类,它也提供copyProperties()方法,作用与BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发 ...

  2. 〖Linux〗使用gsoap搭建web server(C)

    1. gsoap的好处就不用说了:百度百科 2. gsoap的下载地址:项目地址,目前我使用的是2.8.15版本 3. 开发环境:Ubuntu13.10 4. 具体操作步骤(以简单相加为例): 1) ...

  3. POJ2226

    题意:给定一个矩阵,当中有一些地方有水,如今有一些长度随意,宽为1的木板,要求在全部板不跨越不论什么坑的前提下,用一些木板盖住这些有水的地方,问至少须要几块板子? 思路: watermark/2/te ...

  4. 好用的eclipse properties插件

    eclipse默认编辑器: 在有汉字的情况,特别是注释是汉字的情况,你会非常蛋疼的 JP的properties插件:http://propedit.sourceforge.jp/eclipse/upd ...

  5. JS获取浏览器高宽度,屏幕分辨率和一些定位空隙等

    IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...

  6. velocity入门

    http://wenku.baidu.com/view/b401add728ea81c758f57882.html?re=view package cn.edu; import java.io.Fil ...

  7. 【LeetCode】150. Evaluate Reverse Polish Notation

    Evaluate Reverse Polish Notation Evaluate the value of an arithmetic expression in Reverse Polish No ...

  8. python核心编程--笔记(不定时跟新)(转)

    的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   ...

  9. Python2 cmp() 函数

    描述 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 语法 以下是 cmp() 方法的语法: cmp( ...

  10. centos7 启动httpd的时候为什么显示是这样的

    我输入 service httpd start显示一下内容:Redirecting to /bin/systemctl start httpd.service -------------------- ...