0
私を助けてください。私はJava、特にJava Web(JSP)を初めて使っています。サーブレットが指定されたファイルを見つけることができません
私の場合、ログインしようとすると、サーブレットクラスはまずlog4j構成ファイルを構成する構成クラスを呼び出します。ここで
は私のプロジェクトツリーです:とここに私のコードです:
ログインサーブレット
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ System.out.println("Before Starting..."); MainConfiguration.loadConfiguration(); response.setContentType("text/html"); RequestDispatcher rd=request.getRequestDispatcher("home.jsp"); rd.forward(request, response); }
MainConfiguration
public static void loadConfiguration() { // To configure place of logger settings file PropertyConfigurator.configure("configuration/logger_dev.conf"); }
私はプロジェクトを実行しようとしているときにログインしようとすると、エラーが発生します。
Before Starting...
log4j:ERROR Could not read configuration file [configuration/logger_dev.conf].
java.io.FileNotFoundException: configuration\logger_dev.conf (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
at com.utility.MainConfiguration.loadConfiguration(MainConfiguration.java:47)
at com.controller.LoginServlet.doPost(LoginServlet.java:20)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
log4j:ERROR Ignoring configuration file [configuration/logger_dev.conf].
しかし、私がjava mainを使って自分の設定クラスを呼び出そうとしているとき、うまくいきます。
サーブレットで動作させる方法をお勧めします。ありがとう。コンフィギュレーション・ファイルのような
あなたのファイルは、おそらく –
cricket_007 @私はWebContentフォルダー内の私の設定フォルダをコピーしようとしたが、それでも動作しない、WebContentフォルダーからロードされるようにしようとしています。 – Ikhsan
ファイルをクラスパスに配置する必要があります。ソースフォルダーのようにクラスパス上にあるフォルダーに配置する必要があります。プロジェクトプロパティーをクリックし、クラスパスのどのフォルダーを参照して構成を入れるかを選択します。 –