page scope 的 bean 是全局共用的。
应该就是说,所有连接访问的都是同一个 page 的话,
那他们用的都是同一个 bean 。然后你又频繁的开关,jdbc 跟不上。Connection con = null;
ResultSet rs = null;
Statement stm = null;统统的全局变量,各用户之间相互干扰,
还没开始用,就被人家关掉了。不死才怪。
8-D
应该就是说,所有连接访问的都是同一个 page 的话,
那他们用的都是同一个 bean 。然后你又频繁的开关,jdbc 跟不上。Connection con = null;
ResultSet rs = null;
Statement stm = null;统统的全局变量,各用户之间相互干扰,
还没开始用,就被人家关掉了。不死才怪。
8-D
只要有两个用户一起申请连接,就会出错,可事实并不如此,而且如果将各个连接分开的话,事务操作就无法实现,我做了如下的
测试程序:测试文件:test.jsp<%@page contentType = "text/html;charset=gb2312" %>
<jsp:useBean id="db" class="com.DB" scope="page"/>
<%
String sPara=request.getParameter("para");
if(sPara!=null&&sPara.equals("set"))
db.set();
db.print();
%>
javabean文件:db.javapackage com;import java.io.*;
import java.sql.*;public class DB{
String sValue;
public DB(){
}
public void print(){
System.out.print("value="+sValue+"\n");
}
public void set(){
sValue="set!";
}
}
分别用:http://127.0.0.1:8080/test.jsp
http://127.0.0.1:8080/test.jsp?para=set
http://127.0.0.1:8080/test.jsp
调用,输出结果是:null
set!
null
如果变量一直在内存的话,第三次应该是set!才对不知错在哪里,是否能给我举个数据库操作的javabean例子,还请多指点,谢谢了!
<meta http-equiv="refresh" content="1">
<jsp:useBean id="db" class="com.DB" scope="page"/>
<%
System.out.print(request.getRemoteAddr()+" "+_jspx_specialdb+"\n");
%>