
1.1 Web的相关概念
我们其实经常与Web打交道,例如,大家经常上百度查找资料,上淘宝购物等。那么什么是Web?Web是一个可通过互联网来访问的、由许多互相链接的超文本(HyperText)组成的系统。
Web的主要角色是浏览器(又称为客户端)和服务器(网站),它们的交互过程是这样的:用户打开浏览器,输入网址后按回车键,这时浏览器就会向网址所代表的服务器(网站)发出HTTP请求,该请求经过网络传输后到达服务器,服务器做出响应后再把结果(Web页面)返回给浏览器。简单来说就是浏览器发出请求,服务器做出响应。
Web服务器又称为WWW(World Wide Web,万维网)服务器、HTTP服务器或网站服务器,它将信息用超文本组织起来,并为用户在Internet上搜索和浏览信息提供服务。
Web服务器实际上是安装在高性能、高可靠性的计算机上的软件系统。常见的Web服务器有Microsoft IIS、IBM WebSphere、Oracle WebLogic、JBoss、Apache Tomcat等。一个Web服务器可以安装多个Web应用,一个Web应用就是一个相对独立的提供信息服务的“网站”,每个Web应用又包含多个Web页面。
Web应用在提供信息服务之前,所有信息都必须以文件的方式事先存放在Web服务器磁盘中的某个文件夹下,其中包含了由超文本标记语言(HyperText Markup Language,HTML)组成的文本文件,这些文本文件就称为Web页面或网页文件。
Web页面是一种可供人们通过网络访问的Web资源,Web资源又分为两部分:静态Web资源与动态Web资源。静态Web资源是指Web页面中供人们浏览的数据始终是不变的,如HTML页面、CSS文件、图片等。动态Web资源是指Web页面中供人们浏览的数据是由程序产生的,不同时间点访问Web页面看到的内容各不相同,如Java服务器页面(Java Server Pages,JSP)。
Java Web是用Java技术来解决Web领域的相关技术的总和。Web包括Web服务器和Web客户端两部分。Java在服务器端(简称服务器或服务端)的应用非常丰富,如Servlet技术、JSP技术和第三方框架等。其中,Servlet和JSP技术也是本书要重点讲解的内容。
Java的Web框架虽然各不相同,但基本都遵循特定的路线:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定、XML(可扩展标记语言)或Annotation实现配置,运用面向对象编程思想实现请求与响应的流程,使用JSP、FreeMarker、Velocity等实现视图。
上面提到的MVC是“模型(Model)-视图(View)-控制器(Controller)”的缩写,是一种软件设计典范,它用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。而XML则是“EXtensible Markup Language”的缩写,是标准通用标记语言的子集,是一种用于标记电子文件,使其具有结构性的标记语言。