rss· 投稿· 设为首页· 加入收藏· 繁體版

关于JSP与Java Servlet的参数传递及使用问题

这几天被JSP和Java Servlet的参数传递问题搞得晕头转向,现总算有些眉目,总结几点小规律: 1、在JSP和Servlet之间对于可通过session.setAttribute(--,--)来实现。优点是可传递任何对象类型。缺点是,若程序中某一属性需要双向、多次传递或者常被修改,则会潜在引发属性不一致现象,进而影响其他servlet或者JSP对于某一属性的使用,这种bug不易察觉。 2、JSP可通过.jsp?name=value的方式来传递系统定义变量参数,使用简洁明了,不易使程序发生混乱,但无法传递用户自定义数据类型,因此有时比较局限。 3、对于JSP中需罗列多个form,并可引发多个servlet时,不要使用session传递变量,因为每次循环都会修改session中某一属性的值,当循环结束后,session中属性为最后一次循环的修改结果,因此并不能够在每一次循环中将变量传递到相应的servlet中去。 4、编写服务器端程序时,尽量避免各参数的循环传递。若需要时,可通过JSP触发相应Servlet工作,后台处理过后,返回该JSP,再触发Servlet,如此往复。 5、实际上每一个JSP文件可在<title>处获取入口参数,尽量降低入口参数变量个数,多采用用户定义数据结构。但,同时也要考虑调用该JSP的文件:若为Servlet,则多可选用session传递参数;若为JSP,则需权衡是否需要将入口参数转换为系统定义变量参数,以使JSP避免对于session的使用。因为,主调用JSP有可能存在循环列表形式,如3中所述,此形式下不便使用session。
6、对于网页页面效果要求较高的时候,多采用JSP来编写。对于后台处理要求较高时,多采用Servlet。
顶一下
(0)
踩一下
(0)