java servlet bean 心得2【原创】

对于传统的servlet+javabean ,通过这次系统的开发,我还是觉得如果逻辑掌握得好的话,不需要框架,只要用servlet和javabean就已经足够开发出不错的程序来。

效果一:对于后台或前台页面,想要实现一点击就能打开一个包含了以往数据的页面,并且这些数据是有一定筛选性的,如何实现呢?

方法:可以用Action类来跳转,我们可以在web.xml文件里面配置好这个servlet的对应路劲,因为以后要重复用到这个Action的url,这个时侯的Action类就是一个中间的实现跳转的平台,既然是中间过度的平台,那么还需要什么呢?需要一个封装了属性的bean和一个根据具体参数来灵活改变sql语句搜出筛选性数据的Dao,以及一些显示的终端页面(就是跳转到的页面)。OK,这个Aciton类需要的是参数,这些参数都是通过url传进来的,进来后接受赋值,然后构造出Dao的对象,根据参数调用了Dao里面的方法,那么,关键在这里,Dao里面的方法返回的是什么呢?是一个List,通过参数的有无把筛选到的数据添加到bean里面,然后把bean对象添加到一个list里面并且返回, 那么在Aciton类里面就返回得到了有数据的list。返回后就等待把这些数据跳转到终端页面并且进行显示了,在Action类里面需要什么呢?先需要这一步:

req.setAttribute("presents",list) ;
   req.setAttribute("listsize",new String(String.valueOf(list.size()))) ;

这段代码可以使得跳转后的那个页面的request可以接受到这个list的数据,实现数据的跳转。一般用到这段代码的话,跳转终端页面用的显示方式就是JSTL标签了。

那么Aciton最后一步就是根据之前url的参数来实现相应的跳转,如:

if("presentforcategory".equals(pagePostion)){   
    req.getRequestDispatcher("/score/admin/present/present_for_category.jsp? category_id="+categoryid).forward(req,resp);
   }

那么这一步就通过之前urlpagePostion的值是等于presentforcategory的跳转到了终端页面,并且也传入了参数category_id。

那么终端页就通过语句<c:forEach var="present" items="${presents}" varStatus="var">和<c:out value='${present.presentId}'/>把封装好的数据显示出来。

那么这一流程就用到了bean,servlet,dao,JSTL。

在这里我想多讨论下dao,里面的sql语句应该是可以根据参数的有无来机动选择的,怎么做到呢?就是先把一个正规的sql语句写在最前面,以后根据参数的有无从后面添加sql剩下的部分就可以了,最后才把sql执行,就行。里面也要把和数据库链接的类做好并且对象进来用。

 

这种方式还是不错滴~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值