为了账号安全,请及时绑定邮箱和手机立即绑定

一直404错误,真心求教啊

http://img1.sycdn.imooc.com//59d3bcf00001c03908590460.jpg

http://img1.sycdn.imooc.com//59d3bcf1000147cd12720460.jpg

http://img1.sycdn.imooc.com//59d3bcf10001208108190460.jpg

http://img1.sycdn.imooc.com//59d3bcf20001fd8e12220460.jpg

查了一个晚上也没有找出错误的地方,快要疯了。直接运行index.jsp页面也是404错误。但是访问其他项目的jsp页面是没问题的,到底错在哪里啊!

正在回答

9 回答

总结一句话:

    说实话,我也看不懂这个错误是什么意思。我也没遇见过这种类型的错误。

你报错的英文:

    Failed to process either the global, per-host or context-specific context.xml file therefore the [/manager] Context cannot be started.

翻译过来大概是:

    无法处理global节点,host节点、context节点,因此容器无法启动。

说说解决方案吧:

    Plan A :重新下载个Tomcat试试。

    Plan B :按照我下面说的重新搭建一个环境。

        0. 创建一个JavaProject(普通java项目),不是Dynamic Web Project(Web动态工程),然后建立下面文件结构:

        —— src

                |—— com.imooc.action

                |—— struts.xml

        —— webapp

                |—— WEB-INF

                        |—— classes

                        |—— lib

                        |——web.xml

                |——index.jsp

        1. 打开 Tomcat根目录/conf/server.xml 搜索 <Host name="localhost" 这个标签下面有一个Value标签,在它下面配置一个<Context /> 格式类似下图

    http://img1.sycdn.imooc.com//59d6fa140001b6a306290042.jpg

    属性说明:

        docBase:Web项目的根目录

        path:上下文,为空即可(严格来说应该是 "/" 才对的,但是既然不写也能识别,那么一般不写)

            注意:企业中,上下文一般都是不配置的,至少我司是这样,按模块划分,所以上下文不配置。

        2. 更改项目输出目录

            http://img1.sycdn.imooc.com//59d701d400017b9208430527.jpg

        3. 把你之前的配置复制过来,web.xml,struts.xml,action等等,启动Tomcat。

            1>运行CMD

            2>进入Tomcat根目录/bin

            3>输入startup.bat

            注意:不要直接在Tomcat上RunAS,采用最原始的方式启动即可。

访问URL:localhost:8080

能够正常访问:说明代码没有什么问题,那应该就是Eclipse的Tomcat的配置有问题,或者你把什么东西删了,那么重装Eclipse和Tomcat吧。

不能访问(404):重装Eclipse和Tomcat。

=============================分割线===============================

以上纯手打,难得午休的时间都贡献给你了。好好珍惜,同时希望能够帮你解决到问题。


最后,我要高举IDEA大旗:IDEA大法好。



2 回复 有任何疑惑可以回复我~
#1

慕无忌5903725 提问者

真心感谢,我会按你说的方法试试的。
2017-10-06 回复 有任何疑惑可以回复我~

你可以试一试去掉 <display-name>Struts2_test</display-name>这个,我一开始也是一直404,各种都不行,去掉这个立马就可以了

0 回复 有任何疑惑可以回复我~

我用得是tomcat9.0,struts是2.5.13。最开始的时候我也是启动不了,后来把log4j-api.jar复制到lib下面就好了

0 回复 有任何疑惑可以回复我~
#1

横空hero

我这些包都复制了,和你环境一样。还是不行 -_-||
2017-11-12 回复 有任何疑惑可以回复我~

我不知道我怎么弄了下,你试试全部退出,然后重新进,我的是struts.xml有问题,这样弄的,然后解决了。

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//59d5fdd30001a70808190460.jpghttp://img1.sycdn.imooc.com//59d5fe2d000177e108190460.jpg

真心求教哪里错了

http://img1.sycdn.imooc.com//59d5fe720001c82009180460.jpg

tomcat是7.0的版本,struts2是2.3.24

0 回复 有任何疑惑可以回复我~

Caused by: org.apache.catalina.LifecycleException: Failed to process either the global, per-host or context-specific context.xml file therefore the [/manager] Context cannot be started.

at org.apache.catalina.startup.FailedContext.startInternal(FailedContext.java:158)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

... 14 more


十月 05, 2017 5:35:46 下午 org.apache.catalina.startup.HostConfig deployDirectory

SEVERE: Error deploying web application directory D:\软件\java Web\apache-tomcat-7.0.53\webapps\manager

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [/manager]

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)

at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:133)

at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:156)

at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:145)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1229)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:748)


0 回复 有任何疑惑可以回复我~

错误信息贴全一点,我看一下

0 回复 有任何疑惑可以回复我~
#1

慕无忌5903725 提问者

好像只要在web.xml文件中加入过滤器,连直接运行index.jsp都会出现404的错误。
2017-10-05 回复 有任何疑惑可以回复我~

都试过了,还是解决不了啊。百度上没有相似的例子,唉

0 回复 有任何疑惑可以回复我~

把导致错误  caused by .... : 后面这一段复制下来,上百度看看.后面的错误信息看不到,其他人也没法帮你排.

另外, 如果jsp在web-inf下的话,不能直接访问,所以如果经过action有问题的话肯定也到不了jsp. 

总之, 各种能用的方法都试试吧, 比如看看单词有没有错, 各种配置是否正确

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

一直404错误,真心求教啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信