java

位置:IT落伍者 >> java >> 浏览文章

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


发布日期:2019年10月12日
 
Struts用户和开发指南(前言之一)

概述

本用户指南为那些热衷于Web开发的人们和想用Java开发Web应用程序的人们而写在开始阅读之前你应该对以下这些核心技术的基础知识有所了解

HTTPHTML和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 TutorialThe Java Tutorial和The Java Web Services Tutarial内容可能有重叠的部分最好结合起来看

如果你想了解如何开发一般的Java应用程序那么你可以去这里看看/tocjsp TARGET=_blank>New to Java 可能会给你很大帮助

HTTPHTML和User Agents

众所周知互联网是建立在HTTP协议和HTML语言基础之上的User Agent就像Web浏览器一样使用HTTP协议请求HTML文档然后浏览器负责把其格式化并显示给用户传输使用的HTTP协议而HTML是Web和Web应用程序使用的通用语言

在进行Web应用程序开发时一些Java程序员可能自己编写HTML语言而有的则会交给专门的页面设计人员来编写

关于HTTPHTML和User Agents更多知识可参考以下资源

Getting started with HTMLDave Raggett着

在Java Web Services Tutorial中的HTTP Overview

HTTP/规范

HTTP Basic and Digest Authentication 规范

State Management Mechanism规范(Cookies)

HTTP请求响应周期

对于Web开发人员来说对HTTP的最关心的就是HTTP的请求响应周期使用HTTP提交一个请求然后HTTP服务器(如Web服务器)返回一个响应当我们进行Web开发设计时我们设计成一个HTTP请求对应返回一个HTTP响应Struts框架就是对这一周期进行抽象而对我们来说更重要的是应该知道这一幕后发生的事情

如果你对HTTP请求响应周期并不熟悉那么我们强烈推荐你去读一读Java Web Services Tutorial中的HTTP Overview#

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 ClassesRalph E Johnson 和Brian Foote着

ObjectOriented Application FrameworksMohamed Fayad和Douglas C Schmidt着如果你正在找一个服务器端框架那么这两页可能对你有些帮助

JavaBeans

正像许多Java应用程序一样大多Struts对象也被设计为JavaBean使用JavaBean设计模式使Struts类更易被Java开发人员和Java部署工具使用

JavaBan最初只是为可视化元素编程而创建的现在这种对象设计模式已经被广泛地应用到更多可重用组件的基础设计中如Struts框架

关于JavaBean更多知识可参考

中的The JavaBeans Component Architecture document.tion和JavaBeans Specification

The Java Tutorial中的 The JavaBean Trail

The Java Web Services Tutorial中的JavaBeans Components in JSP Pages

反射和内省机制

反射就是确定对象的哪个成员变量或方法是可用的一种处理机制内省是JavaBean API使用的一种特殊形式的反射使用内省我们可以知道JavaBean的哪些方法是可以被其他对象访问的

Struts框架使用内省机制把HTTP参数转换为JavaBean属性和使用JavaBean属性组装HTML表单域这项技术使在JavaBean和HTML表单域之间进行双向访问属性更加简单

关于反射和内省更多请参考

The Reflection Trail

Chapter of the JavaBeans API Specification

映射(Maps)

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

动态Bean(DynaBeans)

动态Bean集JavaBean的可扩展性和Map的灵活性于一身我们知道即使要定义一个简单的JavaBean也要新建一个类定义一个属性变量还有编写每个属性对应的两个访问方法(setXXX和getXXX)而动态Bean则可以通过XML配置文件来定义属性动态Bean的虚拟属性并不能像普通的Java方法一样来调用而是要通过组件使用反射(Reflection)和内省(introspection)机制来进行访问

在Struts框架中你可以使用动态Bean来描述一个HTML表单这一个策略避免了我们要为一些简单的表单域创建正式JavaBean子类               

上一篇:运用Jakarta Struts的七大实战心法

下一篇:完全技术手册——Struts使用手册二