第一章 Java web技术概述
1.2 Web常用技术
1.2.2 URL和URI
URL通常由四部分组成:
-
协议名称
-
所在主机的DNS名
-
可选端口号
-
资源的名称
http://www.baidu.com:80/index.html
http://localhost:8080/index.html
URI由模式和模式特有部分组成,他们之间用冒号隔开
schema:schema-specific-part
-
常见模式有:file、ftp、http...
-
模式特有部分没有特定的语法,但很多都具有层次结构的形式,例如://authority/path?query
URL与URI不同,URI没有指向某个位置的某个资源名称,页不指定如何访问资源。
1.2.3 HTML和XML概述
一个HTML文档一般包含两类信息:一类是标记信息,另一类是文档的字符数据。
1.3 服务器资源
1.3.1 主动资源与被动资源
-
被动资源(静态资源)
-
主动资源
1.3.2 静态文档和动态文档
-
静态文档:客户发出对该文档的请求,服务器返回这个文件。
-
优点:简单
-
缺点:不够灵活
-
-
动态文档:文档内容可根据需要动态生成
-
服务器端动态文档技术(重点)
-
客户端动态文档技术(重点)
-
1.3.3 服务器端动态Web文档技术
- CGI技术(效率低)
公共网关接口(Common Gateway Interface)是在服务器端生成动态Web文档的传统方法。CGI是一种标准化的接口,允许Web服务器与后台程序和脚本通信,这些后台程序和脚本能够接收输入信息,访问数据库,最后生成HTML页面作为响应。
-
httpd在接受到一个对CGI程序的请求时,并不返回该文件,而是执行该文件,然后将执行结果发送回服务器。
-
从CGI程序到服务器的连接是通过标准输出是实现的,所以CGI程序发送给标准输出的任何内容都可以发送给服务器,服务器再将其发送给客户浏览器。
-
CGI编程的主要优点体现在其灵活性上,可以用任何编程语言编写CGI程序。
- 服务器扩展技术
使服务器执行单独的可执行模块,当服务器启动时该模块就装入内存并只初始化一次。然后,就可以通过已经驻留在内存的、准备提供服务的模块副本为每个请求提供服务。这些独立的可执行模块称为服务器扩展。在Java平台上,服务器扩展是使用Servlet API编写的,服务器扩展模块叫做Servlet容器。
- 在HTML页面嵌入脚本技术
另一种实现动态文档技术是在Web页面嵌入某种语言的脚本,然后让服务器来执行这些脚本以便生成最终发送给客户的页面。
1.3.4 客户端动态Web文档技术
通常使用js结合DOM(文档对象模块,其实就是获取html标签,然后可以对其进行操作)技术实现客户端动态Web文档技术。
客户端动态文档的技术和服务器端的技术是完全不同的。
-
服务器端动态文档技术的页面,代码是在服务器端执行的
-
客户端动态文档技术的页面,代码是在客户端执行的
1.5 Servlet和JSP入门
Web容器
Web服务器使用一个单独的模块装在和运行Servlet与JSP页面,这个模块称为Servlet容器或Web容器。Tomcat就是一个Web容器,