从github部署WebContent文件夹作为WAR文件

时间:2013-12-28 20:42:45

标签: java tomcat servlets configuration web.xml

我从https://github.com/blueimp/jQuery-File-Upload

下载了以下项目作为zip文件

我希望使用我的IDE为我构建一个WAR文件,但在遇到一些与netbeans相关的依赖项后放弃了。

我设法在eclipse中编译它并获得了一个类目录,我放在WebContent的WEB-INF文件夹中。

webContent文件夹看起来像一个普通的WAR文件夹,因此我将WebContent压缩并将其重命名为WebContent.war,并将其部署到我的tomcat 6 webapps目录中。我正在使用相同的JRE来编译它来运行tomcat。

然而它不会运行。

web.xml的内容(位于WEB-INF中:

    <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>fileupload</display-name>
    <servlet-mapping>
        <servlet-name>UploadServlet</servlet-name>
        <url-pattern>/UploadServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <description/>
        <display-name>UploadServlet</display-name>
        <servlet-name>UploadServlet</servlet-name>
        <servlet-class>info.sudr.file.UploadServlet</servlet-class>
    </servlet>
</web-app>

我可以在tomcat错误日志中看到以下消息:

  

2013年12月28日20:20:27 org.apache.catalina.startup.ContextConfig applicationWebConfig   严重:在jndi的应用程序web.xml文件中解析错误:/localhost/WebContent/WEB-INF/web.xml   java.lang.IllegalArgumentException:Servlet映射指定一个未知的servlet名称UploadServlet

如果我然后从web.xml中删除以下内容(或将其移动到包含servlet类的定义下面):

    <servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/UploadServlet</url-pattern>
</servlet-mapping>

我可以看到位于WebContent中的index.html的bad bones html但我无法访问servlet本身。

我是否正确怀疑在index.html中调用的表单操作可能需要在web.xml文件中进行一些映射,因为我没有看到上传如何执行任何操作:

 <form id="fileupload" action="upload" method="POST" enctype="multipart/form-data">

我已尝试将操作更改为action =“UploadServlet”和action =“/ UploadServlet”,但无济于事。 我上传了WAR文件here(只需点击中间较小的下载按钮!)

0 个答案:

没有答案