Servlet(一)

什么是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服务方法: 

浏览器(客户)<====URL请求=====>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("< HTML>< BODY>"); 
out. println("< h1> Hello World!</ h1>"); 
out. println("</ BODY></ HTML>"); 



HttpServletRequest 
·提供客户请求 
·"Getters"请求的特征,比如: 
·请求头部,内容类型,长度,方法.... 
·请求URL如同一个String 
·Servlet"path" 
·客户安全性类型 
·访问请求参数(通过name) 
·请求中,数据在参与对象中的共享范围 


请求协议 
·getParmeterNames() 
·在HTML页上,返回一个的枚举的参数 
·getParmeterValues(String name) 
·返回multi-valued参数的值 
·getParameter(String name) 
·返回一个指定的命名的参数的值 
·getReader() 
·返回BufferedReader到输入视图 
(未完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值