0

Openshift アプリケーションを作成しましたが、それを編集しようとしています。プロジェクト構造は次のとおりです。

http://my.jetscreenshot.com/demo/20130525-t2mt-28kb

このコードを index.html に追加しました。

<form action="/uploadFile" enctype="multipart/form-data" method="post">
    <input type="file" name="uploadFile" />
    <input type="submit" />
</form>

最後に、サーブレット ファイル fileUploader.java を作成しました。

package main.java;
import *;

@WebServlet(name = "uploadFile",urlPatterns = {"/uploadFile"})
@MultipartConfig
public class fileUploader extends javax.servlet.http.HttpServlet {

//class code
}

ここで @WebServlet アノテーションを見ることができます。それで十分だと読みましたが、機能しません (404 エラー) ので、web.xml にコードを追加しました。

<servlet>
<servlet-name>uploadFile</servlet-name>
<servlet-class>main.java.fileUploader</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>uploadFile</servlet-name>
<url-pattern>/uploadFile</url-pattern>
</servlet-mapping>

index.html は機能しますが、サーブレットは機能しません。500エラーが発生しました:


type Exception report
message 
description The server encountered an internal error () that prevented it from fulfilling this request.
exception 

javax.servlet.ServletException: Wrapper cannot find servlet class main.java.fileUploader or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:722)


root cause 

java.lang.ClassNotFoundException: main.java.fileUploader
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:722)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.

この問題について調査しましたが、問題がどこにあるのかまだわかりません

4

2 に答える 2

0

fileUploader サーブレット クラスを WEB-INF/classes/main/java ディレクトリに配置したことを願っています。

または

fileUploader クラスを含むライブラリを WEB-INF/lib ディレクトリに配置しました

于 2013-05-25T15:40:36.157 に答える