一个图书查询系统,查询的结果封装为bean,scope为session,这样做是不是不太合适

ms_ms 2006-03-22 03:26:46
这样的话,每个查询客户端都会往session里放如bean,会不会过多的消耗服务器资源

现在的设计是javabean(M)+jsp(V)+servlet(C)的设计模式,没用框架
查询功能由查询的SearchServlet处理,返回一个查询结果的bean由jsp页面显示
翻页功能由翻页的PageServlet处理
如果SearchServlet查询数据库获得数据,新建一个bean之后,scope设为request,那么PageServlet就访问不到这个bean,而实现不了翻译

不知道我这样的设计有没有问题,总觉得过多的依赖于session了

另外,MVC模式发现用servlet来充当c的角色,似乎有点麻烦,还不如直接用jsp充当c的模式,只不过处理完之后forward到另一个jsp来显示即可,不知道大家是怎么看的,
...全文
130 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
allenjay2003 2006-03-23
逻辑错误
JSP不应有转发的权利

LZ应该把SearchServlet与PageServlet合并到一起
然后把最终数据转给JSP
回复
killme2008 2006-03-23
查询数据库的操作从SearchServlet里抽离出来做成一个javabean,那么PageServlet也可以访问此javabean得到分页必须的数据.
----------------------------------------
我现在就是由SearchServlet查询后把数据放入一个bean返回到jsp页面显示,但是如果把这个bean设为request的,怎么让PageServlet也能访问到这个bean呢

---------------------------------------------------
你误解我的意思了,你这样操作所做的bean其实是个DTO(数据传输对象),也就是一般所谓的VO,我的意思是指把查询这个操作从SearchServlet抽离出来,不要在servlet进行查询等业务逻辑
回复
ms_ms 2006-03-22
查询数据库的操作从SearchServlet里抽离出来做成一个javabean,那么PageServlet也可以访问此javabean得到分页必须的数据.
----------------------------------------
我现在就是由SearchServlet查询后把数据放入一个bean返回到jsp页面显示,但是如果把这个bean设为request的,怎么让PageServlet也能访问到这个bean呢
回复
allenjay2003 2006-03-22
第一个问题已经有答案了,我来回答“另外”
Servlet是专门用来进行处理请求的,
但由于输出HTML稍嫌麻烦,也就激发了JSP的诞生,
一个用来控制,一个页面输出,
如果像LZ说得用JSP充当C层,
或者JSP与JavaBean结合,这种JSPModel1的方式,
虽然会缩短开发周期
但也既会产生耦合,也有悖于MVC的思想。
回复
navy7148 2006-03-22
通过js提交啊。提交form 就可以了。不要用session,多了会出问题的
回复
dreamover 2006-03-22
转页的时候不要用sendRedirect(url);
用request.getDispatcher(url).forward();就可以保存request属性了
回复
killme2008 2006-03-22
很有问题,你会发现服务器越来越慢直到down掉
查询数据库的操作从SearchServlet里抽离出来做成一个javabean,那么PageServlet也可以访问此javabean得到分页必须的数据.
回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-22 03:26
社区公告
暂无公告