2016.03.21 java web摘抄

动态网页解决方法,称之为服务器端的web编程技术。

基于java语言的servlet/JSP技术。

基于java编程语言的web服务器端编程技术。

一个servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet的Web服务器(具有servlet引擎)调用和启动运行。

Sun公司定义了一套专门用于开发Servlet程序的Java类和接口,这些类和接口提供Servlet程序开发中所涉及的各种功能,它们统称为Servlet API。

java Servlet开发工具包已经被集成到了Sun公司的JavaEE开发工具包中。

由于支持Servlet的Web服务器软件都会自带Servlet API的jar包,所以一般不用专门下载Java Servlet开发工具包。

一个Servlet程序就是一个在web服务器端运行的特殊的Java类,这个java类必须实现javax.servlet.Servlet接口,Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定。

为了简化Servlet程序的编写,Servlet API中也提供了一个实现Servlet接口的最简单的Servlet类,其完整名称为javax.servlet.GenericServlet,这个类实现了Servlet程序的基本特性和功能。

Servlet API中还提供了一个专用于HTTP协议的Servlet类,其名称是javax.servlet.http.HttpServlet,它是GenericServlet的子类,在GenericServlet类的基础上进行了一些针对HTTP特点的扩充。显然,一个Java类只要集成了GenericServlet或者HttpServlet,它就是一个Servlet。

为了充分利用HTTP协议的功能,在一般情况下,都应让自己编写的Servlet类继承HttpServlet类,而不是GenericServlet类。



Servlet程序是发布到web应用程序中运行的,此web应用程序就称之为Servlet容器。

Servlet引擎将代表Servlet容器对象和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet。

Servlet引擎装载并创建一个Servlet的实例对象后,接着调用该实例对象的init方法将ServletConfig对象传递给Servlet。

一种新的编程观念:你写的Servlet程序只是相当于整个系统程序中的一个零部件,整个系统程序的主题框架(这里是Servlet引擎)则已经由别人写好,你写的Servlet程序是专供别人写的主体框架程序去调用的。别人编写的主体框架程序负责读取配置文件,根据配置文件中的信息生成ServletConfig对象,接着创建你写的Servlet类的实例对象,然后调用该Servlet实例对象的init方法把ServletConfig对象传递给该Servlet实例对象。你编写的Servlet程序内部应该使用一个私有成员来引用这个ServletConfig对象,以便在init方法之外的其他地方可以使用这个ServletConfig对象。


GenericServlet类除了实现了Servlet接口中的方法之外,还实现了ServletConfig接口中的方法,在实现的ServletConfig接口方法内部,它们调用ServletConfig对象的同名方法。


一般情况下,人们编写程序都习惯于调用系统工具类来帮助自己完成某个功能,例如,java.util.Random类的nextInt()方法获得一个随机整数。但是,对于用作组件或插件的类则需要编写一些供系统去调用的方法,这些专门用于被系统调用的方法被称之为回调方法。Servlet是一个要被容器调用的组件类,Servlet接口中定义的所有方法都是回调方法,这些方法定义了Servlet容器与Servlet程序之间的通信的协议约定,专门供Servlet容器调用。

GenericServlet和HttpServlet类中的回调方法是供容器调用的方法,可以在子类中进行覆盖,而不能在程序代码中直接调用。GenericServlet和HttpServlet类中除了包含有回调方法外,也包含有一些供Servlet编程人员调用的工具方法。在学习和应用GenericServlet和HttpServlet类时,应区分清楚哪些是需要自己来实现或覆盖的回调方法,哪些是可以直接调用的工具方法。

servlet方法介绍:

init方法在Servlet的生命期中仅执行一次,Servlet引擎创建Servlet实例对象后立即调用该方法,即在构造方法之后执行。引擎在调用init方法时,会传递一个包含Servlet的配置和运行环境信息的ServletConfig对象。GenericServlet包含一个无参数的init方法,Servlet容器始终只会调用Servlet接口中定义的那个init方法,而其他形式的init方法则相当于Servlet程序内部定义的普通方法。GenericServlet中的有参数init方法最后调用了无参数init方法,这是为了子类方便的扩展init功能,子类Servlet创建时首先自动调用有参数的,有参数的又调用了子类覆盖父类的无参数init。

service方法是Servlet的核心方法。是处理所有请求方式的总入口。

每个Web应用程序都是一个独立的Servlet容器,每个Web应用程序分别用一个ServletContext对象来表示,Servlet程序通过这些方法与Servlet容器进行通信。Servlet引擎为每个Web应用程序都创建一个对应的ServletContext对象,该对象被包含在ServletConfig对象中。-->获取web应用程序的初始化参数。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值