使用ServletContext接口和ClassLoader類中的方法訪問資源文件
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.net.URL;
import java.util.Properties;
import javax.servlet.http.HttpServlet;
public class ResourceServlet extends HttpServlet
{
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html;charset=GB2312");
PrintWriter pwout=response.getWriter();
URL urlIt=getServletContext().getResource("/WEB-INF/classes/longin.properties");
pwout.println(urlIt.toString());
pwout.println("<br>");
/*下面的兩條語句可以實現兩樣的功能,但被注釋的部分我沒有實現,哪位好心人能幫我實現就好了,謝謝。
it315.properties這個文件我放在了WEB-INF\classes目錄中。*/
//InputStream ips=getServletContext().getResourceAsStream("longin.properties");
InputStream ips=getClass().getResourceAsStream("longin.properties");
Properties props = new Properties();
try
{
props.load(ips);
pwout.println("database=" + props.getProperty("database"));
pwout.println("username=" + props.getProperty("username"));
pwout.println("password=" + props.getProperty("password"));
}
catch(Exception e)
{
e.printStackTrace();
}
ips.close();
}
}
注:getClass().getResourceAsStream方法只能加載位于classloader搜索目錄中的資源文件,如果將longin.properties文件放在WEB-INF目錄外的其它目錄,就只能使用getServletContext().getResourceAsStream方法。
posted on 2007-05-07 13:53 大頭劍客 閱讀(694) 評論(0) 編輯 收藏 所屬分類: 學習筆記