所有的都用一个连接吗?SERVLET在容器中只有一个对象,那么所有的这个SERVLET的访问就一个连接,断了怎么弄,还有就是用一个连接的话程序到数据库这就并发就没有意义了,都在等待这个连接资源.找个数据库连接池就好了,随便在程序的任何地方获得CONNECTION就可以了,proxool或者C3P0或者直接用TOMCAT的连接池就好了
解决方案 »
- 关于JFreeChart的CPU和动态刷新曲线
- hibernate初学者 一对一 和 多对一 的区别是什么呀?
- spring声明式事务如何配置?
- datetimepicker真是一个麻烦事
- 求一对多查询语句写法
- 请教一下Spring SimpleJdbcCall的问题
- 高分求教~~关于hibernate多对多的问题,请教下
- 请问axis中 如何传递数组,如何接收多个值
- 求救!The requested resource (/JSPHelloWorld/) is not available.
- JTable的问题(请大家进来看看)
- 初学struts,求教关于jsp中struts标签的问题
- 在java开发环境中实现页面对后台数据变化的监控
Servlet中随Servlet启动。
需要调用资源的时候只要在需要的地方调用就可以了。
我是这么写的:
package base;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
public class DatebaseServletBase extends HttpServlet {
protected Connection conn; /**
* Constructor of the object.
*/
public DatebaseServletBase() {
super();
}//通过销毁Servlet来关闭conn
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}//通过init()方法初始化,获得一个数据库连接
public void init() throws ServletException {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
try {
conn = DriverManager.getConnection(url, "sa", "");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
然后谁想调用谁就建一个继承它的Servlet就行了