JSP概述第一章本章主要内容•静态网页与动态网页•Servlet2.4概述•JSP2.0概述•上机实验环境的搭建•第一个JSP程序的编写(下载源码就到源码网:)1.1静态网页和动态网页•1.1.1静态网页•1、静态网页:是指用HTML标记语言等来编排,页面中的内容固定不变,存盘后一般以*.html、*.htm等文件形式存在的网页。•2、静态网页的优点1)访问响应速度快。2)容易被搜索引擎收录。•3、静态网页的缺点1)缺乏交互性。2)维护工作量大•4、URI与URL1)URI:Web上的资源通过一个通用资源标志符(UniversalResourceIdentifier,URI)进行定位。URI一般由三部分组成:访问资源的命名机制、存放资源的主机名、资源的路径和文件名。1.1静态网页和动态网页1.1静态网页和动态网页2)URL:URL是UniformResourceLocation的缩写,译为“统一资源定位符”。URL是Internet上用来描述信息资源的字符串,主要用在各种客户程序和服务器程序上。采用URL可以用一种统一的格式来描述网络中的各种信息资源,包括文件、服务器的地址和目录等。1.1静态网页和动态网页URL的格式由三部分组成:第一部分是协议(或称为服务方式),第二部分是存有该资源的主机IP地址或域名(包括端口号),第三部分是资源的具体地址。例如:中,协议为http,主机名为localhost(默认端口号为80),资源地址为主机上的“/jsp/exam.jsp”。1.1静态网页和动态网页有一个URL如:htpp://localhost/exam.jsp?ID=908&username=tomcat,在“?”号后的name=value对称之为URL查询串,表示客户端给exam.jsp提交的参数,参数间用“&”符号连接,在此例中给exam.jsp传入了两个参数:ID和username。URL是URI命名机制的一个子集。1.1静态网页和动态网页•1.1.2动态网页•1、动态网页:是指网页中的关键内容在服务器端动态生成的网页。动态网页和静态网页相比,最本质的区别在于:一个动态网页会被服务器当作一个程序来执行,网页中静态内容服务器不作任何处理,直接输出给客户端,动态网页部分的代码会被服务器识别并执行;而静态网页则不会被服务器视为程序,网页中的内容不会被服务器运行。1.1静态网页和动态网页•2、动态网页的优点1)能够访问服务器端的数据库。2)具有交互性。3)网页维护的工作量有所减少。•3、动态网页的缺点1)不利于搜索引擎的信息收集。2)数据库访问是一个瓶颈。1.2Servlet与JSP•1.2.1Servlet技术•1、Servlet技术Servlet称为Java的服务器端应用小程序,是Sun的服务器端组件技术之一。Servlet的基本功能与CGI类似,属于Web服务器扩展,是Java平台下实现动态网页的基本技术,具有占用资源少、效率高、可移植性和安全性强等特点。1.2Servlet与JSP•Servlet应用模型如图1-1Servlet客户端EJB组件JavaBean组件数据库JDBC1.2Servlet与JSP•2、Servlet2.4的新特征•Servlet2.4相对Servlet2.3变化不是非常大,主要有以下几个方面的改变:1)web.xml的文件类型声明改用XMLSchema2)新的SevletRequest接口3)RequestDispatcher的变化4)ServletRequest侦听器5)SingleThreadModel被取消6)其它更新1.2Servlet与JSP•1.2.2JSP概述•1、JSP与Servlet的关系:•Servlet向客户端返回的内容需要用out.print()输出,不便于网页版面的设计和修改。为了解决这个问题,Sun制订了JSP技术规范,JSP网页版面的设计与维护可通过DreamWeaver等工具软件来实现,比Servlet要直观和容易。•JSP页面最终会被JSP服务器编译成一个Servlet程序来运行。1.2Servlet与JSP•2、JSP2.0新特性JSP2.0需要Servlet2.4支持。JSP2.0中新增的特性主要有:1)支持EL和JSTL1.1。2)支持SimpleTag接口和JSPFragment,用户自定义标记更为简单。1.3上机实验环境的搭建•1.3.1安装J2SE1.5•J2SE(Java2StandardEdition,Java2标准版)主要为PC机和服务器提供Java的编程环境和运行时环境,一般也简称为JDK(JavaDevelopmentKits,Java开发包)。建议安装Sun公司的J2SE1.5或以上版本,安装过程的注意事项如下:1.3上机实验环境的搭建•1)J2SE的安装文件夹本书要求将JDK安装至c:\jdk文件夹中,方便后续的配置。•2)J2SE的运行参数配置JDK安装完毕后,需要为JDK配置三个系统环境变量:java_home=c:\jdkclasspath=.;c:\jdk\lib\dt.jar;c:\jdk\lib\tools.jarpath=……;c:\jdk\bin1.3上机实验环境的搭建•1.3.2安装Tomcat5.5•1、Tomcat5.5的安装与配置Tomcat是支持Servlet和JSP技术规范的Web服务器软件,是Apache软件基金会管理下的一个开源项目,可免费下载使用,其核心代码来自Sun公司。最后为Tomcat添加环境变量:tomcat=c:\tomcat。Tomcat5.5安装过程的录相请参考电子资源包demo\ch1\tomcat.exe文件。1.3上机实验环境的搭建2、Tomcat5.5.17的文件夹结构Tomcat5.5.17主要文件夹结构如图1-21.3上机实验环境的搭建•各文件夹的基本功能如下:1)c:\tomcat\bin文件夹这个文件夹主要存放Tomcat的脚本文件和可执行文件。startup.bat是Windows环境下启动Tomcat服务器的批处理文件,双击运行这个文件会弹出一个命令行窗口,显示启动过程的各步信息,如果关闭此窗口,则表示关闭Tomcat服务器。1.3上机实验环境的搭建Tomcat启动成功后,打开IE5浏览器,在地址栏中输入“”并回车后,会看到图1-3示的画面。1.3上机实验环境的搭建1.3上机实验环境的搭建2)c:\tomcat\common\lib文件夹这个文件夹下存放*.jar形式的公用类库文件,这些类库文件可供Tomcat管理下的各个web应用所共享。3)c:\tomcat\conf文件夹这个文件夹主要存放Tomcat的全局配置文件。Tomcat是一个基于组件的Web服务器,各组件在server.xml中定义和配置,如侦听端口号、虚拟主机、上下文(Context)、连接超时时间等。server.xml的基本结构如下示:1.3上机实验环境的搭建1.3上机实验环境的搭建•server.xml文件中各元素的主要功能说明如下:•Server组件:Server是单实例(Singleton)的,它一般用来代表整个JVM,在JVM中包含有一个或多个Service实例。Server在指定端口上侦听“shutdown”关机命令。Server不是容器,所以不要给它直接定义日志等组件。•Service组件:一个Service中可以有多个Connector和一个Engine。Engine被Service中的一个或多个Connector所共享。Service也不是容器1.3上机实验环境的搭建•Connector组件:它是客户端和Tomcat容器类元素间的通信接口,用于接收客户端的request请求,然后转发给Engine处理,并把返回的处理结果传递给客户端。Tomcat中此项的默认配置参数如下:Connectorport=8080maxHttpHeaderSize=8192maxThreads=150minSpareThreads=25maxSpareThreads=75enableLookups=falseredirectPort=8443acceptCount=100connectionTimeout=20000disableUploadTimeout=trueURIEncoding=GB2312/……/Connector1.3上机实验环境的搭建•Engine组件:Engine是处理request请求的入口。当把Tomcat当作独立的Web服务器时,Engine实例为Tomcat提供分析HTTP报头的功能,从中抽取出request请求,并转发给合适的虚拟主机。Tomcat此项的默认配置是:Enginename=CatalinadefaultHost=localhost……/Engine1.3上机实验环境的搭建•Host组件:一个Host代表一台虚拟主机。所谓虚拟主机,就是把一台运行在互联网上的Web服务器划分成多个“虚拟”的服务器,每一个虚拟主机有独立的域名,各虚拟主机独立工作。一个Host的典型配置如下示:Hostname==c:\host2unpackWARs=trueautoDeploy=true……/Host1.3上机实验环境的搭建•Context组件:一个Context代表虚拟主机中的一个Web应用。为了方便客户端通过URL访问Web应用中的资源,需要给每个Web应用定义一个URL名,即虚拟路径,在JSP中称之为上下文路径(ContextPath)。在URL中通过上下文路径指明访问的是虚拟主机中哪个Web应用中的资源,此时的URL写法为:http://主机名:端口/上下文件路径名/资源路径/资源名1.3上机实验环境的搭建可用Context元素定义一个Web应用上下文路径,它的典型使用格式如下示:1.3上机实验环境的搭建Context元素中常用的参数说明如下:•docBase:指明一个Web应用所在的物理文件夹名•path:定义Web应用的上下文路径名,上下文路径第1个字符一般为“/”。•reloadable:此属性取值为“true”时,表示让Catalina监控Web应用中WEB-INF\classes文件夹和WEB-INF\lib文件夹下文件的变化。•cookies:取值为true时表示使用cookies存储session隐含对象的ID号,默认值为true1.3上机实验环境的搭建•backgroundProcessorDelay:此项属性取值为一个正整数n时,表示让Web应用在n秒钟延时后启动一个后台处理线程检查sesison超时或WEB-INF\classes文件夹下程序文件的变化。默认取值为-1,表示使用父主机中的处理线程完成检查任务。•crossContext:取值为true时,表示允许在当前Web应用通过ServletContext.getContext()方法获取当前虚拟主机中其它Web应用的request转发对象(RequestDispatcher)。默认值为false,则调用getContext()方法时会返回null。1.3上机实验环境的搭建•4)c:\tomcat\work文件夹这是一个临时文件夹,主要存放各JSP文件编译后得到的Servlet程序、日志和临时文件等。•5)c:\tomcat\webapps文件夹Tomcat默认的虚拟主机是localhost,它默认的Web应用发布文件夹是webapps。在此文件夹下发布的Web应用通过URL即可直接访问,不需要在Context中进行配置。1.3上机实验环境的搭建webapps\ROOT文件夹是localhost主机默认的Web应用,其主页通过来访问。webapps