`
yacole
  • 浏览: 240926 次
  • 性别: Icon_minigender_1
  • 来自: 浙江科技学院
社区版块
存档分类
最新评论
阅读更多

什么是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引擎调用一个Servlets服务方法:

浏览器(客户)<====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到输入视图

案例:
<P> Please fill out this form with your name.
Thanks!
<FORM METHOD=" POST"
ACTION="/ servlet/ NameServlet">
<P> Please enter your name:
<P> First name: <INPUT NAME=" first" TYPE=" TEXT"
SIZE=" 12" MAXLENGTH=" 20">
Surname: <INPUT NAME=" surname" TYPE=" TEXT"
SIZE=" 15" MAXLENGTH=" 25">
<P> Thank you! <INPUT TYPE=" SUBMIT"> <INPUT
TYPE=" RESET">
</ FORM>


读入一个post
public void doPost( HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{

Enumeration enum = req. getParameterNames();
while (enum. hasMoreElements()) {
String name = (String) enum. nextElement();
String value = req. getParameter( name);
//… do something with each pair...
}
}

调用servelet
最普遍使用的调用HttpServlet是通过类名(classname)比如:
http://www.ibm.com/servlets/com.ibm.a.Myservlet

"load/run by classname"的支持通过另一个称为"Invoker"的servlet所提供
"Invoker"servlet试图找到servlet的类的路径
考虑到会有无名的servlet,一个servlet用这种方法装入运行
在WebSphere中的servlet
另一方面,大多数的servlet引擎支持servlet通过名字注册
被使用的参数可以初始化
参数约束servlet的行为
一个servlet可以提供不同的服务(在不同的"short names")
参数在init()方法中使用
允许servlet被预装入
通过RequestDispatcher,允许简单定位
允许servlet被保护

摘要
我们已经看到Servlets的优势大于CGI
安全性,灵活性,效率
我们已经介绍了Servlet的基本类和接口
Servlets,GenericServlet,HttpServlet,HttpServletRequest,HttpServletResponse


VisulalAge for Java 的复习
首先,需要知道:
IBM VisualAge for Java 基本概念
IDE
Scrapbook
Debugger
VisualAge for Java与WebSphere之间的关系
VisualAge for Java:

Visual Builders
Visual Application Builder
Enterprise Access Builder
Data,CICS,RMI,C++
 Many others
工具:
IDE
AppletViewer
Smart Guides
Debugger
Browsers
Scrapbook
类库
JDK1.1.7
JDK1.2
IBM Enterprise Connectivity
编译器和虚拟机
Incremental
Java to byte code
Byte code to machine code translation
Multiple VMs
部件:
 JavaBeans
EJB develpement environment
WebSphere Test environment
技术支持
Integrated team environment
Scaleable

集成开发环境
组织管理项目,类,方法
组队开发--聚宝库
导入及导出类文件到开发环境同Java文件一样
优化编译
视图:项目,类,界面,所有的问题
搜索,智慧向导
剪贴本,Debugger

分享到:
评论
2 楼 yacole 2006-12-31  
呵呵,是啊
1 楼 kingsword 2006-12-29  
好简要啊~

相关推荐

    servlet入门小例子

    在本"Servlet入门小例子"中,我们将深入探讨Servlet的基本概念、工作原理以及如何通过表单将数据传递到Servlet中。 1. **Servlet基本概念** Servlet是一个Java类,遵循Java Servlet API规范,用于扩展服务器的功能...

    Servlet入门的例子

    通过这个Servlet入门例子,我们了解了Servlet的基本概念、创建、部署和运行过程。继续深入学习,可以掌握更多高级特性,如过滤器、监听器、会话管理等,从而在实际项目中构建更复杂、功能丰富的Web应用。

    Servlet入门教程

    Servlet入门教程是一个逐步引导开发者了解和掌握Servlet技术的教育资源。Servlet是Java编程语言中的一个标准接口,用于扩展服务器的功能,特别是在Web应用开发中扮演着重要角色。本教程将涵盖Servlet的基本概念、...

    servlet入门servlet入门

    ### Servlet技术概览与入门指南 #### 一、Servlet简介 Servlet是一种运行在Web服务器或应用服务器上的Java程序,主要用于处理HTTP请求并生成响应。它作为J2EE(现称Java EE)架构的重要组成部分,是构建动态Web...

    J2ee servlet入门例子

    总之,"J2ee servlet入门例子"是一个理想的起点,它将引导初学者逐步理解Servlet的工作原理和使用方式,为后续的J2EE Web开发打下坚实的基础。通过实践这个简单的"HelloJ2ee"示例,你可以亲手感受Servlet的魅力,并...

    day04-Tomcat&Servlet入门-讲义.zip

    【标题】"day04-Tomcat&Servlet入门-讲义.zip" 提供的是关于Tomcat服务器和Servlet编程基础的教程资料。Tomcat是Apache软件基金会 Jakarta项目中的一个核心项目,是一个开源的Java Servlet容器,它实现了Java EE的...

    Servlet入门学习代码.rar_servlet_servlet代码作业

    在这个"Servlet入门学习代码.rar_servlet_servlet代码作业"压缩包中,我们可以看到一个学习Servlet基础和实现购物车功能的实例。 首先,了解Servlet的生命周期。Servlet的生命周期包括初始化、服务和销毁三个阶段。...

    day04-Tomcat&Servlet入门-资料.zip

    "day04-Tomcat&Servlet入门-资料.zip" 这个标题表明这是一份关于学习Tomcat服务器和Servlet编程基础的资料集合,可能包含教程、示例代码、课件等,适合初学者入门。"day04"可能表示这是某个课程或者学习计划的第四天...

    Java_Servlet入门教程.pdf

    ### Java Servlet 入门教程概览 #### 一、Servlet工作原理详解 Servlet是一种服务器端的Java技术,用于处理客户端的HTTP请求,并生成相应的HTTP响应。Servlet由支持Servlet的服务器,通常称为Servlet容器或Servlet...

    servlet入门实验代码

    这个"Servlet入门实验代码"是一个非常适合初学者了解和学习Servlet技术的实践项目。在本文中,我们将深入探讨Servlet的基本概念、工作原理以及如何通过代码实现一个简单的Servlet。 1. **Servlet基本概念** ...

    servlet基础入门教程

    本教程旨在为初学者提供一个全面的Servlet入门指南,涵盖其基本概念、方法及应用场景。 1. **Servlet简介** Servlet是一种Java类,它扩展了服务器的功能,可以接收并处理HTTP请求。它们由Web容器(如Tomcat)管理...

    spring+servlet 入门hello_world

    在IT领域,Spring框架和Servlet技术是Web开发中的重要组成部分,尤其对于初学者而言,"spring+servlet 入门hello_world"是一个极好的起点。这个实例将帮助你理解这两个技术的基础概念以及它们如何协同工作来构建一个...

    《Jsp&Servlet入门级项目全程实录》源码

    《Jsp&Servlet入门级项目全程实录》源码是一个非常适合初学者深入理解这两门技术的实践教程。这份源码提供了完整的项目实例,帮助学习者通过实际操作,掌握JSP和Servlet的基础知识和应用技巧。 1. **JSP基础**:JSP...

    servlet入门实例(含mysql增查功能)

    在这个"Servlet入门实例(含mysql增查功能)"中,我们将深入探讨Servlet如何与MySQL数据库进行交互,实现数据的增删查改(CRUD)操作。这个实例包含了完整的工程文件,非常适合初学者学习和实践。 首先,Servlet是...

    day04-Tomcat&Servlet入门-代码.zip

    标题"day04-Tomcat&Servlet入门-代码.zip"表明这是一个关于Tomcat和Servlet初学者的教程资料,其中包含了实际的编程代码。这可能是一个在线课程或自学计划的一部分,旨在帮助学习者理解如何配置Tomcat服务器以及如何...

    Java_Servlet入门教程

    以上就是关于Java Servlet入门教程的相关知识点,从基础的Servlet工作原理到高级的应用场景,都进行了详细的说明。通过这些知识点的学习,相信可以帮助开发者有效地利用Servlet技术开发出功能强大、效率高的Web应用...

    AJAX+servlet入门实例用户注册

    【AJAX + Servlet 入门实例:用户注册】 在Web开发中,AJAX(Asynchronous JavaScript and XML)和Servlet是两种关键的技术,它们共同构建了动态、交互性强的Web应用程序。这个入门实例将向我们展示如何利用AJAX与...

Global site tag (gtag.js) - Google Analytics