`
webcode
  • 浏览: 6069522 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Servlet技术简介与编写、编译Servlet程序

阅读更多
1Servlet技术简介
Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术,主要用于在WEB服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。Servlet技术也是JSP技术(另外一种动态网页开发技术)的基础。一个Servlet程序就是一个实现了特殊接口的Java类,用于被支持Servlet的WEB服务器调用和运行,即只能运行于具有Servlet引擎的WEB服务器端。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,接收访问请求信息和产生响应内容。
Applet是用于浏览器端的Java小程序,在浏览器端被解释执行,用于在HTML网页中实现一些桌面应用程序的功能,被称为“小应用程序”。Servlet是用于WEB服务器端的Java小程序,它在WEB服务器端被解释执行,用于处理客户端的请求和产生动态网页内容。源于Applet的命名,这种WEB服务器端的Java小程序就被命名为了Servlet,与Applet相对应,Servlet可以被称之为“小服务程序”。
Servlet与普通java程序相比,只是输入信息的来源和输出结果的目标不一样,所以,普通Java程序所能完成的大多数任务,Servlet程序都可以完成。Servlet程序具有如下的一些基本功能:
  • 获取客户端通过HTML的FORM表单递交的数据和URL后面的参数信息;
  • 创建对客户端的响应消息内容;
  • 访问服务器端的文件系统;
  • 连接数据库并开发基于数据库的应用;
  • 调用其它的Java类。
2.编写与编译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类只要继承了GenericServletHttpServlet,它就是一个Servlet。反过来说,要编写一个Servet类,这个类必须继承GenericServlet类或HttpServlet类。为了充分利用HTTP协议的功能,在一般情况下,都应让自己编写的Servlet类继承HttpServlet类,而不是继承GenericServlet类。
查看HttpServlet类的帮助文档,可以看到其中有一个名为service的方法,当客户端每次访问一个Servlet程序时,Servlet引擎都将调用这个方法来进行处理。service方法接受两个参数,一个是用于封装HTTP请求消息的对象,其类型为HttpServletRequest,另一个是代表HTTP响应消息的对象,其类型为HttpServletResponse。调用HttpServletResponse对象的getWriter方法可以获得一个文本输出流对象,向这个流对象中写入的数据将作为HTTP响应消息的实体内容部分发送给客户端。
:动手体验:编写与编译Servlet程序的过程
1)编写一个继承了HttpServlet类的HelloServlet类,它对HttpServlet类中的service方法进行了覆盖,如例程4-2所示。
例程4-2 HelloServlet.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet
{
//HttpServlet类的帮助文档中复制service方法的声明部分可避免书写错误
public void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException,IOException
{
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<font size=30 color=red>www.it315.org</font><br>");
out.println("<marquee>" + new java.util.Date() + "</marquee>");
out.println("</html>");
}
}

2)使用javac命令编译这个源文件,通常情况下,第一次学习编写Servlet程序的人都会遇到类似如下错误:
HelloWorld.java:2: package javax.servlet does not exist
import javax.servlet.*;
^
HelloWorld.java:3: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
......
这些错误信息提示javac编译器找不到javax.servlet和javax.servlet.http这两个包以及其中的一些Servlet API类,这是因为包含Servlet API类的jar文件还没有被加入到javac所使用的CLASSPATH环境变量中。
3)在执行javac的命令行窗口中,将包含有Servlet API的jar文件加入到CLASSPATH环境变量的路径列表中,例如,对于Tomcat 4.x,应使用如下的命令设置:
set CLASSPATH=<tomcat的安装目录>\common\lib\servlet.jar;%CLASSPATH%
设置完CLASSPATH环境变量后,重新编译HelloServlet.java文件,如果源程序中没有书写错误的话,这时候就可以编译成功了。
在笔者编写的《java就业培训教程》中曾经讲过,在命令行窗口中设置的CLASSPATH环境变量是临时的,只对这个命令行窗口起作用,对其它窗口和应用程序不起作用,因此在每次新启动的命令行窗口中都要重新设置。如果想让设置一直保持有效,应该使用对整个系统都有效的环境变量的设置方法,例如,在win2000的系统特性的“环境变量”对话框中进行设置,在win98的开机自动批处理文件Autoexec.bat中设置,在Linux的Profile文件中设置。
(4)在编译和运行java程序时,Java类装载器也会去<JDK安装主目录>\jre\lib\ext目录下的jar包中搜索要加载的类。如果将包含Serlet API的jar文件复制到该目录下,在编译Servlet程序时,就不必在CLASSPATH环境变量中增加包含Serlet API的jar文件。
分享到:
评论

相关推荐

    手动编译、部署servlet

    Servlet技术由Servlet规范定义,Servlet容器(如Tomcat)负责执行这些规范。Servlet可以看作是服务器端的Java应用程序,它们运行在Web服务器上,用于生成动态网页内容。 #### 二、编写Servlet 1. **编写Servlet类*...

    servlet技术初步入门

    Servlet技术是Java EE(之前称为J2EE)中用于构建动态Web应用程序的核心技术之一,它允许开发者编写在服务器端运行的Java程序来处理HTTP请求。Servlet技术为开发人员提供了强大的功能,包括高效性能、可移植性和成熟...

    JSP与Servlet核心技术

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态、交互式的Web应用程序中起着核心作用。** **1. JSP简介:** JSP是Java平台上的一个标准视图技术,它允许开发人员将HTML或者...

    servlet入门servlet入门

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

    SERVLET简介 以及相互之间的关系

    因此,JSP页面的执行过程实际上与Servlet相同,只不过JSP提供了更直观的模板语法,使得非Java程序员也能轻松地编写动态页面。 JSP与Servlet的关系紧密,Servlet提供了JSP的底层实现。JSP的执行过程可以分为以下几个...

    Jsp Servlet教程专栏+J2EE编写企业应用教程

    Servlet与JSP通常配合使用,JSP处理视图,Servlet处理控制和模型。 **JSP和Servlet的关系** 在MVC(Model-View-Controller)架构中,JSP通常作为View层,展示数据;Servlet作为Controller层,处理用户请求和业务...

    Servlet基础知识总结

    #### 八、Servlet与JSP的区别 1. **功能**:Servlet主要负责业务逻辑处理,而JSP更侧重于页面展示。 2. **编写方式**:Servlet使用Java类文件编写,而JSP使用HTML文件,但包含Java代码片段。 3. **执行方式**:...

    JSP与Servlet有什么关系

    Servlet技术是Java EE平台的重要组成部分,主要用于构建动态Web应用。在理解JSP与Servlet的关系之前,首先需要了解Servlet的基本概念。 **Servlet**是一种运行在服务器端的Java应用程序,用于处理来自客户端(通常...

    超详细的ServletL学习笔记

    **Apache Tomcat** 是一个开源的Servlet容器,也是学习Servlet技术时最常用的容器之一。 - **安装步骤**: 1. 下载Tomcat并解压。 2. 在Eclipse中配置Tomcat服务器:通过Window &gt; Preferences &gt; Server &gt; Runtime...

    Servlet与JSP核心编程(第2版).pdf

    ### Servlet与JSP核心编程(第2版) #### 一、概述 《Servlet与JSP核心编程(第2版)》是一本深入介绍Java Web开发技术的书籍,主要聚焦于Servlet和JSP这两种核心技术。本书适合Java Web开发初学者及具有一定基础...

    java\Servlet技术--小例子.pdf

    Servlet 是 Java Web 开发的基础技术之一,它是一种运行在服务器端的小程序,主要用于处理客户端发送的 HTTP 请求,并生成相应的响应返回给客户端。Servlet 由 Sun Microsystems 在 1996 年引入,随着 Java Web 技术...

    Servlet&Jsp技术概述

    Servlet和JSP(JavaServer Pages)是Java编程语言在Web开发中的两个核心技术,它们主要用于构建动态、交互式的Web应用程序。本书由Marty Hall撰写,他作为业界知名的IT专家,为读者提供了一本深入浅出、实例丰富的...

    美河图书提供.Servlet与JSP核心编程第二版_带目录

    通过以上知识点的介绍,《Servlet与JSP核心编程第二版》涵盖了Servlet和JSP技术的基本原理以及实践应用,对于初学者来说是一本非常实用的指南。无论是从理论还是实践角度出发,本书都能提供丰富的指导和帮助。

    Tomcat开发jsp与servlet总结.pdf

    总结来说,开发JSP与Servlet的过程涉及多个方面,包括编写代码、配置部署描述文件、编译、部署和测试,最终通过服务器的配置来访问Web应用。Tomcat作为中间件,提供了运行这些应用所需的环境和框架支持。在开发过程...

    将JSP代码转为Servlet

    在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,它们用于创建动态网页。JSP主要用于视图层,而Servlet则在控制层处理请求和响应。有时,开发者为了提高性能或者遵循MVC(Model-View-...

    jsp/servlet基础课件

    **JSP(JavaServer Pages)和Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序方面发挥着关键作用。本课件旨在帮助初学者掌握这两项技术的基础知识,为后续深入学习打下坚实基础。** **JSP简介:...

    Java servlet课堂笔记

    ### Java Servlet基础知识详解 #### 一、Servlet简介与体系结构 **Servlet** 是Java平台用于构建Web应用程序的核心技术之一,特别是在传统的B/S(浏览器/服务器...希望本文档能够帮助您更好地理解和运用Servlet技术。

Global site tag (gtag.js) - Google Analytics