资源预览内容
第1页 / 共126页
第2页 / 共126页
第3页 / 共126页
第4页 / 共126页
第5页 / 共126页
第6页 / 共126页
第7页 / 共126页
第8页 / 共126页
第9页 / 共126页
第10页 / 共126页
亲,该文档总共126页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章. 服务器端开发技术- Servlet,对外经济贸易大学信息学院,第五章. 服务器端开发技术- Servlet,第一节.Servlet概述 第二节.Servlet的开发环境及程序结构 第三节.Servlet基础 第四节.会话跟踪 第五节.JDBC访问数据库,第一节 Servlet概述,1. Servlet的作用 Servlet技术是使用Java技术开发Web应用的基础,后面讲述的JSP也是在它的基础上发展起来的。Servlet技术支持创建动态的Web页面,即页面内容根据用户输入或其他变量数据而改变的Web页面(动态页面),这就极大地增强了应用开发的能力。 Servlet是一个基于Java语言实现的服务器端组件,它可以被用来扩充Web服务器的功能。Servlet可以简单地看作一个Java类。与一般类的不同之处是,这个类的开发有一些规范,而且最终该Java类运行在一个服务器端的Servlet容器内,通过容器提供会话管理和对象生命周期管理。,2. Servlet的优点 Servlet效率更高、更容易编程、功能更强、更安全和具有良好的可移植性,因而成为主流的动态网站技术。 Servlet最大的优势在于它的高性能,Servlet采用了和CGI不同的运行方式,一个Servlet在第一次初始化时装载并驻留在内存中,以后直接从内存中运行,不像CGI程序那样每次都要重新装入内存。其次,在默认情况下,Servlet以单实例多线程的方式工作,一个新请求到达后,Servlet实例开启一个新的线程来服务于这个请求,而不像CGI需要开启一个进程。Servlet继承了Java的所有优势,包括易升级以及平台无关性,在进行程序编写的时候可以调用Java所提供的大量的API。,3. Servlet的基本工作原理 一个Servlet在服务器端由称为Servelt容器(也有称为servlet引擎)的程序来解释执行,可以把Servlet理解成Server上的applet,Servlet在被调用后会被动态地载入到容器由容器解释执行,这样通过Servlet包含的功能就扩展了Web服务器的功能。Servlet可以在服务器端接收客户端的请求并给出响应,客户端的请求和Servlet的响应的典型通过HTTP协议来完成。一个客户端程序(Web浏览器或者其他的可以连接上Internet的程序)会访问Web服务器并发出请求,这个请求最终被运行在Web服务器上的Servlet容器接收,并交给Servlet处理,Servlet通过HTTP协议将它的响应通过容器转发到客户端。,Web服务器和Servlet容器可以是两个独立的松耦合的应用程序(图表5-2),也可以是紧密集成的一个应用程序(图表5-3)。从图表5-2和图表5-3显示了一个典型的基于Servlet和JSP(一种Servlet的变体)的Web应用程序,包括若干Servlet或者JSP文件,也可能包含许多HTML文件和图片等其他资源文件。客户端对于Servet的访问先到达Web Server,如果访问的是HTML文件和图片这样的静态资源文件,Web Server会直接处理并给出响应,而如果访问的是Servlet,那么通过Servlet容器去执行Servet并给出响应。浏览器或者其他应用程序一般通过HTTP协议访问Web Server。典型的,浏览器通过HTTP协议访问Web Server, Web Server返回给浏览器HTML格式的数据。而客户端应用程序可以通过HTTP协议访问服务器端的应用,服务器端的应用程序通过Web Server可以返回给客户端应用程序HTML格式的数据、XML格式的数据或者应用约定格式的数据。,第五章. 服务器端开发技术- Servlet,第一节.Servlet概述 第二节.Servlet的开发环境及程序结构 第三节.Servlet基础 第四节.会话跟踪 第五节.JDBC访问数据库,第二节 Servlet的开发环境及程序结构,1.开发环境安装及测试 (1)开发环境概述 进行Servlet开发所需要的基本环境是JSDK(Java Servlet Development Kit)、一个支持Servlet的Web服务器、集成开发工具。集成开发工具提供了一个集成的开发环境,使用它可以编辑、编译和调试Servlet代码;JSDK包含了编译Servlet应用程序所需要的Java类库以及相关的文档;支持Servlet的Web服务器用于发布开发好的Servlet程序并进行测试。另外,如果Web应用程序需要访问数据库,那么需要安装数据库服务器(见JDBC访问数据库一节)。,开发工具有很多,比如JBuilder、Eclipse、Visual Cafe、 WebLogic Workshop、JRUN和Microsoft Visual J+等。在本书中采用了JBuilder进行编辑、编译和调试Servlet。 JSDK包含了编译Servlet应用程序所需要的Java类库以及相关的文档。一般安装完一个支持Servlet的Web Server后,他们都在自己的安装目录下有一个lib的目录,该目录下包含JSDK包,也可以去Sun公司的网站下载JSDK开发包。 常用的支持Servet的容器有Resin、Apache Tomcat、IBM Websphere、BEA WebLogic Server等等。在实际进行Java Web项目实施的时候,我们可以采用的商业java Web服务器有IBM WebSphere,Bea Web Logic 等。它们的功能齐全而强大,支持所有的java 服务容器标准,适合成品商业Web应用的发布。但是由于它们是商业服务器,价格昂贵,而且对系统资源要求极高。特别是配置复杂,开发的难度很大,尤其不适合初学者。本教材面向的是学校的教学,在选择开发软件环境的时候必须考虑学校和学生的实际条件。因为Resin对资源要求不高,配置比较容易,学校实验室和学生本人都有条件使用Resin。因此,在本书关于Servle和JSP的开发中,都将采用Resin 作为Web服务器。其下载Resin的网址如下:http:/www.caucho.com/download/index.xtp,(2) Resin的安装 安装Resin的步骤如下: 安装JDK 在安装Resin之前要先安装JDK(建议版本在1.4以上)。 拷贝Resin目录 安装完JDK之后如果要安装Resin,只需要把Resin文件夹 (下载后的Resin压缩文件展开后的文件夹) 拷贝到机器的特定目录下就可以了,不需要其他配置操作。 启动RESIN 拷贝完毕后,要启动RESIN直接执行httpd.exe即可。 测试 启动后,即可测试是否工作正常,方法是在浏览器里面输入http:/机器名:8080即可(如果是本机也可以输入 http:/localhost:8080)。,Resin安装完毕后的目录结构大致如下图:,从上图可以看出,Resin安装在d:resin-2.1.16文件夹下,版本号是2.1.16。其中在子文件夹bin下的httpd.exe是可执行程序,子文件夹conf目录下存放配置文件。建议把所开发的应用程序存放在路径为Webapps文件夹下。另外注意,在lib子文件夹下有很多jar文件,其中jsdk23.jar是执行servlet时需要到的包,这个文件里面包含与开发Servlet有关的包和很多类,我们在Jbulider或者其他开发工具中要指定使用这个包(具体方法见Jbuilder)。,(3) Resin环境测试 安装好Resin后,我们可以启动Resin服务器,方式是执行httpd.exe即可,启动后屏幕显示结果如下图,仔细确认屏幕,如果其上没有出错提示,那么表示Resin已经启动。启动后屏幕显示结果 如下:,为验证Resin是否工作正常,我们需要打开浏览器测试一下,在地址栏输入http:/localhost:8080,如果屏幕出现类似下面内容,表示Resin工作正常。,2.配置Web应用 一般一个Web应用发布时都会有一个自己发布区,这个发布区往往对应一个物理的目录,所有发布的html文件、图片文件、样式表、Servlet类、JSP文件和其他一些描述性文件等都要放到这个目录及其子目录下。Rein安装好后,我们需要做一些配置,才能达到这些目标,配置需要修改Resin服务器的配置文件。 (1)Resin的配置文件 Resin的配置文件是resin.conf,位于安装目录的conf目录下(比如D:resin-2.1.16conf)。resin.conf是一个XML格式的配置文件,这个配置文件由很多标记组成。其中有两个标记对非常重要,它们是标记对和标记对,配置经常需要修改它们。,标记对 标记是用来配置Resin所使用的资源,一般用来声明管理资源,如数据库驱动程序等。典型的是访问数据库的配置,下例是Resin中对于JDBC访问数据库的配置: jdbc/test javax.sql.DataSource jdbc/test是外部使用,标记对 在标记对中的配 置和resin的Java Web 服务器有关。找到,在标记对里的id属性和 app-dir子标记非常重要。id属性表示该应用的 Web路径。如,表示该 应用在Web上访问的时候应该用http:/机器名 /shopping/来访问。app-dir属性表示该应用的实际 路径。如: d:resindoctest 表示该应用在d:resindoctest目录下。,(2)配置自己的Web应用 假设我们有一个welcome.html的网页、一个counter.jsp的JSP文件和一个类名为RequestInfoExample.class的Servlet,现在要发布它们到一个支持Java的Web服务器上,访问的URL分别为: http:/localhost:8080/myweb/welcome.html http:/localhost:8080/myweb/counter.jsp,修改Resin的配置文件 为了做到这点,需要修改Resin的配置文件resin.conf,在该配置文件中的中需要增加一个和其他并列的标记,指定id=/myweb,同时在的子标记中指定D:resin-2.1.16myweb,其他标记和值暂时忽略不变。该配置文件内容如下: D:resin-2.1.16myweb 4096 30 true true 修改配置文件后,一定记住要重新启动Resin,以便使新的修改被重新加载从而生效。,HTML网页的发布及测试 使用记事本或者网页编辑工具编辑如下html代码并保存到前面配置的D:resin-2.1.16myweb目录下,文件名为welcome.html。welcome.html内容如下: Welcome, have a nice day. 打开浏览器,在地址栏输入http:/localhost:8080/myweb/welcome.html,就可以看到网页的执行结果。,JSP的发布及测试 同样,使用记事本或者网页编辑工具编辑如下JSP代码并保存到前面配置的D:resin-2.1.16myweb目录下,文件名为counter.jsp。counter.jsp,其内容如下: Counter 欢迎,访问次数: 打开浏览器,在地址栏输入http:/localhost:8080/myweb/counter.jsp,就可以看到JSP的执行结果。多刷新几次或者关闭浏览器重新访问看看结果会如何。,3.第一个Servlet (1)编写及编译Servlet Java Servlet API是一个标准的Java扩展程序包,和Servlet相关的有javax.servlet和javax.servlet.http两个Java包。对于想开发基于客户自定义协议的开发者,应该使用javax.servlet包中的类与接口;对
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号