1 / 25

第六章: JAVABEAN 编程

第六章: JAVABEAN 编程. JSP 工作原理与运行环境. 课  题   JSP 工作原理与运行环境. 目的要求 掌握 JSP 的工作原理及在 JDK 与 TOMCAT 下的环境配置   教学重点   JSP 的工作模式、环境配置、配置文件的修改、虚拟目录的建立 教学难点 配置文件的修改、虚拟目录的建立 教学课时 4 (含 2 课时上机) 教学方法 讲解、示例与启发式教学相结合   教学内容和步骤.

hashim-reed
Download Presentation

第六章: JAVABEAN 编程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章:JAVABEAN编程 JSP工作原理与运行环境

  2. 课  题  JSP工作原理与运行环境 • 目的要求 掌握JSP的工作原理及在JDK与TOMCAT下的环境配置   • 教学重点  JSP的工作模式、环境配置、配置文件的修改、虚拟目录的建立 • 教学难点 配置文件的修改、虚拟目录的建立 • 教学课时 4(含2课时上机) • 教学方法 讲解、示例与启发式教学相结合   • 教学内容和步骤

  3. 2.1 JSP(JavaServer Pages)工作原理 JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种 动态网页技术标准,其网址为http://www.javasoft.com/products/jsp。 在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 JSP规范给出了使用JSP页面构建Web应用程序的两个方案:JSP模型1和模型2体系结构。这两个模型的区别在于处理的位置。在模型1的体系结构中,如图1所示,JSP页面负责处理请求并将响应发送给客户端。

  4. 图 1: JSP模型1 体系结构

  5. 模型2体系结构,如图2所示,集成使用了servlets 和JSP页面。在该模型中,JSP页面用于表示层,并且servlets负责处理各类任务。Servlet作为一个控制器,负责处理请求并创建JSP页面所需的任何bean。该控制器也负责确定将该请求传递到哪个JSP页面。JSP页面检索servlet创建的对象,并提取动态内容插入在一个模板中。

  6. 图 2: JSP模型 2 体系结构

  7. 该模型促进了模型视图控制器(MVC)体系结构风格设计模式的使用。注意,早就存在多个框架能够实现该有用的设计模式,并将内容和表示真正地独立开来。Apache Struts是MVC的形式化框架。该框架非常适用于复杂的应用程序,在这些复杂的应用程序中单个请求或表单提交会产生看起来截然不同的结果。

  8. 2.2JSP运行环境 • 在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照 Sun的说法,JSP能够适应市场上包括Apache WebServer 、IIS4.0在内的85%的服务器产品。 • JSP与ASP的简单比较 • JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

  9. ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别 • 此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。 • (2)运行环境 • ① jdk,j2sdk,j2se,j2ee之间的区别: • jdk: java devolop kit -- java开发包(运行java最基本的环境) • j2sdk:在1.4版以前称为jdk,可以理解j2sdk是jdk的升级版本,所以我们只要安了j2sdk即可,JDK就没必要了。

  10. j2sdk有几个版本对应于java2的几个版本,其中j2ee需要用到开发工具就是J2eesdk了,只不过大部分应用服务器(weblogic jboss等)都内置了j2eesdk。 • j2se: j2sdk也就是标准版,一般来说j2sdk指的就是j2se. • j2ee: 也称j2eesdk,用来进行企业级开发。

  11. jre: 是java runtime envionment -- java运行环境,jdk中包括了它,但是对于不需要开发只是运行的用户是可以只单独安装jre的,所以sun提供了jre的下载,执行 JSP 代 • 码需要在服务器上安装 JSP 引擎。此处我们使用的是 Sun 的 JavaServer Web Development Kit( JSWDK )。为便于学习,这个软件包提供了大量可供修改的示例。安装 JSWDK 之后,只需执行 startserver命令即可启动服务器。在默认配置下服务器在端口 8080 监听,使用 http://localhost:8080 即可打开缺省页面。

  12. 在运行 JSP 示例页面之前,请注意一下安装 JSWDK 的目录,特别是" work "子目录下的内容。执行示例页面时,可以在这里看到 JSP页面如何被转换成 Java 源文件,然后又被编译成 class 文件(即 Servlet )。 JSWDK 软件包中的示例页面分为两类,它们或者是JSP 文件,或者是包含一个表单的 HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样, JSP 中的 Java 代码均在服务器端执行。因此,在浏览器中使用"查看源文件"菜单是无法看到 JSP 源代码的,只能看到结果 HTML代码。所有示例的源代码均通过一个单独的" examples "页面提供 Java Servlet是一种开发Web应用的理想构架。 JSP以Servlet技术为基础,又在许多方面作了改进。JSP页面看起来象普通HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP技术非常相似。利用跨平台运行的JavaBean 组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有力竞争者。

  13. ② 环境变量设置: • JAVA_HOME=c:\j2sdk1.4.2; • classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;不能少,表示当前路径) • path= %JAVA_HOME%\bin; (系统里已经有了path变量,只需要在path最前面加上去即可) • 安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat5): • CATALINA_HOME=c:\tomcat5; • CATALINA_BASE=c:\tomcat5;

  14. 然后修改环境变量中的classpath,把tomcat安装目录下的common\lib下的servlet-api.jar(此文件在tomcat5以前名为:servlet.jar)追加到classpath中去,修改后的classpath如下: • classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar; (最好再拷贝到:C:\j2sdk1.4.2\jre\lib\ext目录下) • 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 • (3)建立自己的jsp app目录

  15. ①到Tomcat的安装目录的webapps目录,可以看到ROOT,examples等Tomcat自带的的目录; • ② 在webapps目录下新建一个目录,起名叫myapp; • ③ myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; • ④ WEB-INF下新建一个文件web.xml,内容如下: • <?xml version="1.0" encoding="ISO-8859-1"?> • <!DOCTYPE web-app • PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" • "http://java.sun.com/dtd/web-app_2_3.dtd"> • <web-app> • <display-name>My Web Application</display-name> • <description> • A application for test. • </description> • </web-app>

  16. 在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下: <html> <head><title>大家好</title> </head> <body> <% out.println(" 大家好,我的第一个jsp程序"); %> </body> </html> 重启Tomcat ⑤ 打开浏览器,输入http://localhost:8080/myapp/index.jsp 即可.

  17. (4) 配虚拟目录。 ① server.xml里不再管虚拟目录了,只能配虚拟主机host,但是要记住这个host的名字,一般是localhost。另外还要记住当前的tomcat服务名,默认是<Service name="Catalina">,即Catalina ② 在tomcat的conf目录建立两级子目录,第一级是服务名,即Catalina,第二级是主机名,即localhost。 ③ 在localhost目录下,建立你想要的虚拟目录.xml文件,比如aptime.xml,那么将来在浏览器里输入http://localhost/aptime才能找到你的目录,即文件名要与将来用的目录同名。 ④ 在这个xml文件里写虚拟目录的配置:比如 <Context docBase="c:/tomcat55/webapps/aptime" debug="0" reloadable="true" crossContext="true" /> 相比原来的写法,就是不要了path,因为path就是你的xml文件名。docBase与tomcat目录或host的appBase目录无关。 ⑤ 重新启动tomcat5。 附:默认端口号8080还是在server.xml里修改。

  18. 2.3 JSP的生命周期 JSP的生命周期将分为三个阶段: ⑴装载和实例化:服务端为JSP页面查找已有的实现类,如果没找到则创建新的JSP页面的实现类,然后把这个类载入JVM。在实现类装载完成之后,JVM将创建这个类的一个实例。这一步会在装载后立刻执行,或者在第一次请求时执行。⑵初始化:初始化JSP页面对象。如果你希望在初始化期间执行某些代码,那么你可以向页面中增加一个初始化方法(method),在初始化的时候就会调用该方法。

  19. ⑶请求处理:由页面对象响应客户端的请求。需要注意的是,单个对象实例将处理所有的请求。在执行完处理之后,服务器将一个响应(response)返回给客户端。这个响应完全是由HTML标签和其他数据构成的,并不会把任何Java源码返回给客户端。⑶请求处理:由页面对象响应客户端的请求。需要注意的是,单个对象实例将处理所有的请求。在执行完处理之后,服务器将一个响应(response)返回给客户端。这个响应完全是由HTML标签和其他数据构成的,并不会把任何Java源码返回给客户端。

  20. ⑷生命周期终止:服务器不再把客户端的请求发给JSP。在所有的请求处理完成之后,会释放掉这个类的所有实例。一般这种情况会发生在服务器关闭的时候,但是也有其他的可能性,比如服务器需要保存资源、检测到有JSP文件更新,或者由于其他某些原因需要终止实例等情况。如果想让代码执行清除工作,那么可以实现一个方法,并且在这个类实例释放之前调用该方法。本章随后一节“处理JSP的初始化和终止”将对此加以讨论。.jsp .java .class 客户端 以实例形式保存在服务吕结束JSP在服务器的运行

  21. .jsp .java .class 以实例形式保存在服务吕 客户端 结束JSP在服务器的运行 图3:JSP的生命周期结构图

  22. 作  业 • ①:上机配置JSP服务器、设定一个虚拟目录(用建立相应.xml文件与修改server.xml文件二种方法完成) • ②:自编一个简单JSP页面,在浏览器窗口输出“Hello World”并调试运行                                     • 教学总结:

  23. 上机实验二:JSP运行环境、虚拟目录配置 • 及Myeclipse的使用(2课时) • 一、实验目的及要求 • 1.掌握JSP运行环境的配置(针对TOMCAT服务器) • 2.Myeclipse的使用 • 3.理解server.xml、web.xml配置文件的含义 • 二、实验环境 • Myeclipse、Tomcat、JDK

  24. 三、实验内容 • 1. 安装JDK、TOMCAT、Myeclipse并设置环境变量,并验证安装是否成功。 • 2.在TOMCAT主目录下创建自定义的WEB应用程序WEBAPP,并访问。 • 3.建立虚拟目录VirtualDir并进行配置并访问。 • 4.在Myeclipse下对JDK、TOMCAT进行配置并在Myeclipse下创建WEB工程并进行发布。 • 5.浏览TOMCAT下所包含的示例页面并分析其功能。 • 6.分析TOMCAT下各子目录的含义。 • 四、实验步骤 • 略

  25. 五、实验思考 • 1.对其他如IIS、JRUN等WEB服务器如何安装,如何验证? • 2.分析Myeclipse安装后各子目录的功能 • 3.分析Myeclipse自建页面中page指令中pageEncoding属性的含义,为什么在此页面中创建相关含有汉字的代码后保存时出错?怎样修改?

More Related