| 沪ICP备05001343号

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

什么是servlets

·明白Servlet API以及与CGI相比较

·知道在servlet的主要的类的使用。

·能够实现简单的servlets

·什么是servlet?

·一般地,服务器端Java应用程序扩展了Web服务器的功能。

.在服务器上可以完整地运行

.没有必要下载到浏览器

.代替CGI脚本

·Servlets的优势在于:

.方便性与灵活性

.安全性

.执行效率

安全性优势

·在服务器的范围中调用

·能够约束servlet的调用

·在安全体系中能够成为单一(全局)信号的一部分

性能优势

·Run in the same context as application server

·执行并且驻留在内存中

·有请求时提前被装入或装入

·通过HTTP请求维持对话

·减轻后置系统的负担

·多线程

·可伸缩于多处理器以及多机种系统(IBM WebSphere Performance Pack)

一般的Servlet调用

·客户建立一个Web服务请求,命名为一个Servlet,就如同URL的一部分

·Web服务器向由一个servlet类的对象所定位的Servlet引擎发送一个请求

·servlet引擎调用一个Servlet's服务方法:

浏览器(客户)Web服务器servlet对象(应用程序服务器)

Java Servlet 应用程序接口API

·JSDK包括了两个包:

javax.servlet

javax.servlet.http

javax.servlet.Servlet

实现

javax.servlet.GenericServlet A

javax.servlet.http.HttpServlet A

Servlet

·表现一项服务

·一般通过URL请求

·Servlets通过应用程序服务器被装入

·在服务的初始化阶段(假如是预装入)

·在客户端首次请求时

·在servlet重新装入时

servlet的生命周期

·在装入时init()方法被调用

·仅这一次

·当每个客户发出请求时,service()方法被调用

·当它被卸载时,destroy()方法被调用

init()

service()

destroy()

HTTP Servlet

·一个HTTP-specific请求处理器

·加入两个HTTP-specific的方法

·doGet()--处理一个GET请求(URL)

·doPost()--处理一个POST请求(Html)

·子类代替了这两个信息并且可能代替init()和destroy()

·doGet()和doPost()作这些工作并且被service()调用

请求与响应

·service(),doGet()和doPost()方法都具体有两个参数:

·HttpServletRequest--提供请求数据(参数)HttpSession信息等访问。

·HttpServletResponse--提供答应servelt向发出请求的客户的响应的服务

·大多数servlet程序是用来读出请求并且写入响应

HttpServletResponse

·向客户提供通讯的通道

·答应servlet返回内容并且/或者是错误

·设置内容头(类型,长度......)

·重定向服务器以返回一个指的URL

应答协议

·getWriter()

·返回一个输出的PrintWriter

·setContentType(String type)

·为这个响应设置内容的类型

·类型是MIME型

·sendRedirect(String anURL)

·重定向浏览器到一个新的URL

简单的servelt

public class MyServlet extends HttpServlet {

public void doGet( HttpServletRequest req,

HttpServletResponse res)

throws ServletException, IOException {

// get stream to output HTML on!

res. setContentType(" text/ html");

PrintWriter out = res. getWriter();

// send out a simple banner

out. println("");

out. println(" Hello World!");

out. println("");

}

}

HttpServletRequest

·提供客户请求

·"Getters"请求的特征,比如:

·请求头部,内容类型,长度,方法....

·请求URL如同一个String

·Servlet"path"

·客户安全性类型

·访问请求参数(通过name)

·请求中,数据在参与对象中的共享范围

请求协议

·getParmeterNames()

·在HTML页上,返回一个的枚举的参数

·getParmeterValues(String name)

·返回multi-valued参数的值

·getParameter(String name)

·返回一个指定的命名的参数的值

·getReader()

·返回BufferedReader到输入视图

案例:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航