为什么有些项目可以在Tomcat正常运行 有些就提示找不到文件呢?

为什么有些项目可以在Tomcat正常运行 有些就提示找不到文件呢?


文件已经部署到服务器,文件路径正确,总是提示“The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.”服务器上又6个文件,其中4个文件可以正常运行  另外2个文件总是提示这样的错误,重新添加服务器也是不行   请问老师是什么原因?

正在回答

登陆购买课程后可参与讨论,去登陆

9回答

1、建议同学先手动把tomcat里的项目移除,

2、然后

http://img1.sycdn.imooc.com//climg/5bc05d5300015a2d03340427.jpg

clean 一下tomcat里的项目

3、手动去tomcat目录中,如果项目还在,手动清除一下,

http://img1.sycdn.imooc.com//climg/5bc05e700001da1106210359.jpg

http://img1.sycdn.imooc.com//climg/5bc05ec30001075204650564.jpg

4、重新部署这个项目试试。

因为同学之前提问的问答中

http://class.imooc.com/course/qadetail/71582

也出现过这个问题,所以,有可能编译器没有完全编译好,建议同学按照上边的步骤,重新清除一遍再试试。

或者,建议同学下载eclipse,把项目部署进去试试。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 砸我懵逼 提问者 #1
    按照老师的操作 还是不行 下载eclipse是不是还需要下载许多插件?
    2018-10-12 17:30:22
  • 好帮手慕阿莹 回复 提问者 砸我懵逼 #2
    不需要下载插件的,eclipse有免安装的,同学可以去 https://class.imooc.com/course/433 jsp 入门 的课程中,有eclipse下载的教辅。。同学可以看下一。 祝学习愉快,
    2018-10-12 18:15:07
chrismorgen 2018-10-12 14:48:21

我不知道你是怎么操作的,在我的理解中,你是访问reg_login项目,然后出现了404错误,报错提示是: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException,

http://img1.sycdn.imooc.com//climg/5bc042290001ecff08470167.jpg

你现在启动myfirstmvc,那么该项目是启动不了,还是启动了出现404页面呢?建议同学一个工程一个工程的问题来解决,可能每个工程出现的问题都是不一样的,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5bc0420f0001ff0006560498.jpg

  • 提问者 砸我懵逼 #1
    这两个工程存在的问题都是一样的,即使一个一个的运行,也是这样。
    2018-10-12 16:23:20
提问者 砸我懵逼 2018-10-12 13:30:53


http://img1.sycdn.imooc.com//climg/5bc0316e0001c37807130499.jpg

http://img1.sycdn.imooc.com//climg/5bc0316e00010cf106580519.jpg

都试过,还是不行。

chrismorgen 2018-10-12 11:39:09

首先按照我之前说的,只运行一个工程试试,譬如reg_login项目,其他的项目都从tomcat服务器都移除,其次看看是否还是出现上图那个异常,该异常就是upload相关的jar包没有添加到项目的依赖中,建议你右键相关jar包,点击add to build path试试,或者右键项目名,按下图提示进行操作,

http://img1.sycdn.imooc.com//climg/5bc0171100018a1e05690617.jpg

然后检查一下Libraries目录下有没有将标记的jar包添加进来,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5bc016f00001edf607420556.jpg

chrismorgen 2018-10-12 09:46:47

可以把不需要启动的工程移除掉,这样不方便找到的问题,在运行项目时,你只需要在tomcat中添加你需要启动的项目即可,如下图所示,你看Caused by后面的就是错误原因,联合你404的错误,可能是你reg_login的项目没有启动,所以导致访问404,建议你检查一下reg_login中是不是缺少fileupload的jar包,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5bbffc510001f03408130309.jpg

  • 提问者 砸我懵逼 #1
    在不缺少upload jar包的情况下,按照老师说的,还是不行。还是不能运行index.jsp。
    2018-10-12 10:27:06
提问者 砸我懵逼 2018-10-11 20:09:19

严重: Error deploying web application directory [F:\apache-tomcat-9.0.6\webapps\myfirstmvc]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myfirstmvc]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:746)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1142)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1876)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1054)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:428)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)

十月 11, 2018 7:51:38 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory [F:\apache-tomcat-9.0.6\webapps\myfirstmvc] has finished in [3,552] ms
十月 11, 2018 7:51:38 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory [F:\apache-tomcat-9.0.6\webapps\reg-login]
十月 11, 2018 7:51:42 下午 org.apache.catalina.core.ContainerBase addChildInternal
严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reg-login]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1142)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1876)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1054)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:428)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
ce)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:267)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:135)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
    ... 51 more
十月 11, 2018 7:51:42 下午 org.apache.catalina.startup.HostConfig deployDirectory
严重: Error deploying web application directory [F:\apache-tomcat-9.0.6\webapps\reg-login]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/reg-login]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:746)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)

提问者 砸我懵逼 2018-10-11 20:07:37

严重: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myfirstmvc]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1142)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1876)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1054)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:428)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1586)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:267)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:135)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4939)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 38 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
    ... 51 more
十月 11, 2018 7:51:38 下午 org.apache.catalina.startup.HostConfig deployDirectory

提问者 砸我懵逼 2018-10-11 20:06:13


http://img1.sycdn.imooc.com//climg/5bbf3b60000132e106630518.jpg

部署到服务器的共6个项目,除了红框圈出来的两个项目中的index.jsp不能正常运行外,其余4个项目中的index.jsp都能正常运行,index.jsp都是系统自动生成的。代码见下图:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
 
  <body>
    This is my JSP page. <br>
  </body>
</html>

浏览器报错信息为:

http://img1.sycdn.imooc.com//climg/5bbf3c2f0001036409960192.jpg

已排除文件路径等常见错误。

启动服务器时,控制台输出信息见下图:

chrismorgen 2018-10-11 19:01:02

请问同学是哪两个文件不行呢?建议贴一下报错的截图,有可能是文件的版本问题引起的,具体原因还是需要看报错提示的,并且将报错的代码粘贴一下,方便我们运行调试,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师