WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayer 专题报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayer 专题报告,第 5 部分: 视图 bean:将 Java 代码与 JSP 组件分离

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 如果在User EJB 试图向数据库中添加用户时出现错误,servlet 会让浏览器转回 Register.jsp,Go-ForIt 记事:eXtreme DragonSlayer 专题报告,第 5 部分: 视图 bean:将 Java 代码与 JSP 组件分离(7),Register.jsp

如果在User EJB 试图向数据库中添加用户时出现错误,servlet 会让浏览器转回 Register.jsp,Register.jsp 使用 UserDataBean 为表单上的简单文本域检索值。这些文本域不要求任何进行预先填充的逻辑,只要求一个从 JSP 到 UserDataBean 的简单 getProperty 调用。

RegistrationServlet

RegistrationServlet 在我们的“用户注册”个案研究 中是一个交互控制器。当用户提交注册表单时, RegistrationServlet 被调用。servlet 将一个新 UserDataBean 实例化并向其植入来自表单的数据。然后 servlet 调用适当的对象来处理调用后端对象的方法,将 UserDataBean 作为参数传递。

如果 EJB 向数据库添加用户成功,servlet 会让用户的浏览器转到新页面,该页面上显示一条确认消息。 但是,如果当 EJB 处理请求时遇到错误,servlet 将捕获 EJB 抛出的异常并将 ErrorBean 实例化,封装出错消息。然后 servlet 将让浏览器转回 Register.jsp,显示一条出错消息,并根据存储在 PrefillsRegistrationJSPView 和 UserDataBean 中的值预先填充表单。

UserRegistersCommandBean

作为控制器,调用合适的对象来履行用户的请求是 servlet 的工作。我们的应用使用 EJB 并遵照命令模式(在 IBM 的一本红皮书 Design and Implement Servlets, JSPs, and EJBs for IBM WebSphere Application Server中详细讨论了命令模式)。当用户注册时,RegistrationServlet 调用 UserRegistersCommandBean,UserRegistersCommandBean 知道如何与 EJB 交谈。然后,User EJB,一个实体 bean,执行向数据库实际添加用户的工作。

最后一个,但不是地位最低的: Register.jsp

您已经看到了我们的视图 bean 的类定义,ErrorView 和 PrefillsRegistrationJSPView,那么现在我们来看一下 JSP 如何使用这些 bean。 下面是摘自 Register.jsp的一段代码。最值得注意的部分用红色标识。 您会注意到第一段红色的代码是每个视图 bean 的 useBean 标记。useBean 标记告诉 JSP 处理器我们将在 JSP 中引用这些 JavaBeans。当 JSP 转换为 servlet,JSP useBean 标记也被转换为对象声明,声明中的对象为标记中指定的 bean 类型。

上一页  2 3 4 5 6 7 8  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接