快速业务通道

Struts,MVC的一种开放源码实现 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
lt;font color=red><%=error%></font><br> <h3>Enter your email to join the group</h3> <form action="join.jsp" name="joinForm">    <input name="email" id="email" value=<%=email%>></input>    <input type=submit value="submit"> </form> </body> </html>

Struts,MVC的一种开放源码实现(2)

时间:2011-02-14 IBM Malcolm Davis

图 2. 在简单的请求和响应中,JSP 文件设置数据、控制到下一个网页的流程并创建 HTML

Struts,MVC的一种开放源码实现 - 编程入门网

这个邮件列表 JSP 文件是一个独立的、自主完成所有任务的模块。未包含在这个 JSP 文件中的仅有代码是包含在 isValidEmail() 中的实际验证代码和将电子邮件地址存入数据库的代码。(将 isValidEmail() 方法分离到可重用的代码中似乎是当然的选择,但我曾见过直接嵌入网页中的 isValidEmail() 代码。单页方法的优点是易于理解,并且最初也易于构建。此外,对于各种图形化开发工具,入门也很容易。

join.jsp 的活动

显示打开的输入网页。

从表单参数中读取 email 的值。

验证 email 地址。

如果 email 地址有效:

将该地址添加到数据库中。

重定向到下一个网页。

如果 email 地址无效:

设置错误消息。

重新显示含有错误消息的 join.jsp 。

单页方法的后果

HTML 和 Java 强耦合在一起

JSP 文件的编写者必须既是网页设计者,又是 Java 开发者。其结果通常要么是很糟的 Java 代码,要么是难看的网页,有时甚至 Java 代码和网页都很糟。

Java 和 JavaScript 的不足

随着网页逐渐变大,很容易想到实现一些 JavaScript。当网页中出现 JavaScript 时,这种脚本就可能与 Java 代码产生混淆。可能产生混淆的一个例子是使用客户端的 JavaScript 来验证 email 域。

内嵌的流程逻辑

要理解应用程序的整个流程,您必须浏览所有网页。试想一下拥有 100 个网页的网站的错综复杂的逻辑。

调试困难

除了很糟的外观之外,HTML 标记、Java 代码和 JavaScript 代码都集中在一个网页中还使调试变得相当困难。

强耦合

更改业务逻辑或数据可能牵涉相关的每个网页。

美学

在很大的网页中,这编码样式看起来杂乱无章。我过去进行 Microsoft ASP 开发时,我经常看到有 1000 行的网页。即使有彩色语法显示,阅读和理解这些代码仍然比较困难。

Struts,MVC的一种开放源码实现(3)

时间:2011-02-14 IBM Malcolm Davis

请别在我的 HTML 中加入太多的 Java 代码

在清单 1 中,不是 Java 代码中有大量的 HTML,而是在 HTML 文件中有大量的 Java 代码。从这个观点来看,除了允许网页设计人员编写 Java 代码之外,我实际上没做什么。但是,我们并不是一无所有;在 JSP 1.1 中,我们获得一种称为“标记”的新特性。

JSP 标记只是将代码从 JSP 文件中抽取出来的一种方式。有人将 JSP 标记看作是 JSP 文件的宏,其中用于这个标记的代码包含在 servlet 中。(宏的观点在很大程度上是正确的。)出于同样的原因,我不希望在 Java 代码中看到 HTML 标记,我也不希望在 JSP 文件中看到 Java 代码。JSP 技术的整个出发点就是允许网页设计人员创建 servlet,而不必纠缠于 Java 代码。标记允许 Java 程序员将 Java 代码伪装成 HTML 来扩展 JSP 文件。图 3 显示了从 JSP 网页中抽取代码并将它们放入 JSP 标记中的一般概念。

图 3. JSP 标记

Struts,MVC的一种开放源码实现 - 编程入门网

清单 2 是用来说明 Struts 标记的功能的一个例子。在清单 2 中,正常的 HTML <form> 标记被用 Struts <form:form> 标记替换。清单 3 显示了浏览器接收到的结果 HTML。浏览器获得 HTML <form> 标记,但带有附加

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号