import .....
public class FirstDBServlet extends HttpServlet {
private String url;
private String user;
private String password; public void init() {
String driverclass = getInitParameter("driverClass");
url = getInitParameter("url");
password = getInitParameter("password");
Class.forName(driverClass);
} pulic void doGet(HttpServletRequest req, HttpServletResponse resp) {
Connection conn = null;
Statement stmet = null;
conn = DriverManager.getConnection.getConnection(url, user, password);
.....
}
}请问,这段例子代码中,为何不将conn定义成成员变量,然后再init()里使用conn = DriverManager.getConnection.getConnection(url, user, password);
这样,不用每个用户来访问这个servlet时都去重复构建conn了。
孙鑫老师的例子中,这样写,原因是何?
public class FirstDBServlet extends HttpServlet {
private String url;
private String user;
private String password; public void init() {
String driverclass = getInitParameter("driverClass");
url = getInitParameter("url");
password = getInitParameter("password");
Class.forName(driverClass);
} pulic void doGet(HttpServletRequest req, HttpServletResponse resp) {
Connection conn = null;
Statement stmet = null;
conn = DriverManager.getConnection.getConnection(url, user, password);
.....
}
}请问,这段例子代码中,为何不将conn定义成成员变量,然后再init()里使用conn = DriverManager.getConnection.getConnection(url, user, password);
这样,不用每个用户来访问这个servlet时都去重复构建conn了。
孙鑫老师的例子中,这样写,原因是何?
解决方案 »
- java web maven项目
- 关于new Integer(s)与Integer.getInteger(s)的问题
- Spring org.springframework.jndi.JndiObjectFactoryBean调用Tomcat数据源出错
- 急急急!!!hibernate查询问题
- 求ibatis一条SQL语句
- webserice Annotation错误
- jsp乱码!
- 下半年要去读研了(网络技术及应用方向),请指教!
- 有什么工具可以查看JBoss下所有线程的运行状态(包括CPU占用率,内存使用情况)
- Tomcat的java.lang.OutOfMemoryError错误!!!!帮帮我吧!!
- 关于<rich:modalPanel/>数据提交 各位前辈,师兄师姐们!近来帮忙看下:
- constrained= "true "
http://www.yesky.com/334/1951334.shtml
的值.能不能多线程共用conn(不会产生数据不一致啊,conn一直不变)
然后在该servlet的destroy()方法里写conn.close();
当客户端提交之后就会转到Servlet中,而在servlet是有生命周期的,代码刚跳进servlet中先执行init()方法,因为它是初始化,一个程序如果不初始化的话那怎么往后执行呢。所以它应该先初始化再进行判断你调用的是get 还是 post 。
1、会消耗系统大量内容空间(因为Connection一种占用此空间在Servlet的生命周期期间);
2、如果某用户关闭了此连接(例如,当前用户操作出现异常),由于init在Servlet的整个生命周期只调用一次,这将导致其他用户无法访问;
3、安全性。所有的用户都是用一个对象,如果该变了此对象,则所有的用户都只能使用修改后的对象(不止针对本程序)。