java - JSP Web 项目中找不到 Config.properties 文件

标签 java jsp servlets properties

我有一个项目,用户从jsp页面登录。后来通过一种方法,我验证属性文件中的用户名和密码。但执行时出现以下错误:

java.io.FileNotFoundException: config.properties (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at com.djbsso.model.dao.ProcessLogin.processLogin(ProcessLogin.java:17)
    at com.djbsso.controller.LoginServlet.doPost(LoginServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
0
Sep 10, 2013 12:23:09 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
    at org.apache.jsp.dashboard_jsp._jspService(dashboard_jsp.java:63)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)


try { 
  prop.load(new FileInputStream("config.properties")); 
  actUsername = prop.getProperty("CCB_USERNAME"); 
  actPassword = prop.getProperty("CCB_PASSWORD"); 
  System.out.println(actUsername); System.out.println(actPassword);
   if (username.equals(actUsername) && password.equals(actPassword)) { 
       isLoggedIn = 1; 
   }  

这是我调用属性文件的代码:

package com.djbsso.model.dao;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class ProcessLogin {

    private final Properties prop = new Properties();

    public int processLogin(String username, String password, String application) {
        int isLoggedIn = 0;
        String actUsername = null;
        String actPassword = null;
        try {
            prop.load(new FileInputStream("config.properties"));

            actUsername = prop.getProperty("CCB_USERNAME");
            actPassword = prop.getProperty("CCB_PASSWORD");
            System.out.println(actUsername);
            System.out.println(actPassword);
            if (username.equals(actUsername) && password.equals(actPassword)) {
                isLoggedIn = 1;
            }

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return isLoggedIn;
    }

}

有人可以帮助我在哪里需要保存属性文件吗?

最佳答案

如果将配置文件放在类路径中,则可以调用

InputStream is = getClass().getResourceAsStream("config.properties");

关于java - JSP Web 项目中找不到 Config.properties 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18712620/

相关文章:

java - 将 JSON 发送到 Spring MVC Controller

Java Servlet 不会停止推送通知

java - 无法从元素类型 Object 转换为 Session

java - 如何在jtextarea中选择一行

java - jar运行时如何防止InvocationTargetException?

java - 使用java查找文本文件中单词的行号

spring - DispatcherServlet、Resolver 和 Controller 是如何交互的?

java - JBOSS 7.1(或 6.1)中不支持 CXF JCA 连接器?

jsp - 选项重新 JSP 身份验证

java - org.apache.commons.net.ftp 使用不同的端口