用Action控制器替换switch.jsp
在《JBuilder 2005 Servlet高级开发》中我们介绍了用户登录模块的流程,其中switch.jsp充当一个业务处理和页面转发的中心处理器。由于JSP的设计初衷是实现页面展现逻辑,而这里我们居然"倒行逆施",将JSP用作业务处理和页面转发,显然是不恰当的。我们原来的switch.jsp身兼数职:接收login.jsp页面的表单数据,查询数据库,转发页面,象一个事无巨细,有僭越之嫌的 "管家"总揽了所有的事情,程序没有分层,逻辑显得非常不清晰,象个大杂烩。
其实Servlet本身倒是比较适合开发switch.jsp所完成的功能,但在《JBuilder 2005 Servlet高级开发》专题中,我们并没有用Servlet斧正之,是因为我们希望在本专题中从更高的角度更完美地替换switch.jsp。
可以通过Struts框架对switch.jsp功能进行分解,switch.jsp通过<jsp:useBean>获取登录页面表单数据可以通过ActionForm机制实现;switch.jsp查询T_USER数据表,判断用户是否是合法用户可以在Action的execute()中处理;当未通过验证转向fail.jsp页面,如果发生异常转向error.jsp页面,当用户通过验证后转向welcome.jsp页面,可以在Action中通过ActionForward实现多出口切换。
新增一个图书管理模块
现实的图书管理模块,应该包括对图书进行增、删、改、查的功能,由于篇幅所限,我们仅提供图书新增的功能。数据库中必须提供一张表用于保存图书的信息,这张表名为T_BOOK,其结构如图 4所示:
|