章
JavaWeb概述
1.1软件架构类型
在Web项目开发的过程中,通常会在两种基本架构中选择,即C/S架构和B/S架构。C/S是Client/Server的缩写,即客户端/服务器架构模式;B/S是Browser/Server的缩写,即浏览器/服务器架构模式。
1.1.1C/S架构
采用C/S架构的Web项目,会将任务合理地分配到客户端和服务器端,降低了系统的通信开销,使得两端硬件环境的优势被充分利用。早期的软件系统多以C/S架构作为首选设计理念,通常需要安装专门的客户端软件才能进行管理操作。客户端与服务器端的程序不同,客户端程序的主要作用是完成用户的具体业务;服务器端程序的主要作用是数据管理、数据共享、数据及系统维护和并发控制。虽然采用C/S架构的项目开发较为容易,操作简便,但应用程序的升级和客户端程序的维护都较为困难。C/S架构模式如图1-1所示。
图1-1?C/S架构模式
C/S架构的主要优点如下:
①客户端与服务器直接相连,响应速度较快。
②安全性较高。
C/S架构的主要缺点如下:
①C/S架构只适用于局域网,然而随着互联网技术的飞速发展,移动办公和分布式办公越来越普及,要求系统必须具有可扩展性。远程访问需要专门的技术才能实现,同时要对系统进行专门的设计来处理分布式数据。
②在客户端需要安装专用的软件,开发成本和维护成本较高。任何一台客户机出现故障,如病毒入侵、硬件损坏,都需要重新安装软件或升级维护。系统软件发生改动后,每台客户机都需要重新安装。
③客户端的使用会受到操作系统的限制。某些客户端可能只适用于Windows7系统,但不适用于Windows8系统、WindowsXP系统或者其他操作系统,如Linux系统、UNIX系统等。
1.1.2B/S架构
B/S架构主要使用不断成熟的WWW浏览器技术,结合多种客户端脚本语言(VBScript、JavaScript等)和ActiveX技术来实现。对于C/S架构中需要复杂的专用软件才能实现的功能,采用B/S架构后使用通用浏览器就可以实现,并且节约了开发成本,是一种全新的软件系统构造技术。自从Windows98系统和Windows2000系统将浏览器技术植入操作系统内部后,B/S架构就成了当今应用程序的首选体系结构。
用户可以通过浏览器访问互联网上的数据、图片、视频等信息。这些信息通常由多个Web服务器产生,每个Web服务器又通过不同的方式与数据库服务器连接,故大量的数据存放在数据库服务器中。通常客户端除了浏览器外,不需要安装任何应用软件,只要把需要的数据从Web服务器上下载到本地即可。下载过程中若遇到数据库的相关指令,Web服务器会将其交给数据库服务器执行,执行完毕后,将结果传送到Web服务器中,Web服务器再返回给用户。B/S架构模式如图1-2所示。
图1-2?B/S架构模式
B/S架构的主要优点如下:
①用户可以随时随地进行查询、浏览等操作。
②业务扩展简单、方便。
③维护成本低,只需要对服务器端进行维护。
④共享性强。
B/S架构的主要缺点如下:
①响应速度不如C/S架构,但随着Ajax技术的发展,B/S架构的响应速度已得到提升。
②用户体验效果不佳,B/S架构需要单独的界面设计,不同供应商提供的界面千差万别。由于浏览器具有刷新机制,使用时会出现刷屏情况,但Ajax技术解决了这一问题。
③安全性较差。
1.2Web项目开发技术
1.2.1动态网页技术
动态网页与静态网页是相对的概念。在服务器与用户交互的过程中,网页的URL并非一成不变。动态网页技术主要用于完成查询、提交等操作。常用的动态网页开发语言有ASP、PHP和JSP。
ASP(ActiveServerPages)是一种基于VBScript的网页开发语言,简单易学。COM组件对ASP语言的功能进行了扩充。ASP支持的开发平台多,在低访问量的网页中效率比较高,是中小型网站的首选开发语言。但由于ASP沿袭了WindowsNT系统设计中存在的安全问题,在使用组件或进行操作时,容易受到外部攻击,从而导致系统瘫痪。ASP无法实现跨平台开发与运行,因此应用范围受到了限制。
PHP(HypertextPreprocessor)是一种HTML内嵌式语言。它结合了Java、Perl、C语言的语法,且新增了专属语法,与HTML语言具有非常好的兼容性。开发者可以直接在脚本代码中添加HTML标签,或者在HTML标签中嵌入脚本代码,从而更好地实现页面控制。PHP提供了标准的数据库接口,支持多种数据库,如SQLServer、MySQL、Sybase、Oracle等,且连接方便,兼容性、扩展性强。PHP支持面向对象编程。PHP大的优点是支持跨平台操作,良好的安全性和与Apache扩展库的紧密结合受到了不少开发者的青睐。但是,由于PHP缺少组件的支持,其扩展性只能依赖PHP开发组给出的接口,使用PHP开发的应用程序无法实现商品化,只能供自己或内部使用。
1.2.2JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导,多个公司共同参与制定的一种动态网页技术标准。JSP技术类似于ASP技术,在传统的HTML文件中嵌入Java代码段和JSP标签,从而形成JSP文件。用JSP开发的Web应用程序具有跨平台的特性,既能在Windows系统中运行,也能在其他操作系统中运行。
当访问JSP页面时,Web服务器会把JSP翻译成包含Servlet类的Java文件,再编译成.class文件在JVM上执行,把执行结果返回到客户端。由于支持跨平台运行,使JSP具有强大的伸缩性,同时开发工具的多样性为其提供了有利的条件。
Servlet技术是JSP技术实现的基础,大型Web项目的开发需要Servlet和JSP配合才能完成。JSP继承了Java技术的简单易用特点,完全面向对象,具有平台无关性,且安全可靠。
自从JSP技术推出后,很多大公司(IBM、Oracle、BEA等)都推出了支持JSP技术的服务器,使得JSP迅速成为广泛应用于商业领域的服务器端语言。
JSP可以用一种简单易懂的等式表示,即HTML+Java=JSP。
1.3Web服务器
1.3.1Web服务器概述
Web服务器又称为网站服务器,是一个安装在计算机中的程序。其功能主要有两方面,一方面支持并可运行各种开发语言;另一方面通过解析HTTP协议来接收用户的请求,并把运行的结果以HTML页面的形式返回给客户端。
1.3.2常用的主流Web服务器
(1)Apache
Apache全名ApacheHTTPServer,是目前世界上使用广泛的、免费开源的Web服务器,主要特点如下:
①具有跨平台性,可以在Windows、UNIX、Linux等操作系统中使用。
②操作简单、响应快、性能稳定。
③可以作为代理服务器使用。
(2)IIS
IIS全名InternetInformation?Server,是微软公司推出的Web服务器,主要特点如下:
①支持Windows操作系统。
②提供图形化的管理界面,操作简单。
③提供扩展接口ISAP。
④提供数据库的连接器。
(3)Nginx
Nginx是一个轻量级、高效的Web服务器,主要功能包括:响应静态文件;用来做反向代理服务器。Nginx相当于一个中间处理器,首先接收来自Internet上的连接请求,再根据请求资源的不同类型分派给对应的内部服务器,后将内部服务器运行的结果返回给客户端。近几年,Nginx服务器已成为世界第二大Web服务器,主要特点如下:
①高模块化设计,可扩展性好。
②可靠性高。
③支持热部署。
④对内存的要求低。
(4)Tomcat
Tomcat是软件基金会根据Java技术规范开发的一款免费开源的Web服务器,是Jakarta项目中的一个核心项目。Tomcat支持Servlet技术和JSP技术,主要特点如下:
①部署简单,只需要把war包部署到对应的位置即可。
②安全管理,使用Realm配置增加用户的验证功能,使用SSL协议实现加密传输。
③方便与其他服务器进行集成,如JBoss、Nginx等。
第二章
HTML与CSS
2.1HTML
2.1.1HTML概述
HTML(HypertextMarkupLanguage,超文本标记语言)是Web项目开发的基础。HTML是网页制作的标记性语言,但不属于编程语言。HTML可用于静态网页的开发,将HTML与CSS结合使用,可以制作出美观、实用、易维护的网页。
可以通过两种方式进行HTML文件的编写:手工编写HTML代码或借助某些开发软件。简单的方法是通过记事本来编写HTML文件。
2.1.2个HTML文件
HTML页面都是由标签和属性组成的,每个HTML标签都有各自的作用。
【示例】在Windows操作系统下,用记事本编写个HTML文件,在HTML页面中显示“Hello,HTML!”。
?
??个HTML文件
?
?
??Hello,HTML!
?
在记事本中编写好完整的代码后,需要将文件的后缀名改为“.html”。双击保存的HTML文件,就会显示编辑的页面,运行结果如下:
上述示例中,HTML代码由四个标签组成,即、、和<body>,这四个标签是构成HTML页面基本的元素。以上四种标签在使用时成对出现,结束标签比开始标签多一个“/”,如<title>和。
(1)标签
标签是HTML文件的开头,所有HTML文件均以此标签开头,以标签结束。HTML页面内的所有标签均在与标签内。
(2)标签
标签是HTML文件的头标签,用于存放HTML文件的头部信息,如文档的标题、在Web页面中的位置等。
(3)标签
标签是HTML文件的标题标签,用于存放HTML页面的标题。上述示例中的标题""个HTML文件""便存放于此标签中。标签在使用时被定义在标签内。
(4)标签
标签是HTML文件的主体标签,用于存放HTML页面的所有内容,是HTML文件的核心部分。标签也可用于控制页面属性,如页面背景颜色等。
补充
在HTML中,所有标签都是不区分大小写的,例如,与是一样的。
2.1.3HTML常用标签
除了上述四种基本标签外,HTML中还有很多常用标签,用于设置页面中的文字布局及图片形态等。
(1)换行标签
标签是换行标签,用于HTML页面中的文字换行。换行标签是一个单独标签,不成对出现。
(2)段落标签
标签是段落标签,用于在被标记的段落前后各加一个空行,
标签内部的内容不受影响。
(3)标题标签