作用:

  * 获取Servlet的配置信息

  * 获取ServletContext对象

*主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)


  接收ServletConfig对象


创建时机: 在创建完servlet对象之后,在调用init方法之前创建。

得到对象: 直接从有参数的init方法中得到!!!


初始化参数配置:

<servlet>
<servlet-name>ConfigDemo</servlet-name>
<servlet-class>com.loaderman.ConfigDemo</servlet-class>
<!-- 初始参数: 这些参数会在加载web应用的时候,封装到ServletConfig对象中 -->
<init-param>
<param-name>path</param-name>
<param-value>e:/b.txt</param-value>
</init-param>
</servlet>

注意: servlet的参数只能由当前的这个sevlet获取!!!!


ServletConfig的API:
java.lang.String getInitParameter(java.lang.String name) 根据参数名获取参数值
java.util.Enumeration getInitParameterNames() 获取所有参数
ServletContext getServletContext() 得到servlet上下文对象
java.lang.String getServletName() 得到servlet的名称

示例代码:

package com.loaderman.demo;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Enumeration; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=utf-8");
/**
* 读取servlet的初始参数
*/
String path = this.getServletConfig().getInitParameter("path"); File file = new File(path);
//读取内容
BufferedReader br = new BufferedReader(new FileReader(file));
String str = null;
while( (str=br.readLine())!=null ){
System.out.println(str);
} //查询当前servlet的所有初始化参数
Enumeration<String> enums = this.getServletConfig().getInitParameterNames();
while(enums.hasMoreElements()){
String paramName = enums.nextElement();
String paramValue = this.getServletConfig().getInitParameter(paramName);
System.out.println(paramName+"="+paramValue);
}
//得到servlet的名称
String servletName = this.getServletConfig().getServletName();
System.out.println(servletName);
}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- servlet的配置 -->
<servlet>
<!-- servlet的内部名称,自定义。尽量有意义 -->
<servlet-name>mTestServlet</servlet-name>
<!-- servlet的类全名: 包名+简单类名 -->
<servlet-class>com.loaderman.demo.TestServlet</servlet-class>
<!-- 初始参数: 这些参数会在加载web应用的时候,封装到ServletConfig对象中 -->
<init-param>
<param-name>path</param-name>
<param-value>d:/b.txt</param-value>
</init-param>
<init-param>
<param-name>BBB</param-name>
<param-value>BBB's value</param-value>
</init-param>
<init-param>
<param-name>CCCC</param-name>
<param-value>CCCC's value</param-value>
</init-param>
</servlet> <!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
<servlet-name>mTestServlet</servlet-name>
<!-- servlet的映射路径(访问servlet的名称) -->
<url-pattern>/demotest</url-pattern>
</servlet-mapping>
</web-app>

运行日志如下:

测试学习中..
path=d:/b.txt
BBB=BBB's value
CCCC=CCCC's value
mTestServlet

ServletConfig对象的使用的更多相关文章

  1. ServletConfig对象详解

    在Servlet 的配置文件中,可以用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数之后,web容器在创建servlet实例对 ...

  2. ServletConfig对象和它在开发中的应用场

    package cn.itcast; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumerat ...

  3. Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象

    本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...

  4. HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象

    1 HTTP协议特点   1)客户端->服务端(请求request)有三部份     a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...

  5. servletConfig对象

    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,web容器在创建servlet实例对象 ...

  6. ServletConfig对象 【通过此对象获取到web.xml中的信息】

    用途:       1)想让当前的Servlet读取一些在web.xml文件配置的初始化参数时,                      可以使用ServletConfig对象,他是Servlet运 ...

  7. javaWEB总结(3):ServletConfig对象

    1.首先找到ServletConfig的API: ServletConfig封装了servlet的配置信息,并且可以获取servletContext对象. ServletConfig共有四个方法: 1 ...

  8. 小谈-—ServletConfig对象和servletContext对象

    一.servletContext概述 servletContext对象是Servlet三大域对象之一,每个Web应用程序都拥有一个ServletContext对象,该对象是Web应用程序的全局对象或者 ...

  9. Servlet(八):ServletContext对象和ServletConfig对象

    ServletContext 对象:问题: Request 解决了一次请求内的数据共享问题,session 解决了用户不同请求的数据共享问题,那么不同的用户的数据共享该怎么办呢?解决: 使用 Serv ...

  10. Servlet 使用ServletConfig对象来配置Servlet

    ServletContext和ServletConfig的关联 相同点: 1.都可以用来配置Servlet 2.都可以写在web.xml中. 区别点: 1.ServletContext对象,对于所有的 ...

随机推荐

  1. 阿里P7浅谈Java的Spring Bean

    1.简单java 类,实现 Serializable 接口 package com.curtis.bean;import java.io.Serializable;@SuppressWarnings( ...

  2. 如何使用Metasploit进行汽车安全性测试

    前言 针对汽车的攻击和入侵是当前最前沿的领域和最热门的话题之一.随着自动驾驶汽车技术的发展,在未来这个领域将变得更加重要.作为汽车黑客快速发展的一部分,我最喜欢的黑客工具之一Metasploit也开发 ...

  3. Reverse链表

    之前学习了关于reverse数组相关的东东(http://www.cnblogs.com/webor2006/p/6727419.html),这次再来对链表进行reverse一下,在面试中也很容易被问 ...

  4. php中float浮点型字段查询问题(数据对应不上)

    薪资表  查询员工提成时候  比如说表里面是88.8  查询出来则是89 反复调试 未果,最后查看表设计  把金额字段类型设置成float 最后换成double 解决问题!!!!

  5. 使用eclipse open type对话框

    需要依赖jdt的相关插件(ui和core) 具体调用方法: Shell parent= JavaPlugin.getActiveWorkbenchShell(); OpenTypeSelectionD ...

  6. 用CSS实现定位DIV绝对位于网页底部

    网上有一些解决方案,但会出现当改变窗口高度时,底部和正文重叠的BUG.尽管没有多少人会有事没事儿的去改变窗口高度,但设计嘛,追求的就是尽善尽美. 下面是我找到的一个比较完美的方法,来自国外的设计达人, ...

  7. django post请求 403错误解决方法

    --摘 第一次用Django做项目,遇到了很多问题. 今天遇到的问题是Django在处理post请求时多次出现403错误. 我先描述一下问题出现的环境:我用Django写了一个web服务端,姑且称它为 ...

  8. P2634 [国家集训队]聪聪可可 点分治

    思路:点分治 提交:1次 题解: 不需要什么容斥...接着板子题说: 还是基本思路:对于一颗子树,与之前的子树做贡献. 我们把路径的权值在\(\%3\)意义下分类,即开三个桶\(c[0],c[1],c ...

  9. Excel2013下拉框选择自动填充颜色

    图一写判断公式,图二选择应用范围.

  10. 在servlet中获取out.print("")

    只需要添加这一句代码 PrintWriter out=resp.getWriter();