当前位置:文档之家› 第0章 Web开发基础知识

第0章 Web开发基础知识

第0章  Web开发基础知识
第0章  Web开发基础知识

第零章 First Things First

作为本书的开篇,首先介绍https://www.doczj.com/doc/bf5975699.html, Web开发最基础的知识,具体包括如下:

Web开发的一些常见的基础概念;

Visual Studio 2005:本书将利用其作为开发环境,介绍https://www.doczj.com/doc/bf5975699.html,开发技术;

C#语法基础:C#是微软为.NET量身定做的开发语言,与C和C++非常相似。

本章的内容主要是考虑入门读者的需要,而对于掌握本章内容的读者,则可直接跳过本章。

0.1 基础概念

本节首先介绍Web开发中的一些常见术语,包括网页的概念(Web Server、URL、Client、Browser)、常见的网页开发技术(HTML、CGI、ASP/https://www.doczj.com/doc/bf5975699.html,、PHP、JSP),以及Web 开发相关的技术(Java、JavaScript、CSS、Flash)等。

0.1.1 什么是网页

网页(Web Page)实际是一个文件,存放在世界某个角落的的某一台计算机中,而这台计算机必须是与互联网相连的,称为Web服务器(Web Server)。网页经由网址(URL)来识别与存取,当在浏览器输入网址后,经过一段复杂而又快速的程序,网页文件会被传送到使用者的计算机(客户端),然后再通过浏览器(Wen Browser)解释网页的内容,再展示到用户的面前,如图0.1所示。

浏览器终端Web服务器

()Web服务器处理指

令,生成HTML

图0.1 Web页面工作机制

网页的两个最基本的元素是文字与图片。可以简单的理解为:文字,就是网页的内容;图片,就是网页的美观。除此之外,网页的元素还包括动画、音乐、程序等等。在Web应用中,存在两种页面:静态页面和动态页面,下面分别简单介绍。

1.静态网页

静态网页:是单向服务,如常见的新闻网页等。在这种服务中,Web页面只能向用户显示预先编辑好的信息,用户只能“看”而不能有其他行为,以常见的HTML网页(文件后缀为.htm或.html)为主。

2.动态网页

动态网页:与静态网页相对应,动态网页提供的服务是双向的,它既可以向用户传递信息,也能够接受用户反馈,并根据反馈做出响应,常见的网页类型如.php、.asp、.aspx等。动态网页的应用非常广泛,如聊天室、论坛、电子商务应用等。常见的静态网页和动态网页如图0.2所示。

图0.2 Web应用中的两种服务页面类型

0.1.2 网页开发技术

通常看到的网页,都是以htm或html后缀结尾的文件,简称HTML文件。除此之外,还有例如以CGI、ASP、PHP、JSP甚至其他更多为后缀的网页,不同的后缀,代表了不同类型的网页类型,也代表了不同的网页开发技术。下面介绍几种常见的网页类型。

1.HTML

HTML(Hyper Text Markup Language,超文本标记语言)利用标记(tag)来描述网页的字体、大小、颜色及页面布局的语言,使用任何的文本编辑器都可以对它进行编辑,HTML 与VB、C++等编程语言有着本质上的区别。

对于网页制作初学者来说,理解HTML的工作原理是必要的,但也无须仔细地了解到每一个标记的作用,因为已经有了很好的所见即所得的网页编辑软件来快速地生成HTML 代码,例如Dreamweaver和Frontpage,再也无须象早期的网页制作人员一样,一行一行地编写HTML代码。

2.CGI

CGI(Common Gateway Interface,公共网关接口),是一种编程标准,规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准。CGI程式通过读取使用者的输入请求从而产生HTML网页。CGI程序可以用任何程序设计语言编写,如Shell、Perl、C、Java 等,其中最为流行的是Prel。CGI程序通常用于查询、搜索、或其他的一些交互式的应用。

3.ASP

ASP(Active Server Pages,动态服务器主页),是一种应用程序环境,可以利用VBscript 或JavaScript脚本来设计,主要用于网络数据库的查询与管理。其工作原理:是当浏览者发出浏览请求的时候,服务器会自动将ASP的程序码,解释为标准HTML格式的网页内容,再将这些网页内容发送到浏览器上显示出来。从这个角度上,也可以将ASP理解为一种特殊的CGI。

利用ASP生成的网页,与HTML相比具有更大的灵活性。只要结构合理,一个ASP 页面就可以取代成千上万个网页。尽管ASP在工作效率方面较之一些新技术要差,优点包括简单、直观、易学。

4.PHP

PHP(Hypertext Preprocessor,超文本预处理器),其优势在于其运行效率比一般的CGI 程序要高,而且完全免费,任何人都可以从PHP官方站点(https://www.doczj.com/doc/bf5975699.html,)自由下载。PHP可跨平台运行,在大多数Unix平台,GUN/Linux和微软Windows平台上均可运行。

5.JSP

JSP与ASP非常相似,不同之处在于:

(1)ASP的编程语言是VBScript之类的脚本语言,而JSP使用的是Java。

(2)两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript

代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行。

6.https://www.doczj.com/doc/bf5975699.html,

https://www.doczj.com/doc/bf5975699.html,的前身ASP以其简单的语法、嵌入HTML方式等,在动态Web技术领域取得了成功,成为Windows平台上的霸主。后来又出现了PHP、JSP等技术,两者在执行效率、安全性等特性上均优于ASP,并可免费使用,跨平台移植。

PHP、JSP等技术的出现,使ASP的统治地位受到了挑战,它们占有了ASP大量的市场。在这种情况下,在ASP的基础之上,微软于2000年11月发布了https://www.doczj.com/doc/bf5975699.html,,并与2005年正式发布了功能更为强大、使用更为简单的https://www.doczj.com/doc/bf5975699.html,2.0。对于Web开发人员而言,https://www.doczj.com/doc/bf5975699.html,2.0是MicrosoftWeb开发史上的一个重要的里程碑。

说明:在下一章中,将详细介绍https://www.doczj.com/doc/bf5975699.html,有关内容。

0.1.3 Web开发相关技术

本节将介绍最重要的Web开发相关技术,这些技术与https://www.doczj.com/doc/bf5975699.html,没有直接的关系,但掌握这些概念将帮助读者在学习时触类旁通。下面,就简单介绍一些对最常见的Web开发相关技术。

1.Java

Java是由Sun公司开发而成的一种编程语言,利用Jave写成的小程序叫做JavaApplet。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。而且,不论使用的是哪一种浏览器,哪一种计算机,哪一种操作系统,只要浏览器上面注明了“支持Java”,就可以看到生动的页面。

当初Java面世的时候,曾经轰动一时,被认为将会成为Internet应用的主要开发语言。但时至今日,Java的市场占有率已大不如前,原因是Java也有着其致命的弱点,就是在客户端的编译运行的速度慢,资源消耗大。现在Java多用于服务器端、及一些复杂的客户端程序的编写。

2.JavaScript

JavaScript是一种脚本语言,通过嵌入或整合在标准HTML中实现,也就是说JavaScript 的程序是直接加入在HTML文档里,当浏览器读取到HTML文件中JavaScript的程序,就立即解释并执行有关的操作,无须编译器,其运行速度比JavaApplet要快得多。

JavaScript编写容易,不需要有很深的编程经验。现在,JavaScript已经成为制作动态网页必不可少的元素,读者经常在网页上看到的动态按钮、滚动字幕,就大多数都是使用JavaScript技术制作的。

说明:JavaScript和Java有关系吗?两者没有任何关系。Java是Sun公司的产品,而JavaScript是Netscape公司推出的,早期称之为LiveScript,后来为了利用Java的功能同时借用它的流行性,把它改名为JavaScript。

3.CSS

CSS(Casading Style Sheets,层叠样式表),与HTML一样也是一种标记语言,甚至很多属性都是来源于HTML。利用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制。要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。

4.Flash

Flash是Macromedia公司出品的一个适量动画制作软件,用其做出来的动画就叫Flash 动画,其特点包括:

动画具有很强的交互性,甚至可以完全使用Flash来制作一个网站;

采用“准”流(Stream)式的设计,可以一边下载动画文件一边欣赏动画;

由于它是基于矢量的图形系统,可大大地减少文件的数据存储量。同时,可以做到真正的无限放大,无论用户的浏览器使用多大的窗口,图像始终可以完全显示,并且不会降低画面质量。

如果读者看过并使用了Flash技术的网站,肯定会被其绚丽的效果所吸引。同时,Flash 也有其弊端,就是维护更新不方便,不适宜用于一些更新频繁、信息量大的网站。

0.2 搭建开发环境

前面介绍了一些Web开发中经常见到的基础概念,下面言归正传,开始介绍https://www.doczj.com/doc/bf5975699.html, 开发技术。“工欲善其事,必先利其器”,本节就将介绍如何搭建https://www.doczj.com/doc/bf5975699.html,开发环境,并带领读者,完成第一个最简单的https://www.doczj.com/doc/bf5975699.html,动态页面:“HelloWorld”。

0.2.1 安装Visual Studio 2005

https://www.doczj.com/doc/bf5975699.html, 2005的安装非常简单,安装之前首先要检查一下自己的软硬件环境是否能达到所要求的运行环境,以专业版为例,微软给出的建议配置如下:

处理器:600 MHz 或更快配置

操作系统:https://www.doczj.com/doc/bf5975699.html, 2005 Professional Edition 可以被安装在以下的操作系统中: Microsoft Windows 2000 + Service Pack 4

Microsoft Windows XP + Service Pack 2

Microsoft Windows XP Professional x64 Edition

Microsoft Windows Server 2003 + Service Pack 1

Microsoft Windows Server 2003,x64 Editions

Microsoft Windows Server 2003 R2

Microsoft Windows Server 2003 R2,x64 Editions

Microsoft Windows Vista

内存:192 MB RAM 或更大配置

硬盘空间:至少2 GB 可用硬盘空间

光盘驱动器:DVD-ROM 驱动器

显示器:1024x768 + 256色或更高分辨率和颜色数的显示器

输入设备:键盘、鼠标或其他兼容指针设备

将安装程序放入光驱,出现如图0.3所示的安装界面,当系统中没有安装https://www.doczj.com/doc/bf5975699.html,时,下面的两项是灰色的,表明此时只能安装https://www.doczj.com/doc/bf5975699.html,2005。

图0.3 Visual https://www.doczj.com/doc/bf5975699.html,2005安装界面

单击“安装Visual Studio 2005”选项,根据安装程序提供的向导进行安装,因为安装过程较简单,只需根据提示安装即可,因此此处不再赘述。

0.2.2 Visual Studio 2005简介

本书将主要使用https://www.doczj.com/doc/bf5975699.html, 2005作为开发环境,所以首先认识一下这个IDE工具。https://www.doczj.com/doc/bf5975699.html, 是一个非常复杂、庞大的产品,秉承了微软开发环境的一贯风格,使用非常简单。在启动https://www.doczj.com/doc/bf5975699.html,时,主窗口会出现一系列窗口,以及历史解决方案列表,如图0.4所示。

图0.4 https://www.doczj.com/doc/bf5975699.html, 2005启动界面

下面仅介绍一下https://www.doczj.com/doc/bf5975699.html,最基本的一些功能:

(1)把鼠标放在隐藏的窗口上,便会自动弹出这些窗口。

(2)“工具箱”窗口显示常用的窗体控件,通过简单的拖拽操作,便可以快速开发图形化界面工程。

(3)“解决方案资源管理器”窗口显示当前解决方案的信息(解决方案即一个或多个工程及其配置的综合),窗口中可以查看解决方案中工程的各种视图,例如其中的文件等。

(4)“属性”窗口显示工程内容更详细的信息,可以对工程中的单个控件或其他对象进行配置。例如,可以使用属性窗口改变一个按钮的外观、大小等。

(5)“任务列表”窗口和“输出”窗口显示编译工程时的信息,以及开发环境已经完成的任务。

此处,仅仅认识一下https://www.doczj.com/doc/bf5975699.html, 2005,对于其较为详细的使用并不作详细介绍。

0.2.3 实现第一个https://www.doczj.com/doc/bf5975699.html,程序

【本节示例参考:\示例代码\C01\HelloWorld】

本节来使用C#实现的一个最简单的Web应用HelloWorld,本例步骤如下:

(1)启动https://www.doczj.com/doc/bf5975699.html,;

(2)单击菜单,执行命令【文件】 【新建】 【网站】;

(3)弹出“新建网站”对话框。选择“https://www.doczj.com/doc/bf5975699.html,网站”,在下侧的“位置”下拉框中选择“文件系统”,然后输入“D:\示例代码\C00\HelloWorld”,“语言”下拉框选择“C#”,然后单击“确定”按钮,如图0.5所示。

(4)查看“解决方案资源管理器”窗口,应该如图0.6所示。

图0.5 新建https://www.doczj.com/doc/bf5975699.html,网站图0.6 HelloWorld的资源管理器

在文件“Default.aspx”上单击右键,选择“重命名”,将其改名为“HelloWorld.aspx”;

(5)查看主窗口,里面有一个自动生成aspx页面,将代码

无标题页

改为

Hello World,ASPNET.

在页面显示时,页面的标题将为“Hello World,ASPNET.”;

(6)单击主窗口左下方的“设计”标签,然后单击主窗口左侧的“工具箱”隐藏窗口,默认出现一些标准Web控件。双击“Label”控件,或者单击后按住左键将其托拽至主窗口的窗体中,并修改其属性:

ID:lblDisplay

Text:空

BackColor:Silver

双击“Button”控件,或者单击后按住左键将其拖拽至主窗口的窗体中,并修改其属性:ID:btnShow

Text:“显示”

最后效果如图0.7所示。

图0.7 添加Label和Button后的aspx页面

(7)双击“显示”按钮,将进入代码窗口(通过主窗口上侧的标签可以在代码窗口和窗体窗口间进行切换),可以看到https://www.doczj.com/doc/bf5975699.html,已经自动生成了很多代码,在此不必关心。进入代码窗口后光标自动位于方法“btnShow_Click()”内部(即单击“显示”按钮,会触发这个方法),在光标处添加如下代码:

this.lblDisplay.Text="Hello World, https://www.doczj.com/doc/bf5975699.html,.";

(8)在“资源管理器”中,右击“HelloWorld.aspx”页面,弹出快捷菜单,选择执行“设为起始页”命令。

(10)使用快捷键“CTRL+F5”,或者在菜单中执行【调试】 【开始执行】命令,启动程序后,结果如图0.8所示,单击“显示”按钮,在标签中就会出现结果。

图0.8 HelloWorld运行结果

(9)查看工程文件:在目录“D:\示例代码\C00”下,将会发现工程文件夹“HelloWorld”。其中:

.aspx:页面文件;

.cs:代码文件。

至此,第一个https://www.doczj.com/doc/bf5975699.html, Web应用就完成了。

关闭工程后,要想重新打开,只需要在https://www.doczj.com/doc/bf5975699.html, 2005中执行【文件】 【打开】 【网站】命令,然后选择网站所在的文件夹即可。

0.3 C# 2.0语言基础

虽然.NET可以支持多种开发语言,但只有C#是为.NET Framework量身定做,它拥有所有.NET Framework提供的优点,如资源回收,内存自动管理等,能够最完美的体现了.NET 的功能。

0.3.1 简介

首先,来了解一下C#的诞生。以前,在选择开发语言时,许多程序员面临着两难的抉择:一方面,C和C++提供了强大的功能、高度的灵活性,以及完整的底层控制能力。但是,其缺点在于开发周期较长,另外学习较困难。另一方面,许多开发效率更高的语言,如Visual Basic,在功能方面又具有局限性。

针对这个问题,微软发布了称之为C#(C Sharp)的编程语言,它是为.NET平台量身定做的开发语言,采用面向对象的思想,支持.NET最丰富的基本类库资源。C#提供快捷的开发方式,又没有丢掉C和C++强大的控制能力。

C#与C和C++非常相似,C和C++程序员能够很快掌握C#。C#综合了目前所有语言特点的基础上,如图0.9所示。

图0.9 C#家谱

那么,与其他语言相比,C#有哪些优点呢?此处,将C#与其他常用开发语言做一个简单的对比,如表0.1所示。

表0.1 C#与其他开发语言的比较

比较语言 C#优点 C#不足

VC++ 在安全代码中禁止使用指针

删除了复杂的宏

在引用变量之前必须显示声明,并初始化

删除了全局函数,彻底化面向对象思想

支持快速开发图形化用户界面

开发周期短,更容易维护

适合商业应用和Web开发

效率稍低

不适合设备驱动程序和操作系统内核实

C++ Builder 可以于.NET语言编写的代码无缝交互-

Java 语法更加强大

可以于.NET语言编写的代码无缝交互

.NET基类库更加标准化

平台独立性稍差

VB6 可以于.NET语言编写的代码无缝交互

允许使用.NET框架基类库更多功能

更高的面向对象特性

更加简洁

具有广泛的使用者

Microsoft的继续支持

https://www.doczj.com/doc/bf5975699.html, 可以完成指针功能

Microsoft将采用C#进行开发

两者非常类似

Delphi 允许与其他语言所编写的代码交互

语法简洁

容易实现平台独立性

0.3.2 数据类型

C#支持Common Type System(CTS),其数据类型包括基本类型,如int、char、float 等,也包括比较复杂的类型,如string、decimal等。作为完全的面向对象语言,C#中的所有数据类型是一个真正的类,具有格式化、系列化,以及类型转换等方法。根据在内存中存储位置的不同,C#中的数据类型可分为两类:

值类型:该类型的数据长度固定,存放于栈内,包括整数、浮点数、字符以及布尔类型等;

引用类型:该类型的数据长度可变,存放于堆内,包括数组、集合等对象。

下面逐一介绍。

1.整数类型

C#支持8种整数类型,具体含义如表0.2所示。

表0.2 整数类型

名称 CTS类型说明范围sbyte System.SByte 8位有符号整数 -128~127(-27~27-1)

short System.Int16 16位有符号整数 -32

768~32 767(-215~215-1)int System.Int32 32位有符号整数 -231~231-1

long System.Int64 64位有符号整数 -263~263-1

byte System.Byte 8位无符号整数0~255(0~28-1)

ushort System.Uint16 16位无符号整数0~65535(0~216-1)

uint System.Uint32 32位无符号整数0~232-1

ulong System.Uint64 64位无符号整数0~264-1

2.浮点数

C#支持3种浮点数类型,如表0.3所示。

表0.3 浮点数类型

名称 CTS类型说明范围

float System.Single 32位单精度浮点数+-1.5×10-45~+-3.4×1038

double System.Double 64位双精度浮点数+-5.0×10-324~+-1.7×10308

decimal System.Decimal 128位双精度浮点数+-1.0×10-28~+-7.9×1028

其中,decimal类型用于财务计算,表示货币值。另外也可以在其他需要高精度的地方使用。

3.布尔型

C#的布尔型是bool,其取值包括true和false,如表0.4所示。

表0.4 布尔型

名称 CTS类型值域

true/false

bool System.Boolean

在C#中,bool类型的数据和整数不能互相转换,即如果声明变量为bool型,则就只能

对其赋值为true或false,而不能使用1或者0,这与C和C++不同。

4.字符型

C#的字符型可以保存单个字符的值,如表0.5所示。

表0.5 字符型

名称 CTS类型值域

char System.Char

表示一个16位的Unicode字符

在C#中,Char类型的值需要放在单引号中,例如‘A’。另外,对于一些特殊的字符,例如单引号,可以通过转义字符来表示。C#中的转义字符如表0.6所示。

表0.6 C#中的转义字符

转义字符意义

\' 单引号

\" 双引号

\\ 反斜杠

\0 空字符

\a 警告

\b 退格符

\f 换页符

\n 换行符

\r 回车符

\t 水平制表符

\v 垂直制表符

5.结构

除去上面介绍的简单值类型之外,用户还可以根据它们定义复合值类型。常用的复合值类型包括结构和枚举,首先来看结构。

一个结构(struct)是包含多个基本类型或复合类型的统一体,在C#中可以使用struct 关键字创建结构,例如,一个学生结构如下:

1. ///

2. /// 学生结构

3. ///

4. public struct Student

5. {

long

Sid; //学号

public

6.

7. public string SName; //姓名

8. public double Score; //成绩

9. }

在这里使用了结构,而不是类,这是因为与类相比,结构有如下的优点:

结构占用栈内存,对其操作的效率要比类高;

结构在使用完后能够自动释放内存分配;

结构很容易复制,只需要使用等号把一个结构赋值给另一个即可,对于类,则不能这样操作,例如:

1. Student s1=new Student();

2. Student s2;

3.

4. s1.Sid=1;

5. s1.SName="张三";

6. s1.Score=80;

7.

8. s2=s1;

6.枚举

枚举(enum)其实是一个整数类型,用于定义一组基本整数数据,并可以给每个整数指定一个便于记忆的名字。例如,一个星期枚举类型如下:

1. ///

2. /// 星期枚举

3. ///

4. public enum enumWeek

5. {

6. Sunday=0,

7. Monday=1,

8. Thuesday=2,

9. Wedensday=3,

10. Thursday=4,

11. Friday=5,

12. Saturday=6

13. }

建立这个星期枚举之后,便可以使用名称来表示特定的整数值,例如,Week.Monday 即代表整数1。下面是一个使用的Week枚举的示例:

1. int i=0;

2. switch(i)

3. {

4. case (int) enumWeek.Sunday: //返回0

5.

Console.WriteLine("菲菲的生日");

break;

6.

7. case (int) enumWeek.Monday: //返回1

//...

8.

9. }

从长远来看,在编程中创建枚举可以节省大量时间,因此要适当地使用枚举。

7.数组

C#把数组看作一个带有方法和属性的对象,并存储在堆内存中。同C风格类似,声明数组时,要在变量类型后面加一组方括号。例如,下面语句定义一个整数数组:int[] nVar;

这里只是定义了数组变量nVar,并没有初始化,即并没有为其开辟内存空间。若要初始化特定大小的数组,需要使用new关键字:

int[] nVar=new int[100];

同C语言一样,C#使用下标来引用数组元素,其下标从0开始。另外,C#还可以使用

数组的实例来初始化数组,如:

int[] nVar={0,1,2,3};

这等价于

int[] nVar=new int[] {0,1,2,3};

数组作为一个对象,有自己的属性和方法,常用的属性包括:

.Length:一维数组的长度。

.Rank:数组的维数。

常用的方法是.GetLength(int dimension),用来获取多维数组中指定维的长度。

在【第5章数组和集合】中,将详细介绍集合和数组操作。

8.类、接口

类在C#和.NET Framework中是最基本的用户自定义类型。类也是是一种复合数据类型,包括属性和方法。接口用于实现一个类的定义,包括属性、方法的定义等,但没有具体的实现,也不能实例化接口。

在【第2章命名空间、类和对象】中,将详细介绍类的概念。

0.3.3 变量和常量

作为最基本的功能,程序需要操作数据来完成运算,当需要保存数据的值或计算结果时,便需要使用变量。

举一个简单的例子来说明数据和变量的关系,假设某人身高是180cm,那么“180”便是数据,而“身高”是变量。可以说“身高增加1”,即对变量进行操作,而不会说“180增加1”,这时“身高”将改变为“181”。

1.命名变量

在C#中,使用变量的基本原则是:先定义,后使用。首先来看为变量命名的方法。C#中的变量命名规范为:

(1)必须以字母或下划线开头;

(2)只能由字母、数字、下划线组成,不能包含空格、标点符号、运算符,以及其他符号;

(3)不能与C#关键字同名,如class、new等。

需要注意的是,C#中的变量名可以以“@”作为前缀,这时就可以使用“@”+关键字作为变量名,如“@class”。但是,“@”本身并不是变量名的一部分,例如在本例中,真正的变量名仍然是“class”。

下面是一些合法的变量命名示例:

int i;

string error_message;

char @new;

下面是一些不合法的变量命名示例:

int No.1; //不能包含标点符号

char 1_new; //以数字开头

string static; //与关键字同名

2.声明和使用变量

上面介绍了C#中的变量命名规范,下面来看如何声明和使用变量。变量的声明非常简单,只需要在数据类型后面加上变量名即可,如:

int i;

string s1,s2;

另外,还可以使用变量类型关键字,如“static”,来定义变量的类型。C#变量中的变量大体分为3种类型,它们有各自的特点,分别介绍如下:

(1)实例变量

不带有任何关键字声明的变量称为实例变量,如:int i。实例变量在其所在的方法调用结束后,其数据将会被清除掉,所占的内存空间也会被释放。

(2)静态变量

使用“static”关键字修饰的变量称为静态变量。如:

static int count=0

同实例变量相对,静态变量在函数调用结束后仍保留变量值,直到程序结束前一直存在。另外,静态变量不能在类的方法中定义,因为这没有任何意义。

静态变量的这种性质是很重要的。例如,在一个聊天室程序里,可以使用静态变量记录浏览者人数,在每一次新到用户或用户离开的时候,都应该保留目前浏览者人数。

(3)局部变量

局部变量是指在一个独立的代码块中声明的变量,它只在这个代码块中有效,一旦离开这个范围,将不再存在。

C#中没有全局变量,因为它是面向对象的语言。当然可以使用类来实现其功能。

声明变量并赋值后,就可以通过直接引用变量名来使用它,如:

s1="Hello World";

Console.WriteLine(s1);

3.声明和使用常量

同变量一样,常量也用来存储数据。它们的区别在于,常量一旦初始化就不再发生变化,可以理解为符号化的常数。

使用常量可以使程序变得更加灵活易读,例如,可以用常量PI来代替3.1415926,一方面程序变得易读,另一方面,需要修改PI精度的时候,无需在每一处都修改,只需在代码中改变PI的初始值即可。

常量的声明和变量类似,需要指定其数据类型、常量名,以及初始值,并需要使用const 关键字,例如:

[public] const double PI=3.1415;

其中,[public]关键字可选,并可用private、protected、internal或new代替。

声明变量并赋值后,就可以通过直接引用变量名来使用它,如:

double r=3.2;

double area=PI*r*r; Console.WriteLine(area); 0.3.4 运算符

C#中的运算符是用来对变量、常量或数据进行计算的符号,它指挥计算机进行什么样的操作。

1.算数运算符

算术运算符(arithmetic operators )用来处理四则运算的符号,是最简单、也最常用的符号,尤其数字的处理几乎都会使用到算术运算符号。C#中的算数运算符如表0.7所示。

表0.7 C#的算数运算符

符号 示例 意义 + a+b 加法运算 - a-b 减法/取负运算 * a*b 乘法运算 / a/b 除法运算 % a%b 取余数 ++ a++ 累加 -- a-- 递减

2.字符串运算符

字符串运算符(string operator )只有一个,就是加号“+”。除了作为算术运算符之外,

它还可以将字符串连接起来,变成合并的新字符串。例如:

1. string s="Hello";

2. s=s+", World.";

3. Console.WriteLine(s); //输出:Hello, World.

3.赋值运算符

赋值运算符(assignment operator )把其右边表达式的值赋给左边变量或常量。C#中的赋值运算符如表0.8所示。

表0.8 C#中的赋值运算符

符号 示例 意义 = A =

b 将右边的值连到左边 += a+= b 将右边的值加到左边(数字或字符串都可) -= a-= b 将右边的值减到左边 *= a =*b 将左边的值乘以右边 /= a/= b 将左边的值除以右边 %= a%= b 将左边的值对右边取余数

使用上面的赋值运算符往往可以使代码更为简洁,而且更重要的是能够比先运算后再

赋值具有更高的执行效率。

4.逻辑运算符

逻辑运算符(logical operators)通常用来测试真假值。C#中的逻辑运算符如表0.9所示。

表0.9 C#中的逻辑运算符

符号示例为真的条件

< a

> a>b 当a的值大于b值时

< = a<

=

b 当a的值小于或等于b值时

> = a>

=

b 当a的值大于或等于b值时

= = a==b 当a的值等于b值时

! = a!

=

b 当a的值不等于b值时

&& a&&b 当a为真并且b都为真时

|| a||b 当a为真或者b都为真时

! !a 当a为假时

5.位运算符

位运算符(bitwise operators)用于做一些快速的数字运算,共有6个,如表0.10所示。

表0.10 C#的位运算符

符号示例意义

& a&b

按位与运算

| a|b

按位或运算

^ a^b

按位异或运算

<< a<<

向左移位

>> a>>

向右移位

~ ~a

按位取反

6.其他运算符

除上面5种运算符之外,C#还包括一些特殊的运算符。其使用和意义参考如表0.11所示。

表0.11 C#的其他运算符

符号示例意义

new new

Class1(); 创建一个类的实例

typeof typeof(int); 获取数据类型说明

. Obj.method(); 获取对象的方法或者属性

? : (expr1)?(expr2) : (expr3); 若expr1则expr2;否则expr3 7.运算符的优先级

运算符的优先级是指在表达式中哪一个运算符应该首先计算。算术中四则运算时“先乘除,后加减”便是运算符优先级的很好体现。

C#根据运算符的优先级确定表达式的求值顺序:优先级高的运算先做,优先级低的操作后做,相同优先级的操作从左到右依次做,同时用小括号控制运算顺序,任何在小括号内的运算最优先进行。如表0.12所示给出了C#操作符的优先级。

表0.12 运算符的优先级

级别运算符

1 new、typeof、.

2 赋值运算符

3 ||, &&

4 |, ^

5 &

6 +, -(加、减运算符)

7 /,*, %

8 <<, >>

9 ++, --

10 +, - ,(正、负号运算符)! ,~

11 = =, !=, <>

12 <, <=,>, >=

:

13 ?

0.3.5 流程控制

前面3节介绍了变量、常量和运算符,三者是构成每行C#语句的必要元素。在这一节,将在另一个层次介绍如何控制一段代码的整体结构。

同其他高级语言类似,C#的程序结构除顺序结构外,主要有分支结构和循环结构,另外,C#还支持无条件跳转。

1.使用if语句实现分支

【本节示例参考:\示例代码\C00\Example_If】

当程序需要在一个二叉路口做出选择时,需要用到if语句,控制在某条件下才执行某个功能,否则执行另一个功能。例如,当判断一个学生是否及格时,需视其成绩是否大于60做出决定,这时就可以利用if语句进行控制。if语句实现分支有3种类型: 若发生了某事则怎样处理

(expression)

1. if

2. {

3. statement

4. }

若发生了某事则怎样处理,否则该如何解决

(expression)

1. if

2. {

3. statement1

4. }

5. else

6. {

7. statement2

8. }

嵌套使用if…else进行多个条件的判断

(expression1)

1. if

2. {

3. statement1

4. }

(expression2)

5. elseif

6. {

7. statement2

8. }

9. else

10. {

11. statement3

12. }

其中的expression为判断条件,通常都是用逻辑运算符作为判断的条件。而statement 为符合条件的执行区段程序。若程序只有一行,可以省略大括号。三者的使用示例如下。

代码0-1 if语句示例:Class1.cs

1. ///

if语句示例

2. ///

3. ///

4. protected void Button1_Click(object sender, EventArgs e)

5. {

6.

7. //1 使用if语句

8. if (TextBoxInput.Text >=60)

9. {

10. LabelResult.Text ="及格";

11. }

12.

13. //2 使用if...else...语句

14. if (TextBoxInput.Text >=60)

15. {

16. LabelResult.Text ="及格";

17. }

18. else

19. {

20. LabelResult.Text ="不及格";

21. }

22.

23. //3 使用if...else if...else语句

24. if (Convert.ToInt32(TextBoxInput.Text) > 80)

25. {

26. LabelResult.Text ="优秀";

27. }

28. else if (Convert.ToInt32(TextBoxInput.Text) >= 60)

29. {

30. LabelResult.Text ="及格";

31. }

32. else

33. {

34. LabelResult.Text ="不及格";

35. }

36. }

示例分别使用了三种类型的if语句。其中在if...elseif…else类型中,本示例中只用了二层的if...elseif…else分支,用来判定分数是及格、优秀,还是不及格。

同【0.2.3】类似,建立一个新的网站Example_If。在页面Default.aspx中,添加页面元素用来输入分数和显示成绩,将可以看到如图0.11所示的运行结果。

图0.11 if...else if...else语句示例运行结果

说明:此处,因为示例非常简单、不再赘述示例中页面元素的定义等详细的实现步骤,请读者根据随书光盘中附带的代码,执行实现。本章下面几个示例,均与此同。

使用嵌套if...else 分支时,太多层的分支容易引起混乱,如少写了大括号等,这时可以考虑使用switch语句实现分支。

2.使用switch语句实现分支

【本节示例参考:\示例代码\C00\Example_Switch】

当程序面临多叉路口时,就可以使用swtich语句进行分支。例如,当对一个学生评估时,可能会有多个选择:60以下、60~60、70~79、80~89、90~100,需要视其分数给予不同评语,这时就可以使用swtich语句进行分支。switch开关语句语法结构为:

1. switch(variable)

2. {

value1:

3. case

4. statement1

5. break;

6. case

value2:

7. statement2

8. break;

9. …

10. default:

statement

11.

break;

12.

13. }

其中,每个可能的分支都对应着一个case语句。switch判断被检查的变量variable符合哪一个case语句中的value,就执行匹配成功的分支语句。

如果case分支中没有break语句,那么即使匹配了此分支,程序也将继续进入下一个

《JavaWeb程序设计》课程规范标准

《Java Web程序设计》课程标准 1.课程定位 1.1课程定位 《Java Web程序设计》是计算机及相关专业学生的程序设计主修课程。修习本课程的目的是让学生在经过基本程序设计能力训练之后,掌握具有较高应用价值的JavaWeb应用程序设计的能力,掌握Java Web网站应用程序设计的方法。本课程的先修课程是《计算机操作基础》和《Java程序设计》,学生必须掌握基本的计算机操作技能、程序设计基础和Java面向对象程序设计的基本的方法,Java语言程序的编写设计方法,并具备一定SQL数据库语言基础及Java数据库应用能力。本课程是一门专业课程,适用于具备程序设计基础知识及网页设计技能的学生。 2.课程目标 Java Web程序设计是大学期间主要的程序设计类课程,以学生构思、创建一个简单网站的过程为主线,建立和掌握JavaWEB应用程序设计的基本概念和方法。本课程学习的效果如何,对学生在计算机应用设计技能的培养和学习有着重要影响,也对学生毕业后的工作能力有相当的作用。在课程讲授过程中,以不同的WEB数据库应用设计作为应用设计最主要的元素,进行教学驱动,通过递进的方式,把完成JavaWEB网站设计的学习进程及内容进行连贯和衔接,总体目标是:让学生建立WEB网站设计的基本基本概念和方法,掌握WEB数据库应用程序设计的规范和基本方法、同时根据不同的应用,掌握WEB网站设计的基本技巧,能够对现实的的问题进行分析和抽象,设计出一个简单的WEB网站,并通过代码实现网站的基本功能,完成应用程序的编写、调试和运行。

2.1知识目标 (1)掌握Web网站设计基本概念、学会Tomcat服务器安装配置 (2)掌握JSP语法基础、脚本编写及程序的运行方法 (3)掌握JSP程序控制方法 (4)掌握JSP指令元素、动作的基本概念及应用方法 (5)掌握主要的JSP内置对象及这些对象的用途 (6)学会根据实际要求设计表单,实现表单的提交及表单数据的提取 (7)掌握WEB数据库应用设计,能够完成WEB数据库的基本访问操作的设计 (8)掌握JavaBean程序的设计和应用方法,学会使用JavaBean进行程序封 装 (9)了解Java Servlet应用及程序的设计方法 2.2能力目标 2.2.1、专业能力目标 (1)熟练掌握WEB应用开发工具,掌握WEB网站设计的基本方法和过程 (2)能够根据实际网站设计要求,完成一个简单网站的程序结构设计 (3)能够合理设计网站数据库结构 (4)能够设计基本的WEB页面,实现数据库的查询及显示操作 (5)能够准确提取WEB数据,完成数据库的添加、修改和删除操作 (6)理解JavaBean程序概念,设计并通过Java类完成WEB应用 (7)能够使用Bean程序对网站数据库操作进行封装 (8)了解Servlet程序的结构和编写方法,完成简单的Servlet应用2.2.2、方法能力目标 (1)建立WEB应用程序设计的思想和基本方法; (2)具备一定的程序逻辑能力,程序模仿能力,程序设计的思维方法和能力; (3)能够自行查找资料,对于给定WEB应用需求进行基本的分析,构思 WEB网站的程序模块结构 (4)能够根据网站需求设计出合理的数据库结构 (5)掌握JSP基本的应用程序的设计和调试方法。 (6)完成页面表单的设计,并实现表单数据提取 (7)掌握WEB数据库的操作方法,实现数据库的查询、添加、更新、删除 操作

web开发知识练习(HTML标签和JavaScript脚本)

网上客服培训考核 ---阶段二HTML标签和JavaScript脚本 试题类型:HTML标签和JavaScript脚本 考核类型:开卷

1. HTML(Hypertext Markup Language超文本标记语言)是一种用来制作超文本文 档的简单标记语言。利用各种标记(tags)来标识文档的结构以及标识超链(Hyperlink)的信息 2.HTML的标记总是封装在由 < 和 > 构成的一对尖括号之中。 除少数几个转义序列之外,HTML标记忽略大小写,即等价于<TITLE> 3. <html> 标记用于Html文档的最前边,用来标识Html文档的开始。而</html>标记 恰恰相反,它放在Html文档的最后边,用来标识Html文档的结束。所有其它HTML标记和文档内容都包含在这对标记之间。 4.<head> 与 </head> 之间的头部信息通常含有 <title> 标记,用来确定HTML文件 的标题,即显示在浏览器左上角标题栏处的文字。 5. <head></head> 构成Html文档的开头部分,此标记对之间包含的是HTML文档 的头信息,如标题、说明内容等等,其中可包括<title>等标记对 6. 之间的内容是HTML文档的主体部分,在此标记对之间可包含、 、



等众多的标记它们所定义的文本、图像等将会在浏览器的框内显示出来,标记中还可以有很多属性,以下是主要的几种设置背景颜色bgcolor =”颜色码”,设置文本颜色 text = “颜色码”,设置链接颜色 link = “颜色码”,设置已使用的链接的颜色 vlink = “颜色码”,设置正在被击中的链接的颜色 alink = “颜色码”。 7. 之间的内容是HTML文档的标题,标题的显示位置不是浏览器的 文本区,而是在Web浏览器窗口最左上方的蓝色标题栏里。 8.标记对是用来创建一个段落(Paragraph),在此标记对之间加入的文 本将按照段落的格式显示在浏览器上。另外,标记还可以使用align属性,它用来说明对齐方式 9. 是典型的单标记,使用也很简单,它的功能是用来创建一个回车换行 10.
标志对用来排版大块Html段落,也用于格式化表,此标志对的用法与 标志对非常相似,同样有align对齐方式属性。 11.
 标记用于显示预格式化文本(Preformatted Text),在这对标记之 间的文本,与其他HTML文本的格式编辑方式不同 12.Html语言提供了一系列对文本中的标题进行操作的标记对: 

……
,一共有六对标题的标记对 13.用来使文本以粗体效果的形式输出; 14.用来使文本以斜体效果的形式输出; 15.用来使文本以带下划线的形式输出。 16.则用来输出加重语气文本(通常也是斜体加黑体)。 17. 是一对很有用的标记对,它可以对输出文本的字体大小、颜色进 行随意地改变,这些改变主要是通过对它的两个属性 size 和 color 的控制来实现的。 size属性用来改变字体的大小,取值范围从1到7;而color属性则用来改变文本的颜色 18. 是单标记,它通过src属性指定当前位置要插入的图像文件,标记还有alt、

web前端基础知识

2012-5-15 [成就源于整理] | oush [深圳残 友动漫] 静态页面效果代码

目录 1.获取当前日期和星期 (2) 2.繁简中文转换 (2) 3.支持ff和ie的滤镜效果样式 (2) 4.让ie6实现li的hover事件代码 (3) 5.首页菜单效果 (3) 6.鼠标经过时菜单显示不一样的背景js (5) 7.banner效果 (6) 8.兼容两种浏览器,通常方法 (6) 9.用样式实现div的圆角 (7) 10.如何在ie6及更早浏览器中定义小调试的容器 (7) 11. 如何解决IE6及更早浏览器浮动时产生双倍边距的BUG (7) 12. 如何在IE6及更早浏览器下模拟min-height效果 (7) 13.如何解决按钮在IE7及更早浏览器下随着value增多两边留白也随着增加的问题.. 8 14.如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG (8) 15.如何解决IE6下的文本溢出BUG (8) 16.如何使文本溢出边界显示为省略号 (8) 17. 如何使连续的长字符串自动换行 (9) 18.如何让已知高度的容器在页面中水平垂直居中 (9) 19. 如何做1像素细边框的table (9) 20. 如何在点文字时也选中复选框或单选框 (9) 21.渐变背景色css3 (9) 22.加载在线jquery (10) 23.鼠标经过时宽度加长 (10) 24.跳转下拉菜单 (10) 25.去除超链接虚线框 (10) 26.显示子菜单封装类 (10) 27. 实现图片延迟加载 (11) 28.动态获取当前时间 (11) 29.百度地图API,地图生成工具 (12) 30.返回到顶部 (12) 31.刷新页面的js方法 (13) 32.固定层div样式 (13) 33.高级样式 (13) 34.激活hasLayout (14)

最新javaweb学习课程总结

总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而

《Java Web应用开发》课程标准

课程标准 所属系部:信息工程系 课程名称:JavaWeb应用开发 课程性质:专业必修课 课程学时:96 适用专业:云计算技术与应用()

《JavaWeb应用开发》课程标准 1、课程概述 1.1课程定位 JavaWeb应用开发是云计算技术与应用专业的核心课程之一,是该专业的专业必修课。通过本课程的学习,使学生具备JavaWeb应用开发相关知识、良好的编程习惯和手机应用软件开发的能力,能胜任基于JavaWeb开发等工作任务。Java的J2EE体系中,JSP/Servlct/J avaBcan占据了非常重要的位置,不仅成为web项目开发的利器,而且也是人们接触和使用J 2EE的一个基础。通过详实的内容和丰富的案例,引领学生学习JSP/Scrvlet/JavaBcan的开发体系,以及这套技术在项目开发中的实际应用。同时,通过教学过程中的实际开发过程的规范要求,培养学生分析和解决实际问题的能力,强化学生的职业道德意识、职业素质养意识和创新意识,为学生以后从事更专业化的软件开发工作奠定基础。《JavaWeb程序开发入门》是面向计算机相关专业的一门专业JavaWeb入门课程,涉及XML基础、Tomcat服务器、HTTP协议、Servlet技术以及JSP技术等内容,通过本课程的学习,学生能够了解XML的语法及其约束的定义,能够掌握JSP和Servlet技术并开发简单的JavaWeb项目、使用Tomcat 服务器发布和运行JavaWeb项目。前导课程有《Java程序设计》、《数据库技术基础》,后续课程有《J2EE项目开发》、《JavaWeb应用开发实训》、《毕业实习》等。 1.2课程设计思路 本课程标准以“开发”、“应用”为原则,彻底打破原来学科课程链路模式,根据基于工作过程专业建设模式,以能力为本位,构建以实际工作情境为单位的课程体系。课程内容的选取按照软件开发市场、软件企业、行业对Web开发程序员的需求情况,确定了“初级We b程序员”的职业岗位培养目标。在教学实施过程中基于实际工作的教学模式、通过各种各样的教学方法和教学手段,培养Web程序员应具备的能力。 每个项目的学习都是围绕职业能力的形成组织课程内容,以真实项目为核心整合Web程序员的所需的知识、技能和态度。实践中创设职业情境,围绕着软件企业、软件行业中的实际项目而展开的,学生通过各个环节的技能训练,感受职业环境,实现编程技能的逐步提升。本课程课时为96学时。 本课程在教学过程中,倡导自主学习,启发学生对设定问题积极思考、分析,鼓励多种思维方式并将其表达出来,尊重个体差异。采用项目教学法进行教学,每个项目的成绩采取自评、互评、教师综合评价相结合的方式能激励学生的学习兴趣和自主学习能力的发展。教

JavaWeb期末总结

第一章Web开发基础知识(简单描述)表单(续) 表单元素

form body
元素括起整个表单,并给出一些基本定义。表单仅占用HTML文档的部分空间;实际上,一个HTML文档可以包含几个独立的、完成不同功能的表单。method指定了信息传递给HTTP服务器的方法;action给出与处理提交信息的脚本相关的URL(如“registinfor.asp”,“registinfor.jsp”)。 表单输入元素 ?用来把不同的字段放在表单里,以便用户输入信息。 ?name属性指定该字段在某个表单中的唯一名称; ?可选的value属性给出该标记的默认值。 ?在提交表单时,向Web服务器呈上以一组用“?”开头并用“&” 号分开的一组“名字=值”形式的信息,如 http://…/Scriptname?name=me&address=here&time=now ?type属性给出所使用标记的样式,“string”可以是: ?CHECKBOX(复选框)。 ?RADIO(单选按钮) ?TEXT(单行的文本输入栏)。 ?IMAGE(图像放在表单里) ?SUBMIT(提交按钮) ?RESET(清除按钮) ?HIDDEN(在表单中保留不供显示的内容) ?FILE(上传文件) 第二章Servlet开发 1.什么Servlet Servlet是用Java语言编写的运行在服务器端的小应用程序,能够接收Web客户端的请求,并能对Web客户端进行响应,通常是通过HTTP (HyperText Transfer Protocol)协议进行工作的。(可以认为Servlet是服务 器端的一个动态Java程序,用户通过访问这个程序获取服务器的服务。) 2. Servlet的主要方法 Servlet是一个Java类,通常会有3类方法,分别是: init方法,用于初始化。 destroy方法,用于释放资源。 service方法,服务类方法,对用户的请求进行处理,并对用户进行响应,几乎所有处理功能都在这里完成。这类方法可以有多个,最常用的

javaweb基础知识整理

一、TOMCAT服务器的安装与配置 1.常见服务器: WebLogic(BEA)、webSphere(IBM)、Tomcat(Apache) 2.Tomcat 的下载与安装 下载地址:https://www.doczj.com/doc/bf5975699.html,/ 安装目录不能包含中文和空格 JAVA_HOME环境变量指定Tomcat运行时所要用的jdk所在的位置,注意,配到目录就行了,不用指定到bin。 端口占用问题:netstat -ano命令查看端口占用信息 Catalina_Home环境变量:startup.bat启动哪个tomcat由此环境变量指定,如果不配置则启动当前tomcat,推荐不要配置此环境变量。 3.Tomcat的目录结构 bin--存放tomcat启动关闭所用的批处理文件 conf--tomcat的配置文件,最终要的是server.xml *实验:修改servlet.xml,更改tomcat运行所在的端口号,从8080改为80 lib--tomcat运行所需jar包 logs--tomcat运行时产生的日志文件 temp--tomcat运行时使用的临时目录,不需要我们关注 webapps--web应用所应存放的目录 work--tomcat工作目录,后面学jsp用到 4.虚拟主机 一个真实主机可以运行多个网站,对于浏览器来说访问这些网站感觉起来就像这些网站都运行在自己的独立主机中一样,所以,我们可以说这里的每一个网站都运行在一个虚拟主机上,一个网站就是一个虚拟主机。 4.1配置虚拟主机 在server.xml中标签下配置,其中name属性指定虚拟主机名,appBase指定虚拟主机所在的目录只在servlet.xml中配置Hosts,还不能使其他人通过虚拟主机名访问网站,还需要在DNS服务器上注册一把,我们可以使用hosts文件模拟这个过程。 默认虚拟主机:在配置多个虚拟主机的情况下,如果浏览器使用ip地址直接访问网站时,该使用哪个虚拟主机响应呢?可以在标签上设置defaultHost来指定。 5.web应用 web资源不能直接交给虚拟主机,需要按照功能组织用目录成一个web应用再交给虚拟主机管理。 5.1web应用的目录结构 web应用目录 | - html、css、js、jsp静态资源和JSP文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到 | - WEB-INF 可以没有,但是最好有,如果有则一定要保证他的目录结构是完整的。放置在WEB-INF目录下的所有资源浏览器没有办法直接进行访问。 | - classes动态web资源运行时的class文件要放在这个目录下。 | - lib 动态web资源运行时所依赖的jar包要放在这个目录下。 | - web.xml整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行。 5.2web.xml文件的作用 某个web资源配置为web应用首页 将servlet程序映射到某个url地址上 为web应用配置监听器

web知识点

常见的 HTML 标签

转义字符,尖括号转移字符, ,超链接如何写,超链接里面的标签,链接到另一个标签的书 签如何写 \”  
< > &
表单 form,form 里面的属性,method 方法有几种提交方法,每种提交方法的含义是什么, 服务器端提交代码接收方式应该如何写,表单里面的控件英文名是什么 username:
password:
男:
女:





层叠样式表单,如果要用到样式有几种使用方法
外部样式: 内嵌样式

aaa 内部样式
脚本语言 vbscript 和 Javascript 如果要求程序里面的变量 先定义 后使用 应该添加一条什么样的代码
客户端脚本一般用什么语言 Vbscript Javascript
脚本嵌入到页面的时候用什么样的标签,
JSP 常规的语法要求,指令,动作元素

javaweb应用开发课程标准完整版

j a v a w e b应用开发课程 标准 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

课程标准 所属系部:信息工程系 课程名称:Java Web应用开发 课程性质:专业必修课 课程学时:96 适用专业:云计算技术与应用()

《Java Web应用开发》课程标准 1、课程概述 课程定位 Java Web应用开发是云计算技术与应用专业的核心课程之一,是该专业的专业必修课。通过本课程的学习,使学生具备Java Web应用开发相关知识、良好的编程习惯和手机应用软件开发的能力,能胜任基于Java Web开发等工作任务。Java的J2EE体系中,JSP/Servlct/JavaBcan占据了非常重要的位置,不仅成为web项目开发的利器,而且也是人们接触和使用J2EE的一个基础。通过详实的内容和丰富的案例,引领学生学习JSP/Scrvlet/JavaBcan的开发体系,以及这套技术在项目开发中的实际应用。同时,通过教学过程中的实际开发过程的规范要求,培养学生分析和解决实际问题的能力,强化学生的职业道德意识、职业素质养意识和创新意识,为学生以后从事更专业化的软件开发工作奠定基础。《Java Web程序开发入门》是面向计算机相关专业的一门专业Java Web入门课程,涉及XML基础、Tomcat服务器、HTTP协议、Servlet技术以及JSP技术等内容,通过本课程的学习,学生能够了解XML的语法及其约束的定义,能够掌握JSP和Servle t技术并开发简单的Java Web项目、使用Tomcat服务器发布和运行Java Web项目。前导课程有《Java程序设计》、《数据库技术基础》,后续课程有《J2EE项目开发》、《Java Web应用开发实训》、《毕业实习》等。 课程设计思路 本课程标准以“开发”、“应用”为原则,彻底打破原来学科课程链路模式,根据基于工作过程专业建设模式,以能力为本位,构建以实际工作情境为单位的课程体系。课程内容的选取按照软件开发市场、软件企业、行业对Web开发程序员的需求情况,确定了“初级Web程序员”的职业岗位培养目标。在教学实施过程中基于实际工作的教学模式、通过各种各样的教学方法和教学手段,培养Web程序员应具备的能力。 每个项目的学习都是围绕职业能力的形成组织课程内容,以真实项目为核心整合Web程序员的所需的知识、技能和态度。实践中创设职业情境,围绕着软件企业、软件行业中的实际项目而展开的,学生通过各个环节的技能训练,感受职业环境,实现编程技能的逐步提升。本课程课时为96学时。 本课程在教学过程中,倡导自主学习,启发学生对设定问题积极思考、分析,鼓励多种思维方式并将其表达出来,尊重个体差异。采用项目教学法进行教学,每个项目的成绩采取自评、互评、教师综合评价相结合的方式能激励学生的学习兴趣和自主学习能力的发展。教师在给学生评

JavaWeb

二、填空题 1.在编写Servlet时,需要继承HttpServlet类,在Servlet中声明doGet()和doPost()需要HttpServletRequest 和HttpServletResponse类型的两个参数。 2.jsp主要内置对象有:response、exception、pageContext、 request、session、application 、out、config、page。 3.使用useBean动作标记的时候scope属性有4种选项,作用范围由小到大是page、_requset_、_session ,application__,其中session _是指当关闭浏览器的时候这个javabean失效,_application_ 是指当关闭服务器的时候这个javabean失效。 1、控制一个Servlet的生命周期的方法有init( ), service( )和_ destroy( )。其中init()_在Servlet加载时调用,_destroy()__在撤消应用或关闭web container时调用,客户端的每次请求此Servlet时都会调用service()方法。Servlet通常只有一个实例,被所有的访问者共享,因此要注意资源的同步。 2. 在Servlet中要输出内容,使用HttpServletResponse的方法_setContentType 方法设置文档内容类型,对于文本类型调用方法_getWriter获得一个PrintWrite的输出流,对于二进制类型调用_getOutputStream获得ServeltOutputStream的输出流。调用HttpServletRequest的方法_getParameter获取有名参数,调用getInputStream获得一个ServletInputStream 的输入流。在Servlet中也可以调用ServletContext 和HttpServletRequest 的方法_ getRequestDispatche_获得RequestDispatcher, 将请求的处理权交给一个新的资源。 3.在Java Web开发中,跟踪客户状态的手段可通过_session_和_cookie_; 增加一个新的cookie, 调用HttpServletResponse的_addCookie _方法;要在服务器端查询cookie, 调用HttpServletRequest的getCookies方法。Session的类型是HttpSession, 获得session的途径是调用HttpServletRequest的方法是_ getSession_。 三.笔试题 18简述servlet进行中文处理的方法。 19请写出获取初始化参数的方法。 20简述使用Cookie进行会话跟踪过程。(写出主要步骤)

《Web开发基础》课程标准

《Web开发基础》课程标准 表1 课程基本信息 (一)课程性质与任务 课程性质:《Web开发基础》是软件工程专业培养课程体系中的一门专业必修课程,其包含了软件行业Web开发领域的关键技术基础知识(HTML,CSS及JavaScript等)。该课程的设置充分考虑了其在Web开发领域的关键性作用、目前市场广泛的应用需求和良好的就业前景,注重学生对理论基础知识、专业技能的理解、掌握。 课程任务:通过本课程的学习,使学生理解HTML、CSS及JavaScript等基本的理论知识;掌握应用上述理论知识,制作基本网页、设计网页布局、实现多样化及良好客户体验的页面效果等应用技能;培养学生的创新意识,设计特色网页。 (二)课程教学目标 通过本课程的学习,使学生掌握Web开发技术的基本理论知识,具备一定的应用开发技能,培养学生工程意识、创新能力和素质。 1. 知识目标 (1)了解本课程内容在Web开发领域的定位与作用; (2)了解HTML、CSS及JavaScript技术的发展脉络、趋势及应用前景; (3)掌握HTML中的基本元素、文字与段落元素、图像元素、列表元素、表格元素、超链接元素、多媒体元素、框架元素及表单元素的语法、属性和参数等基础知识; (4)掌握CSS中元素的语法、属性和参数等基础知识; (5)了解网页布局的几种方法,掌握使用CSS进行网页布局、样式设计的基础知识; (6)掌握JavaScript中的基本语法知识; (7)掌握JavaScript进行提交内容校验、生成网页特效等方法。 2. 能力目标

(1)具备使用HTML制作包含基本内容的网页的能力; (2)具备使用HTML及CSS等技术来设计网页布局的能力; (3)具备使用JavaScript技术来提高网页交互性、体验性的能力; (4)具备综合使用HTML、CSS与JavaScript的相关知识,来丰富、渲染网页的能力; (5)具备根据具体应用需求,创新性地设计网页的能力。 3. 素质目标 (1)培养学生具备克服困难解决问题的意志; (2)培养学生养成严谨认真的科学态度,耐心细致的工作作风; (3)培养学生具备良好的交流沟通素养和创新精神。 (三)参考学时 64 (理论:32\ 实验:32) (四)课程学分 4学分 (五)课程内容和要求(理论48学时,实验16学时) 本课程的主要内容有:HTML,主要包括网页基本组成元素,网页框架、超文本链接、表单、表格、层等。CSS,产要包括修改网页元素,主要包括修改文字颜色及背景、调整字符间距、单词间距、添加文字修饰、设置文本排列方式、设置段落缩进、调整行高、转换英文大小写、设置颜色、设置背景颜色、插入背景图片、设置背景图片位置、设计边框样式、调整边框宽度、设置边框颜色、设置边框属性等。JavaScript,包括JavaScript基本语法、基本数据类型、运算符、函数、JavaScript事件分析、图片和多媒体文件的使用、JavaScript 对象的应用、浏览器内部对象、内置对象和方法等。 本课程要求学生了解web编程技术的产生和发展过程,会使用HTML编写网页,会用CSS 对网页样式进行设计,会使用JavaScript实现一些客户端的数据验证及网页特效,达到一般企业用人标准。 表2 课程内容与学时安排表

JavaWeb知识点汇总

1、静态Web和动态Web的区别? 静态Web与动态Web最本质的区别是静态Web是无法进行数据库操作,而动态Web 是可以进行数据库操作的。 动态Web的最大特点就是具有交互性,所谓交互性就是服务器端会自动根据用户请求的不同而显示不同的结果。 2、说一说你了解的动态Web技术有哪些? CGI、PHP、ASP、https://www.doczj.com/doc/bf5975699.html, JSP 3、什么是Servlet? Servlet是运行于服务器端的,按照其自身规编写的Java应用程序。 1、Servlet是用Java语言编写的,它是一个Java类。因而Servelet遵守所有Java 语言的语法规则,并且它可以调用一般Java程序可以调用的JDK类库。 2、Servlet是在服务器端运行的。它编译后的".class"文件被服务器端调用和执行。 Web服务器使用该class文件去处理浏览器请求,并将处理的结果返回到客户端。 3、由于Servlet特殊的应用特点,它有自身特殊的规则。一般来说,它必须调用 Java Servlet API,必须是对特定类或接口的继承和实现。并且,它必须重写特定的方法去处理客户端请求。 4、Servlet的主要功能有哪些? Servlet的主要功能是用来接受、处理客户端请求,并把处理结果返回到客户端显示。其过程如下: 1、客户端把请求送到Servlet处理 2、Servlet处理请求。这时Servlet相应的方法被Web服务器调用去处理请求。这 个过程中,Servlet可以和服务器端的其他资源(文件、数据库等)交互。 3、Servlet把请求的结果返回。在这个过程中,Servlet返回的并不仅仅是数据结 果,而是整个HTML文件。 5、Servet的生命周期? 生命周期包括加载(创建)程序、初始化、服务、终止(销毁)、卸载5个部分。 6、谈一谈请求转发和重定向的区别? 7、什么是HTTP协议? HTTP(Hypertext Transfer Protocol)中文“超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。 8、HTTP协议的主要特点有哪些? 遵循请求/响应模型、无连接、无状态、简单快速、灵活 9、HTTP协议请求由哪几部分组成? 请求行、消息报头、请求正文 10、HTTP协议响应由哪几部分组成? 状态行、消息报头、响应正文 11、HTTP协议中请求方法的GET和POST的区别?

《Java Web程序设计》课程标准

《Java Web程序设计》课程标准 课程代码0210528 课程类别专业选修 课程类型理论+实践课程性质能力拓展课程 课程学分 3 课程学时60 修读学期第2或3学期核心课程否 合作开发企业加拿大pecom公司福州分公司 执笔人余先锋陈伟审核人刘维娜 1.课程定位 1.1课程定位 《Java Web程序设计》是计算机及相关专业学生的程序设计主修课程。修习本课程的目的是让学生在经过基本程序设计能力训练之后,掌握具有较高应用价值的JavaWeb应用程序设计的能力,掌握Java Web网站应用程序设计的方法。本课程的先修课程是《计算机操作基础》和《Java程序设计》,学生必须掌握基本的计算机操作技能、程序设计基础和Java面向对象程序设计的基本的方法,Java语言程序的编写设计方法,并具备一定SQL数据库语言基础及Java数据库应用能力。本课程是一门专业课程,适用于具备程序设计基础知识及网页设计技能的学生。 2.课程目标 Java Web程序设计是大学期间主要的程序设计类课程,以学生构思、创建一个简单网站的过程为主线,建立和掌握JavaWEB应用程序设计的基本概念和方法。本课程学习的效果如何,对学生在计算机应用设计技能的培养和学习有着重要影响,也对学生毕业后的工作能力有相当的作用。在课程讲授过程中,以不同的WEB数据库应用设计作为应用设计最主要的元素,进行教学驱动,通过递进的方式,把完成JavaWEB网站设计的学习进程及内容进行连贯和衔接,总体目标是:让学生建立WEB网站设计的基本基本概念和方法,掌握WEB数据库应用程序设计的规范和基本方法、同时根据不同的应用,掌握WEB网站设计的基本技巧,能够对现实的的问题进行分析和抽象,设计出一个简单的WEB网站,并通过代码实现网站的基本功能,完成应用程序的编写、调试和运行。

javaweb课程总结

javaweb课程总结 总结一:javaweb课程总结 刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,前几节课也是精神饱满,信心十足,怀着一腔热血来听课。再加上老师讲课的时候每个部分都讲得特别细致,彭老师的讲课方式与众不同,一边口述,一边实际操作,给我的第一感觉是这个老师是有真本事的,而不是像某些老师那样,整堂课就知道念PPT。彭老师认真负责的教学态度,令我敬佩万分,每当我打瞌睡的时候,抬头看到正在用心讲课的彭老师,感到内心无比愧疚,于是再次用心听讲。 由于JA V AWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JA V AWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JA V A这一基础编程语言,要求对JA V A掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java

JavaWeb应用开发课程标准

J a v a W e b应用开发课 程标准 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课程标准 所属系部:信息工程系 课程名称:Java Web应用开发 课程性质:专业必修课 课程学时:96 适用专业:云计算技术与应用()

《Java Web应用开发》课程标准 1、课程概述 1.1 课程定位 Java Web应用开发是云计算技术与应用专业的核心课程之一,是该专业的专业必修课。通过本课程的学习,使学生具备Java Web应用开发相关知识、良好的编程习惯和手机应用软件开发的能力,能胜任基于Java Web开发等工作任务。Java的J2 EE体系中,JSP/Servlct/JavaBcan占据了非常重要的位置,不仅成为web项目开发的利器,而且也是人们接触和使用J2EE的一个基础。通过详实的内容和丰富的案例,引领学生学习JSP/Scrvlet/JavaBcan的开发体系,以及这套技术在项目开发中的实际应用。同时,通过教学过程中的实际开发过程的规范要求,培养学生分析和解决实际问题的能力,强化学生的职业道德意识、职业素质养意识和创新意识,为学生以后从事更专业化的软件开发工作奠定基础。《Java Web程序开发入门》是面向计算机相关专业的一门专业Java Web入门课程,涉及XML基础、Tomcat服务器、HTTP 协议、Servlet技术以及JSP技术等内容,通过本课程的学习,学生能够了解XML的语法及其约束的定义,能够掌握JSP和Servlet技术并开发简单的Java Web项目、使用Tomcat服务器发布和运行Java Web项目。前导课程有《Java程序设计》、《数据库技术基础》,后续课程有《J2EE项目开发》、《Java Web应用开发实训》、《毕业实习》等。 1.2 课程设计思路 本课程标准以“开发”、“应用”为原则,彻底打破原来学科课程链路模式,根据基于工作过程专业建设模式,以能力为本位,构建以实际工作情境为单位的课程体系。课程内容的选取按照软件开发市场、软件企业、行业对Web开发程序员的需求情

Web UI设计基础知识

色彩设计 美学相关的知识(色彩构成、平面构成等等)我就不再赘述了,相信从事此类行业的人员无人不知无人不晓了。这里简要说说WebApp设计中,色彩以及构图的特别之处吧。 首先是色彩。从事过广告和印刷业设计工作的人员应该都接触过一种东西,那就是标准色板。颜色是什么?你所看到的未必就是真的,反言之,真的你未必会看得到,呵呵,说的有些抽象了。还是举个实际例子吧,#f0f0f0这个很浅的灰色,目前80%的客户都已经升级到LCD显示器了,而大部分LCD显示器是无法正确显示这个的,即使显示了,各款显示器也会有很大的差异,为什么会这样?源于LCD的面板类型,LCD面板大概分为以下几种类型:NT、VA、IPS。VA和IPS面板的显示能力都可与CRT媲美了,虽然价格比较高,但其超大的可视角度(178)和完全的色彩还原,实为设计师们抛弃CRT的一剂强心剂(当然,大多数专业的图形设计师,这辈子都无法舍弃钻石珑CRT,呵呵,不一样就是不一样)。而NT面板占当前市场的绝大部分,原因就是它响应速度快,造价低廉。22寸的LCD只卖20**不到,不用看都知道其采用的一定是造价低廉的NT面板,NT面板由于其固有的技术限制,其显示能力仅仅是16.2M色(目前的16.7M色NT面板应该是采用震荡模拟的方式实现的),颜色是设计师的命根子,缺颜色,就意味着你苦心打造的设计很可能到了客户那里完全走了样。我曾见过很多界面,选用的都是这些浅浅的灰色,看起来倒是很淡雅,但是,你真的考虑到了用户实际工作环境么?假如他用的恰好是一款不怎么出彩的廉价LCD,那你的设计岂不是要让人嗤之以鼻了?综上所述,首先,设计师必须保证自己的设计有很好的易曲性——在各种复杂环境下都要保证“可用”且不出现严重的视觉干扰。你需要至少在CRT和NT面板的LCD上检查自己设计,看看是否有因为缺色而导致的布局异常和视觉干扰,在这里,我不得不BS一下Microsoft的live mail,在缺色的NT面板下,完全走了样,既看不出边框,也没有了底色,这绝对是失败的视觉设计,相比之下,Yahoo!mail的设计就要好上百倍了(包括二者的Portal也同样如此)。 除了使用环境的硬件差异,还有一点就是色彩设置的差异(甚至有时候是显卡太差导致的),那种只支持增强16位色的PCI插口显卡基本已经绝种了,要知道,那可是奔腾MMX**的经典之作。目前最底端的显卡,也支持至少24位真彩色了,而支持32位色的显卡更是遍地都是。但是,仍然有人在不知情(“不会”使用电脑的软件用户真不占少数)的情况下使用了16位增强色的设置,带来的后果呢,自然是难看的等高线和恶心的色彩搭配。 综上所述,因为WebUI的受众十分广泛且不确定,而由于技术架构的特点,我们不能也不想对最终用户要求什么(如果要求人家装这改那的,还不如做个Setup来得实际)。因此,充分保证你的设计的易曲性,是每一名WebUI设计师在作视觉设计时首先应该把握好的一个尺度。桌面应用由于其硬件环境的可控性,是可以超前和华丽的,但是,Web设计,尤其是基于Web的企业级应用的用户界面设计,就必须要让自己随时保持清醒的头脑。看看Javaeye的界面,它很朴素但很美观,我相信,没有人会对他特别的喜欢或者特别的厌恶,如果搞一个投票,相信80%的人都会表示接受,而另外20%的人应该会表示无所谓。这就是UI视觉设计中追求的80/20原则,我们不需要特别华丽的外观,只要80%以上的人满意。这里再提一下Ext,扪心自问,有多少人是被他的外观吸引的呢?外观的喜好会让人产生强烈的先入为主的观念,这也正是为什么大多数应用软件都喜欢在外观上求突破做概念的原因了(好多软件版本升级最大的改进便是外观)。但是,行业软件绝对不是以外观的华丽来取胜的,或者说,当前国内市场上,行业软件尚未达到那种只能在外观上寻求突破的高度。因此,作为应用软件领域的UI设计师,你可以去做做概念,吸引一下人们的眼球,来获取一席之地。但行业软件的UI设计师绝对不应该把自己主要的精力放在视觉设计上,这不仅会让你迷失方向,也会让你们的产品迷失方向。 构图和视觉风格设计 我们只讨论以下三类常见的应用,至于3D界面和虚拟现实暂不讨论了,它们是:Web应用、桌面应用、移动设备。 首先我们来看一下桌面应用,可以这样说,操作系统是桌面用户界面设计的领头军,换言之,UI设计师在进行桌面UI设计时,首先应该考虑的就是操作系统环境。而往往,某个特定软件环境下的桌面应用,UI也是有诸多限制的,这个限制,就是系统固有的交互风格设定。举例来说,我们经常会在看到某一软件界面后这样说“哇,还是Mac风格的好看!”“这个是用.Net开发的吧”“Swing做的破东西太难看了,还贼慢”,为什么会出现这样的情况呢?因为,大多数情况下,我们在某个操作系统环境下进行软件的设计与开发,其组件和控件必然会不可避免的使用操作系统自身提供的UI API,也就是说,无论你做什么样的软件,都需要遵从相关操作系统用户界面的开发规范。Windows有个Offcial Reference,在MSDN 上。同样的,Apple,Java乃至Nokia,他们都有相应的长篇累牍的API文档和开发规范。那么,这里又不得不提到了Ext,Ext的API文档是什么?呵呵,它与以上这些操作系统的GUI规范无异,它的API文档就是它的开发规范。所以,我曾经这样讲“Ext再怎么折腾,也是Ext”,现在各位应该真正了解我的意思了吧。Ext在我看来,已经不是Web UI了,我更倾向于把它归结为桌面UI的Windows系列内。桌面UI有个最基本的衡量标

相关主题
文本预览