快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

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

时间:2011-02-14 IBM Malcolm Davis

简介

小学生也可以在因特网上发布 HTML 网页。但是,小学生的网页和专业开发的网站有质的区别。网页设计人员(或者 HTML 开发人员)必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、图像创建和 JavaScript 等等。设计漂亮的网站需要做大量的工作,大多数 Java 开发人员更注重创建优美的对象接口,而不是用户界面。JavaServer Pages (JSP) 技术为网页设计人员和 Java 开发人员提供了一种联系钮带。

如果您开发过大型 Web 应用程序,您就理解 变化 这个词的含义。“模型-视图-控制器”(MVC) 就是用来帮助您控制变化的一种设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合。Struts 是一种 MVC 实现,它将 Servlet 2.2 和 JSP 1.1 标记(属于 J2EE 规范)用作实现的一部分。尽管您可能永远不会用 Struts 实现一个系统,但了解一下 Struts 或许使您能将其中的一些思想用于您以后的 Servlet 的 JSP 实现中。

在本文中,我将以一个 JSP 文件为起点讨论该网页的优缺点,该文件中使用的元素可能是您所熟悉的。随后我将讨论 Struts,并说明它是如何控制您的 Web 项目中的变化并提高专业化水平的。最后,我将重新开发这个简单的 JSP 文件,在开发过程中我已顾及到网页设计人员和变化。

一个 JSP 文件就是一个 Java servlet

JavaServer Page (JSP) 文件只是审视 servlet 的另一种方式。JSP 文件的概念使我们能够将 Java servlet 看作一个 HTML 网页。JSP 消除了 Java 代码中经常出现的讨厌的 print() 语句。JSP 文件首先被预处理为 .java 文件,然后再编译为 .class 文件。如果您使用的是 Tomcat,则可以在 work 目录下查看预处理后的 .java 文件。别的容器可能将 .java 和 .class 文件存储在其他位置;这个位置与容器有关。图 1 说明了从 JSP 文件到 servlet 的流程。

图 1. 从 JSP 文件到 servlet 的流程

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

(这与 Microsoft 的 Active Server Page (ASP) 明显不同。ASP 被编译到内存中,而不是编译到一个单独的文件中。)

简单的独立 JSP 文件

在小型 JSP 应用程序中,经常会看到数据、业务逻辑和用户界面被组合在一个代码模块中。此外,应用程序通常还包含用来控制应用程序流程的逻辑。清单 1 和图 2 展示了允许用户加入一个邮件列表的一个简单 JSP 文件。

清单 1. join.jsp -- 一个简单的请求和响应 JSP 文件

<%@ page language="java" %> <%@ page import="business.util.Validation" %> <%@ page import="business.db.MailingList" %> <% String error = ""; String email = request.getParameter("email"); // 是否有电子邮件地址 if( email!=null ) {    // 验证输入...    if( business.util.Validation.isValidEmail(email) ) {      // 存储输入...      try {        business.db.MailingList.AddEmail(email);      } catch (Exception e) {        error = "Error adding email address to system. " + e;      }      if( error.length()==0 ) { %>        // 重定向到欢迎页...        <jsp:forward page="welcome.html"/> <%      }    } else {      // 设置错误消息并重新显示网页      error = email + " is not a valid email address, please try again.";    } } else {    email = ""; } %> <html> <head> <title>Join Mailing List</title> </head> <body> &

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号