`
jzinfo
  • 浏览: 118394 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

读源码学Servlet(2)Servlet实现的ServletConfig接口的应用

阅读更多

GenericServlet抽象类实现了ServletConfig接口,而HttpServlet又继承自GenericServlet抽象类。

本例使用HttpServlet抽象类来演示实现的ServletConfig 接口的方法的作用。

 

被实现的接口ServletConfig一共有四个的方法,其中getServletContext()方法返回的是ServletContext 对象,所以这个方法留在分析serveltContext 时一起说明。

 

当前如下的程序代码分别调用了三个方法:

 

getServletInitParameters()
getServeltInitParameter()
getServletName() 

 

 

假定web.xml文件中存在如下注册的servlet和映射关系:

  <servlet>
     <servlet-name>ConfigTestServlet</servlet-name>
    <servlet-class>com.longweir.servlet.ConfigTestServlet</servlet-class>      
    <init-param>
       <param-name>参数名1</param-name>
       <param-value>参数1的值</param-value>
    </init-param>    
    <init-param>
       <param-name>参数名2</param-name>
       <param-value>参数2的值</param-value>
    </init-param>
  </servlet>
  
   <servlet-mapping>
    <servlet-name>ConfigTestServlet</servlet-name>
    <url-pattern>/servlet/ConfigTestServlet</url-pattern>
  </servlet-mapping>

 

   ConfigTestServletde 源码如下:

 

package com.longweir.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Enumeration; 

public class ConfigTestServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=GBK");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");		
		out.println("  <HEAD><TITLE>实现ServletConfig接口的方法的servlet</TITLE></HEAD>");
		out.println("  <BODY>");
        out.println("Servlet的名称是:"+getServletName()+"<br>");  //获取当前的servlet的名称,即 ConfigTestServlet
        out.println("下面是为该servlet配置的初始化参数: <br>");  //对于该Servlet的参数配置在web.xml的<servlet></servlet>代码段中
        Enumeration e=this.getInitParameterNames(); 
        while (e.hasMoreElements())
        {
        	String key=(String)e.nextElement();
        	String value=this.getInitParameter(key);
        	out.println("key="+key+";"+"value="+value+"<br>");       	
        }        
		out.println(" </BODY>");
		out.println("</HTML>");
		out.close();
	}
}

 

   运行程序的结果是:

 

  Servlet的名称是:ConfigTestServlet   //返回的额servletName
  下面是为该servlet配置的初始化参数: 
   key=参数名1;value=参数1的值       //参数名和参数值
  key=参数名2;value=参数2的值      

 

 

分享到:
评论

相关推荐

    serlvet 源码 servlet-src 源文件

    2. **GenericServlet**:这是一个抽象类,实现了Servlet接口和ServletConfig接口,提供了通用的生命周期方法和服务方法。开发者可以通过继承GenericServlet来创建Servlet,但通常更倾向于使用HttpServlet。 3. **...

    servlet-api 源码

    Servlet接口是Servlet API的核心,所有Servlet都必须实现这个接口。它包含`service()`方法,该方法由容器(如Tomcat、Jetty)调用,用于处理客户端的请求。`service()`方法会根据请求类型(GET、POST等)调用相应的`...

    java-servlet-src源码

    在给定的"java-servlet-src源码"中,包含了Servlet的源代码,这对于学习和理解Servlet的工作原理以及如何使用它们来构建动态Web应用程序非常有帮助。 javax目录通常包含了Servlet API的核心类和接口,其中包括: 1...

    servlet源码

    它使用多线程模型来服务多个请求,并实现了ServletConfig接口,允许Servlet获取配置信息。 3. **HttpServlet类** HttpServlet是GenericServlet的子类,专门为处理HTTP协议请求而设计。它重写了`service()`方法,...

    servlet反编译源码

    首先,Servlet是一个Java类,它实现了Servlet接口或者ServletConfig接口。最基础的是javax.servlet.Servlet接口,定义了服务HTTP请求的方法,如service()。在实际应用中,我们通常会继承HttpServlet类,它已经为GET...

    servlet-api源码包

    这个源码包包含了用于构建动态Web应用程序的接口和类,是Java Servlet规范的一部分。本文将深入探讨Servlet-API中的关键概念、主要类和接口,以及它们在实际开发中的应用。 1. **Servlet接口** Servlet接口是所有...

    javax.servlet源码

    2. **GenericServlet类**:这是一个抽象类,实现了Servlet接口,提供了通用的生命周期方法实现,但`service()`方法是抽象的,需要子类重写以处理特定类型的请求。 3. **HttpServlet类**:扩展了GenericServlet,...

    servlet源码包

    `ServletConfig`接口包含了Servlet的配置信息,而`ServletContext`接口则代表了整个Web应用的上下文。 **2. javax.servlet.http包** 此包专门处理与HTTP协议相关的功能。`HttpServletRequest`接口提供了获取HTTP...

    《Servlet和JSP学习指南》源码

    《Servlet和JSP学习指南》源码是一份深入学习Java Web开发的重要资源,它涵盖了Servlet和JSP技术的核心概念、实现方法以及实际应用。Servlet是Java服务器端编程的基础,而JSP则是用于创建动态网页的Java技术。这两个...

    servlet 源码

    - `GenericServlet`:这是一个抽象类,实现了Servlet和ServletConfig接口,提供了通用的Servlet实现,但通常不直接使用。 - `HttpServlet`:`GenericServlet`的子类,专门为HTTP协议设计,提供了处理HTTP请求的...

    Servlet 和 Jsp 学习指南+ 代码

    源码部分则提供了实际示例,可以帮助你更好地理解和应用所学知识。通过分析和运行这些代码,你可以加深对Servlet和JSP工作原理的理解,同时提升解决问题的能力。 总之,这份资源包是JavaWeb开发者不可或缺的学习...

    servlet api 源码jar包 Mac版

    - `GenericServlet`:这是所有Servlet的基础,实现了Servlet和ServletConfig接口,提供了通用的Servlet服务。 - `Servlet`:定义了Servlet的基本行为,如init()、service()、destroy()方法,用于初始化、处理请求...

    javax-servlet源码包和jar文件

    `Servlet`是所有Servlet类的抽象基类,`GenericServlet`实现了`Servlet`和`ServletConfig`接口,提供了通用的无状态服务。`HttpServlet`继承自`GenericServlet`,专门为HTTP协议提供了便利的处理方法。`...

    tomcat源码,servlet-api源码

    主要包括Servlet、ServletConfig、HttpServletRequest、HttpServletResponse等关键接口。Servlet是Web应用的基本组成单元,处理客户端的请求并返回响应;ServletConfig对象提供初始化参数;HttpServletRequest和...

    servlet源码和笔记

    在这个“servlet源码和笔记”资料中,我们将会深入探讨Servlet的工作原理、生命周期以及如何在实际项目中应用。 1. **Servlet基本概念** Servlet是一个Java类,它扩展了Java平台的功能,使得开发者可以创建动态的...

    servlet2.5源码

    Servlet 2.5规范定义了Servlet API,包括Servlet接口、HttpServlet类、ServletConfig接口等。 - HttpServlet是Servlet的子类,提供处理HTTP协议的方法,如doGet()、doPost()等,这些方法对应HTTP的GET和POST请求。 ...

    Servlet常用接口

    Servlet接口定义了服务器端应用程序与Web服务器之间的交互规范。在这个主题中,我们将深入探讨Servlet接口及其常用方法,结合给定的"Servlet常用接口"标题和描述,我们可以提取以下几个关键知识点: 1. **Servlet...

    servlet官方源码

    `GenericServlet`是抽象类,实现了`Servlet`和`ServletConfig`接口,提供了通用的生命周期方法。`HttpServlet`继承自`GenericServlet`,专门为HTTP协议定制,提供了`doGet()`、`doPost()`等方法。 4. **请求处理**...

Global site tag (gtag.js) - Google Analytics