1、2019年1月2日,1,第2章 搭建JSP开发环境,2019年1月2日,2,教学内容,JDK的安装 安装和配置Tomcat服务器 安装和配置开发环境-Eclipse 安装MySQL数据库 JSP实现原理 JSP运行机制 JSP基本语法,2019年1月2日,3,1、JDK的安装,安装JDK 设置JDK环境变量,2019年1月2日,4,安装JDK,JDK是Sun公司java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的Java虚拟机平台,是调试和运行JSP所不可缺少的工具。这里使用目前稳定性最好的j2se SDK v1.5.0_04版本,用户可以到Sun公司的官方(http:/
2、)网站下载它的安装文件。 其安装一直使用默认设置即可,这里不再介绍了。,2019年1月2日,5,设置JDK环境变量,2019年1月2日,6,单击“系统变量”组合框内的“新建”按钮,打开“新建系统变量”窗口,新建一个名为“JAVA_HOME”的系统变量,变量值为“c:j2sdk1.5.0_04” 。 新建“CLASSPATH”,变量值为“.;C:j2sdk1.5.0_04lib;C:j2sdk1.5.0_04libtools.jar;C:j2sdk1.5.0_04libdt.jar” 。 (“.;”中的“.” 它表示当前目录,一定要输入,否则会出现错误。 ) 在系统变量列表框内双击Path系统变
3、量,为其添加一个变量值 “c:j2sdk1.4.2bin;c:j2sdk1.4.2jrebin”,2019年1月2日,7,2、安装和配置Tomcat服务器,Tomcat是一个可以运行servlet和JSP的基于Java的Web应用软件容器。Tomcat是Apache-Jakarta项目中的一个重要的子项目,同时也是sun公司官方推荐的servlet和jsp容器。 可以到http:/jakarta.apache.org/site/downloads/去下载文件,直接解压到硬盘中,然后进入解压目录下,双击startup.bat文件,打开Tomcat,启动Tomcat服务 。然后打开IE浏览器,输入
4、http:/localhost:8080 ,将打开Tomcat的测试主页,这说明Tomcat可以正常运行。,2019年1月2日,8,2019年1月2日,9,Tomcat体系结构,2019年1月2日,10,一个Service元素代表一种服务,譬如,卖火车票是一个服务,而卖飞机票又是另一个服务,connector相当于某种服务下的一种售票方式,可以在火车站售票,也可以在售票点售票,engine用于处理买票的内部工作,不管通过哪种方式接收进来的卖票请求,内部卖票处理工作始终一样,即都是用这个engine。这个机制的好处在于有非常好的扩展性,如果想增加网上买票,只要再加上一个网上卖票的Connecto
5、r即可,engine还是原来的。,2019年1月2日,11,创建环境变量tomcat_home,变量值为 tomcat_home=“C:tomcat5.5” 并修改CLASSPATH”,变量值为“.;C:j2sdk1.4.2_06lib; C:j2sdk1.4.2_06libtools.jar;C:j2sdk1.4.2_06libdt.jar”;%tomcat_home%commonlib,2019年1月2日,12,/bin存放启动和关闭的脚本文件 /common/lib存放tomcat服务器和所有的WEB应用都能访问的JAR文件 /conf各种配置文件 /lib 包含tomcat所使用的JA
6、R文件 /logs日志文件 /server/lib包含tomcat服务器所使用的各种JAR文件,安装形成的目录,2019年1月2日,13,/server/webapps存放tomcat自带的系统管理工具/shared/lib所有的WEB应用都能访问的JAR文件/Webapps 发布WEB应用默认位置 /works JSP生成的SERVLET 某个WEB应用的WEB-INF目录下的lib存放的JAR文件只能被当前应用访问.,2019年1月2日,14,两个主要配置文件,Server.xml 全局配置文件,提供tomcat组件的初始配置及tomcat的结构和含义, tomcat服务器是由一系列可配置
7、的组件构成,在此文件中展示了各组件之间的关系,分别有: 顶层类元素 连接器类元素完成请求和响应(可以修改端口) 容器类元素为特定的service组件处理所有的客户请求为特定的虚拟主机处理所有客户请求为特定的WEB应用处理客户请求,2019年1月2日,15,在server.xml加入元素,在名字为localhost的主机元素中加入. 虚拟路径的配置,2019年1月2日,16,Web.xml WEB应用通过该文件描述其部署信息,其中包括 Servlet的定义 Servlet的初始化参数 Servlet及JSP的映射 安全域配置参数 资源引用,2019年1月2日,17,WEB应用包含的内容,Serv
8、let JSP 实用类 静态文档 客户端类 描述WEB应用的信息,2019年1月2日,18,WEB应用的目录结构,/test /test/WEB-INF /test/WEB-INF/classes /test/WEB-INF/lib,2019年1月2日,19,两个WEB界面管理工具,http:/localhost:8080/manager/html 系统管理http:/localhost:8080/admin/index.jsp 应用程序管理 需要在tomcat中配置具有系统管理员权限的用户,查看tomcat-users.xml文件,2019年1月2日,20,3、安装和配置开发环境-Eclip
9、se,如果同时使用几种开发语言开发系统,使用eclipse不需要切换开发环境。 tomcat插件安装;tomcat插件是要到下面地址下载http:/ http:/forge.objectweb.org/project/showfiles.php?group_id=97 http:/download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I 解压软件包,把目录文件分别复制到plugins目录里即可,2019年1月2日,22,配置eclipse,首先,打开配置界面 window-preferences。如果这几个插件安装成功,左边
10、的列表里应该有lomboz和tomcat的选项。如果没有,检查上面的步骤是不是正确。 点击java-Installed JREs,如果是初始安装的,只有显示系统默认的安装在c盘的jre.,2019年1月2日,23,点击tomcat选项,配置tomcat的参数,根据你安装的tomcat的版本,选择tomcat version,然户找到该tomcat的主目录,输入在tomcat home, 在左边选择jvm setting,选择刚刚加入的jre,点击apply,点击ok。,2019年1月2日,24,4、安装MySQL数据库,MySQL 因其价格(免费)而成为一种强有力的数据库,许多公司都使用 My
11、SQL 来处理它们的数据。由于许多公司都想以较低的预算进入 Web 市场,所以使用 MySQL 的公司的数量每天都在增加。开放源码社区已张开双臂欢迎 MySQL。有关这个功能强大的数据库的文档十分丰富,而且同时有 Linux 和 Windows 版本。,2019年1月2日,25,启动和停止mysql服务 D:mysqlbinnet start mysql D:mysqlbinnet stop mysql,2019年1月2日,26,5、JSP实现原理,JSP所有的程序都是在服务器端运行的,服务器端受到用户通过浏览器提交的请求,经过一定处理候再以HTML的形式返回给客户端,客户端得到的只是在浏览器
12、中看到的网页。服务器上的JSP程序负责处理客户端的请求,其程序代码对于客户端来说是不可见的。 JSP和客户端的交互是通过HTTP协议实现的。,2019年1月2日,27,这个过程主要分为以下4个步骤: 客户端和服务器建立连接 客户端发送请求 服务器发出响应 关闭连接,2019年1月2日,28,客户端首先和服务器建立连接,然后用户在客户端发出的请求信息被存储在Request对象中并发送给Web服务器,JSP引擎(通常捆绑在Web服务器上)执行JSP文件来处理Request对象,或者将Request对象转发给由JSP文件所指定的其他的服务器端组件(如Servlet组件、JavaBean组件或EJB组
13、件等)处理,处理结果则被以Response对象的方式返回给JSP引擎,JSP引擎和Web服务器根据Response对象最终生成JSP页面返回给客户端浏览器。,2019年1月2日,29,从交互过程中可以看出,服务器端在整个交互过程中是处于被动的,即服务器端不会主动的把消息发送给客户端(这里的客户端主要指浏览器)。当用户在浏览器中输入网址后,浏览器开始与指定的服务器建立连接,从而开始一次交互过程。用户平时上网浏览信息的过程就是由许多这样的交互过程组成的。,2019年1月2日,30,6、JSP运行机制,当第一次运行一个JSP页面时,JSP引擎耀完成以下操作: 将JSP文件翻译成Servlet文件(以
14、.java为后缀),它是一个完整的Java应用程序。 JSP引擎调用Java编译器编译Servlet文件得到可执行的代码文件(以.class为后缀)。 JSP引擎调用Java虚拟机解释执行class文件,并将运行结果返回给服务器。 服务器将运行结果以HTML形式作为响应返回给客户端浏览器。 JSP页面在第一次被访问时所需要的时间比较长。当该页面再次被访问时,它对应class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行class文件,因此JSP页面的访问速度会大为提高。,2019年1月2日,31,当一个JSP页面被请求时,JSP引擎首先将其和它对应的Servlet文件做比较。如果此
15、时的JSP页面比Servlet文件新,说明原来的JSP页面已经被更新了,需要重新编译;如果相同,则直接执行其原来的class文件。通过这种方法,JSP引擎可以实现JSP页面的动态更新。,2019年1月2日,32,下面通过hel_jsp.jsp的执行来了解JSP文件的执行过程。hel_jsp.jsp程序代码如下: JSP运行机制,2019年1月2日,33,声明变量之间声明变量 声明方法该方法在整个JSP页面内有效,但是在该方法内定义的变量只在该方法内有效。,7、JSP基本语法,2019年1月2日,34,声明类在之间来声明一个类,该类在页面内有效JAVA程序片断之间可以书写JAVA程序片断,2019年1月2日,35,表达式 之间可以插入一个表达式(注意:不可插入语句),实际上是out.pirntln(“”);注释,2019年1月2日,36,page指令 定义整个 jsp页面的一些属性和这些属性的值 如:,8、JSP指令标签,2019年1月2日,37,Session属性 Buffer属性AutoFlush属性,2019年1月2日,38,include指令标签用来在JSP页面内某处整体嵌入一个文件.,