我正在使用 JSP 和 Servlets 开发一个 Web 应用程序。(数据库:Oracle10,容器:Glassfish)。
我开发了一个用于创建连接的类。
(Conn.java):
public class Conn
{
private Connection con = null;
public Connection getCon()
{
String home = System.getProperty("user.home");
home = home+"\\dbFile.properties";
//Read properties of Connection String from that file and Create Connection
return con;
}
}
然后我有 4 个其他类用于 SELECT、INSERT、UPDATE、DELETE 事务,它们使用上面的Conn.java
类来获取连接:
(选择.java)
public class Select
{
private Conn connection = new Conn();
private Connection con = null;
private PreparedStatement pstmt = null;
private ResultSet rs=null;
public String[][] selectData(String query)
{
String[][] data=null;
if(con==null)
{
con = connection.getCon();
}
//execute query put data in two dimensional array and then return it
return data;
}
}
INSERT、UPDATE 和 DELETE 的编码方式与上面Select.java
的编码方式相似。
因此,在所有 servlet 中,我只使用这 4 个(SELECT、INSERT、UPDATE、DELETE)类,将查询传递给它们并获得结果。
示例 Servlet
public class SampleServ extends HttpServlet
{
Select select = new Select();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String data[][];
data = select.selectData(QUERY_GOES_HERE);
//AND OTHER CODE
}
}
Database String
它工作得很好,但现在我们的要求是在用户登录后进行更改。所以我想将User specific
属性文件名传递给Conn.java
类。因此,我将属性文件名存储在cookie
.
我想到了一种方法:
- 获取所有 servlet 中的 cookie 值
- 将 cookie 值传递给类的
selectData()
方法Select.java
并从该类 - 将 cookie 值传递给类的
getConn()
方法Conn.java
所以我想知道是否有更好的方法将此连接字符串文件名传递给Conn.java
类?
提前致谢。