首页 > 其他分享 >ServletConfig对象

ServletConfig对象

时间:2022-10-19 15:32:38浏览次数:47  
标签:java String 对象 ServletConfig ServletConfigDemo import servlet


ServletConfig对象


作用


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


对象创建和得到


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


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



servlet的初始化参数配置


 

​​<servlet>​​​​    <servlet-name>ServletConfigDemo</servlet-name>​​​​    <servlet-class>com.cn.servlet.ServletConfigDemo</servlet-class>​​​​    <!-- 初始化参数:这些参数会在加载web应用的时候,封装到ServletConfig对象中 -->​​​​    <init-param>​​​​     <param-name>path</param-name>​​​​     <param-value>f:/b.txt</param-value>​​​​    </init-param>​​​​    <init-param>​​​​      <param-name>param1</param-name>​​​​     <param-value>value1</param-value>​​​​    </init-param>​​​​    <init-param>​​​​      <param-name>param2</param-name>​​​​     <param-value>value3</param-value>​​​​    </init-param>​​​​  </servlet>​​


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



ServletConfig的API:


java.lang.String getInitParameter(java.lang.String name)  根据参数名获取Servlet参数值


java.util.Enumeration getInitParameterNames()    获取Servlet所有初始化参数名


ServletContext getServletContext()     得到servlet上下文对象


java.lang.String getServletName()       得到servlet的名称



Demo:


​​package com.cn.servlet;​​​​​​​​​​​​import java.io.BufferedReader;​​​​import java.io.File;​​​​import java.io.FileReader;​​​​import java.io.IOException;​​​​import java.util.Enumeration;​​​​​​​​import javax.servlet.ServletConfig;​​​​import javax.servlet.ServletException;​​​​import javax.servlet.http.HttpServlet;​​​​import javax.servlet.http.HttpServletRequest;​​​​import javax.servlet.http.HttpServletResponse;​​​​​​​​public class ServletConfigDemo extends HttpServlet {​​​​ ​​​​  /**​​​​  * 以下的代码,GenericServlet已经写了,无需自己写。​​​​   */​​​​// private ServletConfig config;​​​​ /**​​​​  * 1)tomcat服务器在加载web应用的时候,会把web.xml中该Servlet的初始化参数封装到ServletConfig对象中​​​​  * 2)tomcat服务器调用init方法传入ServletConfig对象中​​​​   */​​​​ /*@Override​​​​ public void init(ServletConfig config) throws ServletException {​​​​    this.config = config;​​​​ }*/​​​​ ​​​​  ​​​​  ​​​​  @Override​​​​ protected void doGet(HttpServletRequest req, HttpServletResponse resp)​​​​      throws ServletException, IOException {​​​​    ​​​​//    File file = new File("f:/a.txt");​​​​//   File file = new File("f:/b.txt");​​​​   ​​​​    /*​​​​     * 读取Servlet初始化参数​​​​    */​​​​   ServletConfig config = this.getServletConfig();​​​​   String path = config.getInitParameter("path");​​​​    /*​​​​     * 读取内容​​​​    */​​​​//   BufferedReader buffReader = new BufferedReader(new FileReader(file));​​​​   BufferedReader buffReader = new BufferedReader(new FileReader(path));​​​​   String str = null;​​​​    while((str = buffReader.readLine()) != null){​​​​     System.out.println(str);​​​​    }​​​​   ​​​​    //查询当前servlet的所有初始化参数​​​​   Enumeration<String> enums = this.getServletConfig().getInitParameterNames();​​​​    while(enums.hasMoreElements()){​​​​     String parameterName = enums.nextElement();​​​​     String parameterValue = this.getServletConfig().getInitParameter(parameterName);​​​​      System.out.println(parameterName + ":" + parameterValue);​​​​   }​​​​   ​​​​    //获取当前servlet的名称​​​​    String servletName = this.getServletName();​​​​   System.out.println("当前servlet的名字:" + servletName);​​​​  }​​​​}​​


web.xml


​​<?xml version="1.0" encoding="UTF-8"?>​​​​<web-app version="3.0" ​​​​  xmlns="http://java.sun.com/xml/ns/javaee" ​​​​  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ​​​​  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ​​​​  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">​​​​  <display-name></display-name>​​​​  <servlet>​​​​    <servlet-name>InitDemo</servlet-name>​​​​   <servlet-class>com.cn.servlet.InitDemo</servlet-class>​​​​    <!-- 让servlet对象自动加载 -->​​​​    <load-on-startup>1</load-on-startup>  <!-- 注意: 整数值越大,创建优先级越低!! -->​​​​  </servlet>​​​​  <servlet>​​​​    <servlet-name>ThreadDemo</servlet-name>​​​​    <servlet-class>com.cn.servlet.ThreadDemo</servlet-class>​​​​  </servlet>​​​​  <servlet>​​​​    <servlet-name>ServletConfigDemo</servlet-name>​​​​    <servlet-class>com.cn.servlet.ServletConfigDemo</servlet-class>​​​​    <!-- 初始化参数:这些参数会在加载web应用的时候,封装到ServletConfig对象中 -->​​​​    <init-param>​​​​      <param-name>path</param-name>​​​​     <param-value>f:/b.txt</param-value>​​​​    </init-param>​​​​    <init-param>​​​​      <param-name>param1</param-name>​​​​     <param-value>value1</param-value>​​​​    </init-param>​​​​    <init-param>​​​​      <param-name>param2</param-name>​​​​     <param-value>value3</param-value>​​​​    </init-param>​​​​  </servlet>​​​​  <servlet>​​​​    <servlet-name>LifeDemo</servlet-name>​​​​    <servlet-class>com.cn.servlet.LifeDemo</servlet-class>​​​​  </servlet>​​​​​​​​​​​​  <servlet-mapping>​​​​   <servlet-name>InitDemo</servlet-name>​​​​   <url-pattern>/InitDemo</url-pattern>​​​​  </servlet-mapping>​​​​  <servlet-mapping>​​​​    <servlet-name>ThreadDemo</servlet-name>​​​​    <url-pattern>/ThreadDemo</url-pattern>​​​​  </servlet-mapping>​​​​  <servlet-mapping>​​​​    <servlet-name>ServletConfigDemo</servlet-name>​​​​    <url-pattern>/ServletConfigDemo</url-pattern>​​​​  </servlet-mapping>​​​​  <servlet-mapping>​​​​    <servlet-name>LifeDemo</servlet-name>​​​​    <url-pattern>/LifeDemo</url-pattern>​​​​  </servlet-mapping>​​​​</web-app>​​


效果:




ServletConfig对象_ServletContext


标签:java,String,对象,ServletConfig,ServletConfigDemo,import,servlet
From: https://blog.51cto.com/u_15769923/5774504

相关文章

  • Kubernetes--管理Pod对象的容器(2)
    自定义运行的容器化应用由Docker镜像启动容器时运行的应用程序在相应的Dockerfile中由ENTRYPOINT指令进行定义,传递给程序的参数则通过CMD指令指定,ENTRYPOINT指令不存在时......
  • SQLBackupAndFTP Features & PricesDownloadBuyLinuxMore 备份数据库到对象存储
    额,最近妖孽又开始泛滥了,怎么能把数据库备份到对象存储,避免丢数据SQLBackupAndFTPDownloadSQL备份和FTP可以做什么?SQLBackupAndFTP是一款软件,用于备份SQLServer、......
  • el-select选择对象value-key属性
    <el-rowv-for="(obj,idx)indeliveryList":key="idx"><el-col:span="8"><el-form-itemlabel="交付中心"><el-select......
  • 207. 面向对象(上)可变参数形参
    207.面向对象(上)可变参数形参jdk5.0新增的内容具体使用:​ 1,格式:数据类型...变量名​ 2,当调用可变个数形参的方法时,传入的参数可以时:0个,1......
  • pageContext对象
    【pageContext对象】//可以存储变量注意:这种存储方式只能在本页面获取,其他页面无法获取。pageContext.setAttribute("name","孙悟空");//获取方法为:Stringname=(St......
  • ini配置文件与ConfigParser对象
    ini配置文件与ConfigParser对象目录结构​​ini配置文件与ConfigParser对象​​​​ini配置文件简介​​​​configparser模块中的ConfigParser类​​​​常用方法​​​​......
  • 试验2 类与对象(2)
    试验任务4Complex.cpp#pragmaonce#include<iostream>#include<cmath>classComplex{public: Complex(); Complex(doublenewreal); Complex(doublenewreal,doubl......
  • ADO.NET中的五个主要对象
    Connection物件Connection对象主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET的最底层,我们可以自......
  • 203. 面向对象(上) 方法重载
    203.面向对象(上)方法重载方法的重载(overload)定义:在同一个类中,允许存在一个以上的同名方法,只要它的参数个数或参数类型不同即可."两同一不同":同一个类,相......
  • 实验二 类与对象(2)
     Task4:Complex.hpp 1#pragmaonce23//Complex类的定义4#include<iostream>5#include<string>6#include<math.h>78usingstd::cout;9usin......