Java Servlet可以';找不到指定的文件
请帮帮我。我不熟悉java,尤其是JavaWeb(JSP) 因此,在我尝试登录时,servlet类将首先调用配置log4j配置文件的配置类 这是我的项目树: 这是我的代码:Java Servlet可以';找不到指定的文件,java,jsp,servlets,Java,Jsp,Servlets,请帮帮我。我不熟悉java,尤其是JavaWeb(JSP) 因此,在我尝试登录时,servlet类将首先调用配置log4j配置文件的配置类 这是我的项目树: 这是我的代码: 登录Servlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ System.out.println("B
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);
}
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].
开始之前。。。
log4j:错误无法读取配置文件[configuration/logger_dev.conf]。
java.io.FileNotFoundException:configuration\logger\u dev.conf(系统找不到指定的文件)
位于java.io.FileInputStream.open0(本机方法)
位于java.io.FileInputStream.open(未知源代码)
位于java.io.FileInputStream。(未知源)
位于java.io.FileInputStream。(未知源)
位于org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
在org.apache.log4j.PropertyConfigurator.configure上(PropertyConfigurator.java:315)
位于com.utility.MainConfiguration.loadConfiguration(MainConfiguration.java:47)
位于com.controller.LoginServlet.doPost(LoginServlet.java:20)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
log4j:忽略配置文件[configuration/logger_dev.conf]时出错。
但是,当我尝试使用JavaMain调用我的配置类时,它工作得很好
请建议如何让它在servlet上工作。谢谢。可以从中读取配置文件等资源
.class
文件结束的目录相同)。然后可以通过java.lang.Class.getResource
或java.lang.Class.getResourceAsStream
访问该文件WEB-INF
文件夹中的某个位置,以避免将文件传递给客户端。然后可以通过javax.servlet.ServletContext.getResource
或javax.servlet.ServletContext.getResourceAsStream
访问它您的文件正试图从WebContent文件夹加载,probably@cricket_007我已尝试将我的配置文件夹复制到WebContent文件夹中,但仍然无法工作。您需要将该文件放置在类路径上。请尝试将其放置在类路径上的文件夹中,如源文件夹,单击项目属性并查看类路径中的文件夹,然后选择一个文件夹来放置配置。除了src文件夹永远不在构建的Eclipse项目(尤其是web项目)的类路径上之外,还有一个问题,图像显示该文件位于
configuration/db/logger_dev.conf
,而不是configuration/logger_dev.conf