利用ServletContext读取系统资源
由于一个WEB应用中的所有servlet共享同一个servletcontext对象,所以多个servlet通过servletcontext对象实现数据共享。servletcontext对象通常也被称之为context域对象。利用servletContext读取系统资源,同一个web应用连接同一个数据库时,可以使用servletContext读取,将数据库的连接放在配置文件中,因为是没有联系的配置,所以放在properties中便可以。下面看一下代码:
配置文件db.properties为:
[java]
url=jdbc:mysql://localhost:3306/test?charset=utf8
username=root
password=mysql
读取文件的servlet代码为:
[java]
package com.you.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/com/you/servlet/db.properties");
Properties pro = new Properties();//Map形式
pro.load(in);
String url = pro.getProperty("url");
String username = pro.getProperty("username");
String password = pro.getProperty("password");
System.out.println(url + " " + username + " " + password);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
读取时使用Java中的properties类,是固定写法。
摘自 youyajie的专栏
补充:软件开发 , Java ,