第17章 JavaWEB编程-yrlong.ppt

上传人:bao****ty 文档编号:144354718 上传时间:2020-09-07 格式:PPT 页数:68 大小:1.25MB
返回 下载 相关 举报
第17章 JavaWEB编程-yrlong.ppt_第1页
第1页 / 共68页
第17章 JavaWEB编程-yrlong.ppt_第2页
第2页 / 共68页
第17章 JavaWEB编程-yrlong.ppt_第3页
第3页 / 共68页
第17章 JavaWEB编程-yrlong.ppt_第4页
第4页 / 共68页
第17章 JavaWEB编程-yrlong.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《第17章 JavaWEB编程-yrlong.ppt》由会员分享,可在线阅读,更多相关《第17章 JavaWEB编程-yrlong.ppt(68页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计,主讲教师:杨瑞龙 工作单位:重庆大学计算机学院 电子邮件:,第17章 Web服务器端编程,17.1 Java Web服务器介绍 17.2 Servlet介绍 17.3 JSP介绍 17.4 Struts介绍 17.5 Spring(自学),Java EE的n层体系结构,轻量级简化模型,企业java的历史,Java EE的发展历史,Java EE 5 包含的主要技术,Web Applications: Servlet 2.5 (包含 filters) JSP 2.1 JSTL 1.2 JSF 1.2 Enterprise Applications: Common Annotat

2、ions EJB 3.0 JPA 1.0 JAF 1.1 JTA 1.1 JACC 1.1 JavaMail 1.4 Web Services: Web Services Metadata (POJO annotation) JAXB 2.0 JAX-WS 2.0 SAAJ 1.1/1.3 SOAP 1.1/1.2 WSDL 1.1/2.0 ,17.1 Java Web服务器介绍,在进行实际大型Java Web项目实施的时候,我们可以采用商业型的应用服务器,应用服务器可以处理复杂的商业逻辑,常应用于WEB多层结构的开发。例如IBM的 WebSphere服务器,BEA 的WebLogic服务器。

3、这两种服务器功能齐全而强大,支持所有的Java 服务容器标准,适用于大型的商业Java Web应用的发布。但是这两种服务器都是商业服务器,价格昂贵,对系统资源要求极高。特别是Websphere 配置更复杂。JBoss公司的开源免费软件Jboss应用服务器同样功能齐全而强大,也支持所有的Java 服务容器标准。而且JBoss具有良好的性价比,具有良好的运行效率和可靠性,因此已经得到越来越多的J2EE应用开发者和中小型企业的青睐。但同样对系统资源要求高,配置复杂。,17.1 Java Web服务器介绍,在开发或学习过程中,有许多免费轻型的Java Web服务器可以供我们选用,如Tomcat、Res

4、in、Orion等等。他们使用都很方便,占用资源也很少,适合开发过程中的调试阶段;而且这些服务器还可以和Jbuilder、Eclipse等开发工具集成使用。根据实际开发中的情况来看,Jakata Tomcat 和Sun Java结合的最好,和其他应用服务器配合使用可支持完整的J2EE标准,因此其应用很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解决得比较好。从使用的角度来看,Resin比Tomcat方便,而且Resin也可以结合Jbuilder、Eclispe等IDE使用。Resin强调使用Xml技 术,从Resin自己的HomePage使用xtp就可以看出来。本书将使用Re

5、sin服务器作为测试和开发的工具。但本章的例子仍然可以在Tomcat上运行,只需要对配置文件进行简单的修改即可。,17.1 Java Web服务器介绍,Resin 可以在 免费下载和使用。使用Resin开发或者学习是免费的,但是如果把Resin作为收费产品发布是需要付费的。本书将使用2.1.16版本来运行所有的例子。 下载Resin 时选择Archive Versions 中的 windows.zip的普通安装包resin-ee-2.1.16。把该zip包解压到任何目录下面,如d:Resin-ee-2.1.16。以下介绍都假设Resin安装在d:Resin-ee-2.1.16下。进入d:Res

6、in-ee-2.1.16bin,运行httpd.exe,另外也可以在Command控制台下运行Resin服务器。此时弹出一个有start 和stop两个Radio按纽和一个quit 按纽的对话窗,如图,17.1 Java Web服务器介绍,17.1 Java Web服务器介绍,Tomcat 5的目录结构,第17章 Web服务器端编程,17.1 Java Web服务器介绍 17.2 Servlet介绍 17.3 JSP介绍 17.4 Struts介绍,17.2 Servlet介绍,17.2.1 Servlet的概念 17.2.2 Servlet应用范围和运行环境 17.2.3 Servlet简单

7、例子 17.2.4 Servlet常用类、接口和生命周期 17.2.5 Servlet应用举例,17.2.1 Servlet的概念,Servlet就是用 Java 编写的服务器端程序,是由服务器端调用和执行的 Java 类,这种类使用 Java Servlet 应用程序设计接口(API)及相关类和方法。除了 Java Servlet API , Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。 Servlet是一种采用 Java 来实现 CGI(Common Gate Interface) 功能的技术。Servlet本身与协议无关,与平台也无关。 也就是说Servl

8、et所适用的网络协议可以是多种多样的,比如HTTP,FTP,SMTP,TELNET等,但是就目前而言,只有HTTP服务已经形成了标准的Java组件。对应的软件包有两个javax.servlet.http和javax.servlet.jsp,分别对应我们要讲解的Servlet和JSP编程。我们通常所说的Servlet编程主要就是指针对HTTP的Servlet编程,用到的就是javax.servlet.http包中的类(典型的就是HttpServlet类),实际上Java Servlet编程的概念要更广一些,在这里我们约定俗成的使用Servlet来指代HTTP Servlet的编程,这点读者是需要

9、了解的。由于JSP最终都是要经过JSP引擎转换成Servlet代码的,而且Servlet编程和一般的Java编程是没有大的区别的,只需要了解一定的规范即可。,17.2.2 Servlet应用范围和运行环境,Servlet运行于Servlet引擎管理的Java虚拟机中,被来自客户机的请求所唤醒,与CGI不同的是,在虚拟机中只要装载一个Servlet就能够处理新的请求,每个新请求使用内存中那个Servlet的相同副本,所以效率比CGI来得高。如果采用服务器端脚本,如ASP,PHP,语言解释程序是内置程序,虽然可以加快服务器的运行,但是效率还是比不上准编译的Servlet。实际的使用也已经证明,Se

10、rvlet是效率很高的服务器端程序,很适合用来开发Web服务器应用程序。Java Servlet有着十分广泛的应用。不光能简单的处理客户端的请求,借助Java的强大的功能,使用Servlet还可以实现大量的服务器端的管理维护功能,以及各种特殊的任务,比如,并发处理多个请求,转送请求,代理等。 为了运行Servlet,首先需要一个JVM来提供对Java的基本支持,一般需要安装JRE(Java Runtime Environment)或JDK(Java Develop Kit,JRE是其中的一个子集)。其次我们需要Servlet API的支持,一般的Servlet引擎都自带Servlet API,

11、只要我们安装Servlet引擎或安装直接支持Servlet的Web服务器,便会自动安装上Servlet相关的程序包。 Resin自带一个Servlet Runner和HTTP Server,因此要构建一个简单的Web环境,光有Resin已经足够了,不需要额外的支持软件。,17.2.3 Servlet简单例子,【例17-1】使用Servlet在客户端输出简单的问候语句 /HelloWorld.java package test; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class

12、HelloWorld extends HttpServlet private String greeting; public void init() throws ServletException greeting = getInitParameter(greeting); ,17.2.3 Servlet简单例子,【例17-1】使用Servlet在客户端输出简单的问候语句 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

13、 /doGet()是这个Servlet的核心,真正处理请求的地方 PrintWriter out = response.getWriter(); /从HttpServletResponse得到输出流 out.println(); out.println(); out.println( + greeting + ); out.println(); out.println(); out.println( + greeting + ); out.println(); out.println();/上面的语句都是向客户端打印HTML文本 out.close(); /关闭HttpServletRespo

14、nse public void destroy() / nothing to do ,17.2.3 Servlet简单例子,这是最简单的一个Servlet程序,整个类从HttpServlet派生,就跟Applet一样,这个派生关系是必须的。这个Servlet必须实现doGet()方法(因为它是作为静态页面通过地址访问的,这种方式在HTTP中称为GET请求,在后面还会有更具体的讲解),这是这个Servlet真正处理请求的地方,是整个Servlet的主体。doGet()有两个参数HttpServletRequest req和 HttpServletResponse res。HttpServletR

15、equest包含了客户请求的各种信息,HttpServletResponse则包装了服务器响应,主要处理对客户机的输出。通过javac对以上程序进行编译,我们可以得到HelloServlet.class,下面我们就通过配置Resin来运行这个Servlet。 在webapps下建立自己的发布目录mytest, mytest目录下的WEB_INF/classes是Resin默认的classpath环境变量的值, 把HelloWorld.java拷贝到WEB_INF/classes /test目录下。当然也可以将其拷贝到有效的系统或用户的classpath下,Resin都是能够找到的,如Resin

16、默认的发布目录doc。 接下来就需要修改conf目录下的resin.conf文件,来配置我们的Servlet。读者可以使用任何一种自己所熟悉的文本编辑器来打开该配置文件,17.2.3 Servlet简单例子,在中加上下面的配置语句 这样当客户端产生/Hello请求的时候,Resin就能把这个请求定向到test.HelloWorld上,同时给出greeting参数的值。该Servlet就能正常运行了。 下面我们启动Resin服务器(通过双击bin下的httpd.exe)。这样我们就可以通过浏览器访问这个Servlet了。打开浏览器,比如IE,在地址栏键入http:/localhost:8080/mytest/Hello,就可以看到运行结果网页,如图,17.2.3 Servlet简单例子,17.2.4 Servlet常用类、接口和生命周期,17.2.4 Servlet常用类、接口和生命周期,1、Servlet的生命周期 Servlet容器负责处理客户请求、把请求传

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号