请大家帮我看看jsp/javabean这样的设计可以吗?大家一定帮我啊,谢谢啦。发言有分了

javagirl_2 2002-03-28 09:33:31
我刚刚开始做项目,没经验,所以请大家出出主意

我开始写的jsp是把所有的程序都写到jsp里了,我觉得这样做很方便,最让我高兴的是修改很容易,改来改去的也不用重新启动,可是主管说不可以,要我把数据库的操作方到bean里面,于是我重新设计了以下:

我先定义了一个类,这个类实现的功能和MyResultSet的类似(但和数据库无关),是一个集合组,也就是一个ArrayList,里边放的对象是一个HashMap,HashMap的键就是对应数据库中的字段名,值就是从数据库中取出的字段内容。

我在bean 里面查询数据库,检索出的结果集合java.sql.ResultSet通过absolute()定位到我要的记录位置,然后通过rs.next()取出我要的记录,并且把每个rs的记录字段去出,重新封装到我的MyResultSet,这样我就可以返回个MyResuletSet对象到JSP页面,而且我还可以在bean里把数据库的连接资源释放掉。

这样我的Jsp页面上就没有数据库的操作了,所完成的仅仅是显示结果啊

请问:

1、我的设计可行吗?有没有什么严重的缺陷啊
2、这样设计的效率会不会差啊
3、有没有更好的办法
4、如果直接返回java.sql.ResultSet给Jsp,那数据库就不能在bean关闭了。直接返回java.sql.ResultSet好,还是封装一下返回的好

请大家一定帮我啊!做不好饭碗就没了呢
如果可以,我写好代码,贴出来大家帮我挑挑毛病
...全文
9 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
我要使用servlet来实现呢?我认为也未尝不可
回复
山鹰77 2002-03-28
如果要显示结果集,我觉得你输出xml文件比较好!
回复
weidegong 2002-03-28
为实现某些功能通常会有同时打开两个记录集的情况,这样直接返回ResultSet对象就存在一些问题。但是Vector用起来远不如Resultset来得方便些。我觉得也应该能够直接返回ResultSet对象。
回复
xmvigour 2002-03-28
同意muly(feather) 的做法,我觉得这样比较合理,一般的情况下,可以解决大部分问题,而且你的javabean也不会受限太大!!!!
回复
muly 2002-03-28
基本上是没有问题的但不是很清楚
我建议你这么做
创建一个class,负责数据库的连接(据库的连接的参数可放到一个文件中)
负责接收sql语句,并执行数据库操作,返回操作结果(对
select操作可返回一个vector结果集,对update, delete,
insert可返回一个操作成功失败信息)
创建bean,负责调用class中执行sql语句的方法,并传入sql语句,接受
执行结果,对结果进行你需要的操作
在jsp中调用bean中的方法,显示相应信息

回复
gdsean 2002-03-28
你主管是正确的,
但是不要返回MyResuletSet给jsp
你操作完数据库必须断开连接
那么这时使用MyResuletSet就会出错
所以你最好返回用Vector或者Collection等结构的数据
回复
superszhu 2002-03-28
1、基本上是没有问题的
2、效率可以,
3、若JSP中没有JAVA的语句会更好,即没有流程之类的语句;
4、生成一个对象来代表数据库的一个表,会更直观!
回复
云智软件 2002-03-28
建议看看一看J2ee 的有关设计指南与OOA 的书籍.
在没有用到 Ejb 的情况下,java Bean就是其业务层,所有的业务逻辑都应该在bean中实现而不仅仅是如何返回一个结果集的问题.
根据不同的需要可以返回不同的用户对象集.
回复
lovettforever 2002-03-28
这样要比你以前的作法好多了
可以在你的这个Java类里封装很多方法
insert,delete,updata等
还有,在页面上的页也可以在这里实现
回复
pengji 2002-03-28
没什么问题,你的设计很符合一般的JSP/BEAN设计!
不过我建议你还是用VECTOR因为ARRAYLIST并不是同步的!
回复
banq 2002-03-28
我推荐你使用ResulSet 在Jsp里面关闭。
因为这样占用内存少,否则,在ResultSet未关闭时,要开设一个vector的内存,
对于频繁访问的多记录大数据库来说,肯定浪费。

真正做东西不能太按照理论, 既然你不是做EJB,我想选择Javabeans的理由就是其效率高,如果你想完美实现什么模式,不如你去使用J2ee.
回复
wcarry21 2002-03-28
最好返回vector,逻辑和表现分开
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告