作者dream1124 (全新开始)
看板java
标题[问题] jsp和资料库的连结能不能这样写呢?
时间Thu Jun 3 00:08:16 2010
刚才感谢板众,为了做实验反而忘记import java.sql,以致於程式起不来
当初实验的目地是,我想用一个jsp档定义所有连结MySQL的变数和建立基本连结,
接着再用另一个jsp档接续存取资料库,以免程式码冗长
第一个jsp 做的事大概是︰
定义变数,例如url user password,然後
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pass);
Statement stmt = con.createStatement();
第二个jsp include第一个,然後读取ResultSet rs = stmt.executeQuery();
再来处理其他杂务
想籍由这个过程减少第一个jsp那段程式码的重复....
但现在问题是前後两个jsp,程式码合在一起就正常,分开的话第二个程式的
stmt变数就会出问题,但书上不是说include jsp之後,变数也不用重新定义吗?
那为什麽stmt会 can not be resolved?
是不是我违反了什麽网路使用者存取资料库的原则?
在java的API找到这些说明,感觉好像跟这问题有关,但我是新手,
还是不太懂他想表达的意思︰
public interface Statement
The object used for executing a static SQL statement and returning the
results it produces.
By default, only one ResultSet object per Statement object can be open at the
same time. Therefore, if the reading of one ResultSet object is interleaved
with the reading of another, each must have been generated by different
Statement objects. All execution methods in the Statement interface
implicitly close a statment's current ResultSet object if an open one exists.
请问还有什麽地方要考虑吗? 是不是选错避免程式码重复的方法了?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.60.41
1F:推 slalala:不知道你进度如何 如果是资料库我不会用在JSP上 06/03 00:17
2F:推 slalala:include file应该会没问题 include page就 科科 06/03 00:19
3F:→ slalala:你的问题不在於变数啦 就是page之间scope的问题吧 06/03 00:21
请问不和JSP连线是顾虑到安全问题吗?
另外include的方式就是 <% include file ="XXXX.jsp" %>,可是好像没用耶....
※ 编辑: dream1124 来自: 114.34.60.41 (06/03 00:27)
4F:推 slalala:我的观点单纯就不易维护 当然啦 JSP也可写METHOD不是吗XD 06/03 00:49
5F:推 slalala:同一个变数还是别跨page啦 程式码反而很难看 06/03 00:52
6F:→ rukawa0328:何不考虑写在class档里面,不会你的JSP Container不吃吧 06/03 10:26
7F:→ bala045:为什麽不写在class里?? 06/03 14:46
8F:推 slalala:不知道进度如何 很多人初学还不会XD 所以我都没提javaBean 06/03 20:07
9F:→ dream1124:今天读书有看到这部分 我也打算这麽做 才比较安全 06/03 23:09
10F:→ dream1124:可是实作还不知道要怎麽安全地传资料 XD 06/03 23:11
11F:→ slalala:没有比较安全吧 写法正常 JSP不过也是servletY 06/04 03:20
12F:→ rukawa0328:没有比较安全阿~只是写成class比较单纯罢了 06/04 16:34
13F:推 slalala:dao connection pool 又是一个议题了(茶) 06/05 18:07