当前位置:首页>> Java>> Struts

全文搜索

精华导读

·EasyERP2004 制造行业通用性ERP管理系统
·PB中表的修改对数据窗口和报表的影响的解决办法
·在PB中实现Word内容的替换
·office xp风格菜单基本版
·用PB制作outlook界面源程序(非原来的老外版本)(
·将所见dw内容(包括计算字段)输出到execl中
·ERP在中国应用面临的问题
·PB中使用FORMULA ONE(实例篇
·控制打印机的动态库,兼容win98/98/me/nt2000/xp
·易佳自定义报表系统
·用例驱动的需求过程实践

最新发表

·仿windows优化大师界面(源码)
·常见问题的经典解决之SPLITBAR
·pb技巧
·PowerBuilder 10 Beta1下载和相关信息
·如何在pb9中调用WebService
·在非PB9 JSP Target的jsp网页中调用EAServer组件
·质量管理的十三项步骤和八项原则
·用预测性对象点度量面向对象软件(下)
·用预测性对象点度量面向对象软件(上)
·软件开发度量及考核方法
·点度量(4)—最新发布度量方法及参考
·点度量(3)—功能规模度量方法选择
·点度量(2)—功能规模度量方法评价
·点度量(1)—功能规模度量方法概述
·如何对软件质量进行评估
·从印度软件项目管理谈我国软件质量保障
·步步为营,把好质量关
·软件产品的可用性的测试
·软件测试认识的几个误区

Struts用户和开发指南(前言之一)

文章来源:互联网络 文章编辑:admin 添加时间:2004-1-13

0. 前言:核心技术

0.1概述

 本用户指南为那些热衷于Web开发的人们和想用Java开发Web应用程序的人们而写。在开始阅读之前,你应该对以下这些核心技术的基础知识有所了解:
  .HTTP,HTML和User Agent;
  .HTTP请求响应周期;
  .Java语言和应用程序框架;
  .JavaBeans;
  .属性文件和资源绑定;
  .Java Servlet;
  .JSP和JSP标签库;
  .XML语言;
本章只对这些核心技术做扼要的介绍而不做详尽的描述。为了大家的方便,我们提供给大家一些可以进一步了解它们的有用链接。
如果你已熟悉Java语言本身,而不了解这些技术,我们建议你应好好看看这本指南The Java Web Services Tutorial。 这里可以下载到它的PDF版本。
 如果你已经有开发其它平台的Web应用程序的经验,在这里你也可以找到你需要的资料。因为Struts用到的技术在其他的Java Web产品也可能要用到,这些背景知识对任何一个Java项目都是有用的。
 如果你对Java语言还是不太了解,那么我们建议你看看另一本指南
The Java Tutorial。The Java Tutorial和The Java Web Services Tutarial内容可能有重叠的部分,最好结合起来看。
 如果你想了解如何开发一般的Java应用程序,那么你可以去这里看看http://developer.java.sun.com/developer/onlineTraining/new2java/divelog/part1/toc.jsp' TARGET=_blank>New to Java ,可能会给你很大帮助。

0.2 HTTP,HTML和User Agents

 众所周知,互联网是建立在HTTP协议和HTML语言基础之上的。User Agent就像Web浏览器一样使用HTTP协议请求HTML文档,然后浏览器负责把其格式化并显示给用户。传输使用的HTTP协议,而HTML是Web和Web应用程序使用的通用语言。
 在进行Web应用程序开发时,一些Java程序员可能自己编写HTML语言,而有的则会交给专门的页面设计人员来编写。
 关于HTTP,HTML和User Agents更多知识可参考以下资源:
  .Getting started with HTMLDave Raggett著;
  .在Java Web Services Tutorial中的HTTP Overview ;
  .HTTP/1.1规范;
  .HTTP Basic and Digest Authentication 规范;
  .State Management Mechanism规范(Cookies);
0.3 HTTP请求响应周期

对于Web开发人员来说,对HTTP的最关心的就是HTTP的请求响应周期,使用HTTP
提交一个请求,然后HTTP服务器(如Web服务器)返回一个响应。当我们进行Web开发设计时,我们设计成一个HTTP请求对应返回一个HTTP响应。Struts框架就是对这一周期进行抽象,而对我们来说更重要的是应该知道这一幕后发生的事情。
 如果你对HTTP请求响应周期并不熟悉,那么我们强烈推荐你去读一读Java Web Services Tutorial中的HTTP Overviewhttp://java.sun.com/webservices/docs/1.0/tutorial/doc/HTTP.html#63796
0.4 Java语言和应用程序框架

Struts框架是用时下最流行的万能编程语言(译者注:这么形容Java语言我觉得一点也
不为过)Java写成的。Java是面向对象的编程语言,Struts正是利用了它的面向对象这一技术。另外还有,Java自身对线程的良好支持,可以在同一时刻执行多项任务。很好的理解Java语言,面向对象编程和线程,对我们掌握Struts和使用本用户指南大有裨益。
 学习Java语言和线程可以参考以下资料:
  .The Java Tutorial之 Learning the Java Language ;
  .The Java Language Tutorial之Learning the Threads之Doing Two or More Tasks At Once ;
即使你已经使用过Java和面向对象的编程,创建和使用应用程序框架对你编程也是大
有帮助的。有关应用程序框架的更多知识,可以参考下面两本白皮书:
  . Designing Reusable Classes  Ralph E. Johnson 和Brian Foote著;
  .Object-Oriented Application Frameworks  Mohamed Fayad和Douglas C. Schmidt著;
如果你正在找一个服务器端框架那么这两页可能对你有些帮助:1和2
0.5 JavaBeans

正像许多Java应用程序一样,大多Struts对象也被设计为JavaBean。使用JavaBean设
计模式使Struts类更易被Java开发人员和Java部署工具使用。
JavaBan最初只是为可视化元素编程而创建的,现在这种对象设计模式已经被广泛地应
用到更多可重用组件的基础设计中,如Struts框架。
关于JavaBean更多知识,可参考:
  .java.sun.com中的The JavaBeans Component Architecture document.tion和JavaBeans 1.01 Specification;
  .The Java Tutorial中的 The JavaBean Trail ;
  .The Java Web Services Tutorial中的JavaBeans Components in JSP Pages ;
0.5.1 反射和内省机制

 反射就是确定对象的哪个成员变量或方法是可用的一种处理机制。内省是JavaBean API使用的一种特殊形式的反射。使用内省我们可以知道JavaBean的哪些方法是可以被其他对象访问的。
 Struts框架使用内省机制把HTTP参数转换为JavaBean属性和使用JavaBean属性组装HTML表单域。这项技术使在JavaBean和HTML表单域之间进行“双向访问”属性更加简单。
 关于反射和内省更多,请参考:
  . The Reflection Trail ;
  .Chapter 8 of the JavaBeans API Specification ;
0.5.2 映射(Maps)

 JavaBean通过使用属性来存储数据而在其他方法中操作这些数据。JavaBean是一个便捷而有强大的对象,但它不是编程人员用来存储数据的对象唯一选择。另外一个流行的对象就是映射(Map)[java.util.map]。一个映射就是一个简单的名称值对集合。映射常在“幕后”作为存储动态数据的一种便捷方法。

0.5.3 动态Bean(DynaBeans)

 动态Bean集JavaBean的可扩展性和Map的灵活性于一身。我们知道即使要定义一个简单的JavaBean,也要新建一个类,定义一个属性变量,还有编写每个属性对应的两个访问方法(setXXX和getXXX)。而动态Bean则可以通过XML配置文件来定义属性,动态Bean的虚拟属性并不能像普通的Java方法一样来调用,而是要通过组件使用反射(Reflection)和内省(introspection)机制来进行访问。
 在Struts框架中,你可以使用动态Bean来描述一个HTML表单。这一个策略避免了我们要为一些简单的表单域创建正式JavaBean子类。
 关于动态Bean更多,请参考:
  .Jakarta Commons项目的BeanUtils的Package Descriptionhttp://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanutils/package-summary.html#package_description和Javadocs;
(待续……)
 
更多资源:
参与论坛讨论:http://www.matrix.org.cn/forum.asp
更多技术文章:http://www.matrix.org.cn/article.asp
Matrix java门户:http://www.matrix.org.cn
原文地址:http://www.matrix.org.cn/article/721.html
 

[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
目前暂时没有相关文章