当前位置:  技术问答>java相关

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

    来源: 互联网  发布时间:2015-04-25

    本文导语:  我刚刚开始做项目,没经验,所以请大家出出主意 我开始写的jsp是把所有的程序都写到jsp里了,我觉得这样做很方便,最让我高兴的是修改很容易,改来改去的也不用重新启动,可是主管说不可以,要我把数据库的...

我刚刚开始做项目,没经验,所以请大家出出主意

我开始写的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好,还是封装一下返回的好

请大家一定帮我啊!做不好饭碗就没了呢
如果可以,我写好代码,贴出来大家帮我挑挑毛病

|
没什么问题,你的设计很符合一般的JSP/BEAN设计!
不过我建议你还是用VECTOR因为ARRAYLIST并不是同步的!

|
这样要比你以前的作法好多了
可以在你的这个Java类里封装很多方法
insert,delete,updata等
还有,在页面上的页也可以在这里实现

|
建议看看一看J2ee 的有关设计指南与OOA 的书籍.
在没有用到 Ejb 的情况下,java Bean就是其业务层,所有的业务逻辑都应该在bean中实现而不仅仅是如何返回一个结果集的问题.
根据不同的需要可以返回不同的用户对象集.

|
1、基本上是没有问题的
2、效率可以,
3、若JSP中没有JAVA的语句会更好,即没有流程之类的语句;
4、生成一个对象来代表数据库的一个表,会更直观!

|
基本上是没有问题的但不是很清楚
我建议你这么做
创建一个class,负责数据库的连接(据库的连接的参数可放到一个文件中)
               负责接收sql语句,并执行数据库操作,返回操作结果(对 
               select操作可返回一个vector结果集,对update, delete, 
               insert可返回一个操作成功失败信息)
创建bean,负责调用class中执行sql语句的方法,并传入sql语句,接受
          执行结果,对结果进行你需要的操作
在jsp中调用bean中的方法,显示相应信息


|
为实现某些功能通常会有同时打开两个记录集的情况,这样直接返回ResultSet对象就存在一些问题。但是Vector用起来远不如Resultset来得方便些。我觉得也应该能够直接返回ResultSet对象。

|
如果要显示结果集,我觉得你输出xml文件比较好!

|
我推荐你使用ResulSet 在Jsp里面关闭。
因为这样占用内存少,否则,在ResultSet未关闭时,要开设一个vector的内存,
对于频繁访问的多记录大数据库来说,肯定浪费。

真正做东西不能太按照理论, 既然你不是做EJB,我想选择Javabeans的理由就是其效率高,如果你想完美实现什么模式,不如你去使用J2ee.

|
你主管是正确的,
但是不要返回MyResuletSet给jsp
你操作完数据库必须断开连接
那么这时使用MyResuletSet就会出错
所以你最好返回用Vector或者Collection等结构的数据

|
同意muly(feather) 的做法,我觉得这样比较合理,一般的情况下,可以解决大部分问题,而且你的javabean也不会受限太大!!!!

|
我要使用servlet来实现呢?我认为也未尝不可

|
最好返回vector,逻辑和表现分开

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大家进来看看,有没有好的办法,谢谢,急!!!
  • ssh 上传文件出错,大家看看,是什么原因。谢谢
  • 请帮忙我看看这个字符串的问题,谢谢!
  • 关于cdrom的问题,怎么读不了光盘?谢谢。进来看看
  • 初写EJB的SessionBean,抱错,请帮忙看看。谢谢
  • 哪位大侠给我看看,这个类是什么类,谢谢!
  • 问题啊~~~~~~~~谢谢帮我看看~~~:) 在线
  • (只剩十几分了),嵌入式 linux2.4.27内核编译错误,请帮忙看看,谢谢 iis7站长之家
  • 请帮忙看看这个编译错误信息是什么意思,该怎么修改?谢谢
  • make perl 模块的时候出错,make: *** No rule to make target,帮忙看看,谢谢。
  • linux局域网内文件夹共享问题,各位兄弟帮忙看看,谢谢
  • 最近遇到一个比较奇怪的问题。请大家帮我看看。。谢谢。
  • 小弟初入java这一行,很想看看已经编好的源程序,愿意指教的请发送到samgundam@sina.com!谢谢
  • 大家帮我看看,刚编译出来的内核的问题,谢谢!!
  • 有关cvs登陆的问题!请帮忙看看,谢谢!
  • 初学者求救:gethostbyname的应用,看看看错在哪里?谢谢。。。
  • 请帮我看看下面的错误,谢谢(急!!!!!)
  • 问题啊~~~~~~~~~~~谢谢帮我看看~~在线~!
  • 各位大虾帮我看看~~~~谢谢了~~在线~
  • (只剩十几分了),嵌入式 linux2.4.27内核编译错误,请帮忙看看,谢谢
  • 简单!看看这个方法!简单!看看这个方法!
  • linux高手看看
  • 好消息,近来看看......
  • 我想看看有关Linux和Unix的源码,有什么好的建议
  • 想看看linux的内核源代码!从哪里开始!给点建议!!
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 关于全选的问题大家帮忙看看~
  • jsp论坛,大家快去看看,解决树形目录http://52jsp.126.com
  • 各位大侠,小侠,快过来看看。
  • 看过操作系统设计与实现的进来看看
  • 请进来看看!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3