几个经常会碰到的问题的请教

hphull 2003-09-09 11:02:50
1:JSP基本不出现SQL语句,所有的SQL处理都在servlet中,但是JSP中有时候要碰到简单的选择,比如让选择单位等,这些针对数据库的简单操作要用一个servlet来处理吗?有时候我感觉直接放在jsp页面中反而方便

2:在每个文件中如果该文件有进行数据库操作的,是否必要是在每个文件结尾把 connection关闭掉

3:我的B/S应用程序同时在线的用户可以有30个,我不知道我的连接池大小应当设置为多少,关于连接池大小问题,哪个高手可以给我做形象性的说明

谢谢!
...全文
12 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjh12365 2003-09-09
  • 打赏
  • 举报
回复
UP
runi 2003-09-09
  • 打赏
  • 举报
回复
1.养成良好的习惯.做开发时尽量把视图、模型和控制器所实现的功能分离开来,这对以后做设计很有帮助。
2.养成良好的习惯。把不用的资源尽量手动释放。提高程序的效率。
3。你可以写一个数据库连接的日志文件,在连接池中每增加或者减少一个链接的时候都在日志文件中记录,这样你可以实际测试一下(几个客户端都可以),以一个为例。你把应用跑一遍,看看日至中的最大连接数能达到多少。根据你的测试客户端数量和预计的实际数量的比例,将这个最大连接数根据比例放大(可以在大些,提供冗余)。
hphull 2003-09-09
  • 打赏
  • 举报
回复
第三个问题哪里不清楚?
luckybeggar 2003-09-09
  • 打赏
  • 举报
回复
1.对于简单的查询还是直接由jsp方便一些。
2.养成个关闭连接的好习惯,否则移植到不同的数据库时会有麻烦,我就遇到过,再去关连接很辛苦的
hphull 2003-09-09
  • 打赏
  • 举报
回复
第三个问题哪里不清楚?
pqds 2003-09-09
  • 打赏
  • 举报
回复
1。这个本来就是一个MVCk框架,jsp式显示层,servlet式控制,javabean才是逻辑判断,你根据情况了,这样做只是结构合理,当然你放在jsp中也没有人说你有错误,只是方便而已。但想你放在JSP中,项目骚大的情况下,一个错误处理,异常机制,等就没办法同一等
2.当然,这是一个良好的习惯,如果不关的话,你可以想象结果,就是你的数据库游标错误或者数据库超出符合PreparedStatement和CONN都要显式的关闭
3。、??
junnef 2003-09-09
  • 打赏
  • 举报
回复
jokerjava(冷血)你的方法可行,不过一般只适合那些资源充沛的场合,一般程序的设计要兼顾性能与资源的平衡,如果你给每个在线用户都分配一个数据库连接,当然,优点是性能的提高,消除了大量的数据连接所要耗费cpu和数据分配连接资源的消耗;缺点是你占用了数据库资源和系统的资源。而重建数据库连接的消耗连接池也可以很好的解决,在连接池中重新分配资源要比单一用户一直独占资源对大型系统来说更划算,况且一个在线用户不可能一直不停的在进行数据库操作。
hojay2001 2003-09-09
  • 打赏
  • 举报
回复
学习ing!
jokerjava 2003-09-09
  • 打赏
  • 举报
回复
一个用户一个连续的(相同session)连接,以防止过多的数据库操作

这样有什么不好
别老说资源回收 或者 习惯
习惯并不一定是正确的 人本来就有很多陋习

如果session失效了 我再放了链接没什么不好
效率很可能比你的还要高
junnef 2003-09-09
  • 打赏
  • 举报
回复
1、要看你的系统大小了,如果规模较小,据我的经验100个功能模块以下的小规模程序,应该用jsp和javabean就够了,维护起来也不是特别的麻烦,只需要在javabean中封装一些公用方法,jsp中直接写sql语句都可以的;不过如果系统过大,而起逻辑复杂,你最好用jsp表示用户界面,servlet处理逻辑,javabean用来存储中间数据,特别是在用到ejb时,就更需要明确各个部分的分工了,否则,到最后你自己都不知道那个逻辑在哪个地方,我修改了一个地方还有哪个地方要修改了。我以前做过一个上千模块的系统(使用mvc模式,struts框架,jsp+servlet+javabean+ejb+weblogic,用了少量的taglib),开始逻辑分的很清晰,可是到最后,还是觉得混乱,所以虽然麻烦,为了清晰还是分开好。
2、你必须在调用完每一个数据连接后,关闭连接,这不是习惯问题,是必须这样做;除非你的数据库有超时连接自动回收的功能。
3、既然你的程序支持同时在线30个,那就把连接池的数据设成30就行了,多的用户就让他线等待连接池有空的连接后再分配,反正多了你的程序也支持不了,这样也节省资源。
hphull 2003-09-09
  • 打赏
  • 举报
回复
楼上的兄长,介绍个压力测试工具先,谢谢
cusor 2003-09-09
  • 打赏
  • 举报
回复
1、视项目大小而定。小应用Jsp+JavaBean即可吧。
2、我给一个用户一个连续的(相同session)连接,以防止过多的数据库操作。
miaoliujun 2003-09-09
  • 打赏
  • 举报
回复
1、我觉得还是分开好,养成一个良好的习惯
2、应该关闭,理由同上
3、你是指的什么连接池?数据库连接池?假如是,其实这也随你的便,高兴几个就几个。其实不管是什么连接池,你都可以用一个压力测试工具,分别测一下,看看是几个的情况下性能最好,然后你就选择这个数字。
jokerjava 2003-09-09
  • 打赏
  • 举报
回复
ResultSet不用的话应该关闭
Statement可以关闭
Connection不一定非要关闭

个人意见
wyhgg 2003-09-09
  • 打赏
  • 举报
回复
2是必须的。
fengjingyu 2003-09-09
  • 打赏
  • 举报
回复
在mvc结构中,唯一的servlet初始化时连接数据库,servlet销毁时关闭数据连接,再多的javabean也没有问题阿。具体构思是:
Servlet:
init(){
//连接数据库
}
doService()
{
//执行各个javabean,当然这些javabean都必须是某个bean的子类,要用Class.forName(strBean).newInstance();来具体化。
//关闭数据集
//跳转到相应的jsp

}
凋零的老树 2003-09-09
  • 打赏
  • 举报
回复
连接数据库及时关闭连接就可以
yupingping 2003-09-09
  • 打赏
  • 举报
回复

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧