今天在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. windows命令:control命令

    Windows的命令列模式下有个非常好用的命令叫做Control.这个命令其实就是控制『控制台』的一个接口.你可以用这个命令直接叫起一些平常要找很久才会找到的窗口.最简单的一个例子,你只要在『开始』 ...

  2. HTTP协议详解之基本认证篇

    •什么是HTTP基本认证: 桌面应用程序也通过HTTP协议跟web服务器交互,桌面应用程序一般不会使用cookie,而是把‘用户名+:+密码’用base64编码之后的string放在request中的 ...

  3. scala中:: , +:, :+, :::, +++的区别

    4种操作符的区别和联系 一. ::   该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表. 用法为 x::list,其中x为加入到 头部的元素,无论x是列表与否,它都只将成为新生成列 ...

  4. 文本挖掘之文本聚类(OPTICS)

    刘 勇  Email:lyssym@sina.com 简介 鉴于DBSCAN算法对输入参数,邻域半径E和阈值M比较敏感,在参数调优时比较麻烦,因此本文对另一种基于密度的聚类算法OPTICS(Order ...

  5. oracle10-11数据库下载

    Oracle数据库官方下载,需要注册oracle账号,方可下载! 11G 7个压缩包含义: p102025301120——Linux-x86-64_1of7.zip             datab ...

  6. highstock高级篇之股票分时图

    一直在用 highchart 在做图表,最近一段时间突然接到一活,需要用 highstock 帮客户完成一个股票K线图和分时图.虽然用法和 api上与 highchart 没什么区别,但还是研究一番做 ...

  7. leetcode || 58、Length of Last Word

    problem: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', ret ...

  8. idea搭建简易ssm项目

    按照http://www.cnblogs.com/hackyo/p/6646051.html来搭建ssm框架,一步成功,特此记录一下. 本机环境: idea2017.3 jdk1.8 mysql5.5 ...

  9. Emacs 的版本控制功能

    All operations: C-x v + vc-update C-x v = vc-diff C-x v D vc-root-diff C-x v I vc-log-incoming C-x v ...

  10. HDUOJ--点球大战

    点球大战 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...