ServletConfig中的方法


ServletConfig中有哪些方法:

    javax.servlet.ServletConfig;

String

getInitParameter(String name):

通过name获取value

Enumeration

getInitParameterNames():

获取所有初始化参数的名字

ServletContext

getServletContext():

获取ServletContext [Servlet上下文] 对象。

String

getServletName():

获取servletname

先上代码:

    AServlet.java

  

package com.zhixi.zhang;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class AServlet implements Servlet {
    private ServletConfig config;
    @Override
    public void init(ServletConfig config) throws ServletException {
        //将局部变里config赋值给实例变里config
        //目的:在service方法中也可以使用config
        this.config = config;
        System.out.println("AServlet --> ServletConfig = "+config.toString());
    }

    @Override
    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
        //将value打印到网页
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        //获取ServletConfig对象
        ServletConfig config = getServletConfig();
        
        /*//通过初始化参数的name获取value
        String driver = config.getInitParameter("driver");
        String url = config.getInitParameter("url");
        String user = config.getInitParameter("user");
        String password = config.getInitParameter("password");
        
        //获取所有出初始化参数的名字
        Enumeration initParameterNames = config.getInitParameterNames();
        //遍历输出
        while(initParameterNames.hasMoreElements()){
            String name = initParameterNames.nextElement();
            //通过name获取value
            String value = config.getInitParameter(name);
            out.print(name+"="+value);
            out.print("
"); } out.print("
"); out.print(driver); out.print("
"); out.print(url); out.print("
"); out.print(user); out.print("
"); out.print(password);
*/ //获取servletname String servletName = config.getServletName(); out.print(""+servletName+""); out.print("
"); //打印getSerrvletContext ServletContext servletContext = config.getServletContext(); out.print(servletContext);//org.apache.catalina.core.ApplicationContextFacade@16d12dde } @Override public void destroy() { } @Override public ServletConfig getServletConfig() { return config; } public String getServletInfo() { return null; } }

    web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>老杜Servlet_04_ServletConfig接口display-name>
  <welcome-file-list>
    <welcome-file>index.htmlwelcome-file>
  welcome-file-list>
  
  <servlet>
      <servlet-name>aservlet-name>
      <servlet-class>com.zhixi.zhang.AServletservlet-class>
      
       <init-param>
          <param-name>driverparam-name>
          <param-value>com.mysql.jdbc.Driverparam-value>
      init-param>
      <init-param>
          <param-name>urlparam-name>
          <param-value>jdbc:mysql//localhost:3306/bjpowernodeparam-value>
      init-param>
      <init-param>
          <param-name>userparam-name>
          <param-value>rootparam-value>
      init-param>
      <init-param>
          <param-name>passwordparam-name>
          <param-value>adamin123param-value>
      init-param>
  servlet>
  <servlet-mapping>
      <servlet-name>aservlet-name>
      <url-pattern>/aurl-pattern>
  servlet-mapping>
    
  <servlet>
      <servlet-name>bservlet-name>
      <servlet-class>com.zhixi.zhang.BServletservlet-class>
  servlet>
  <servlet-mapping>
      <servlet-name>bservlet-name>
      <url-pattern>/burl-pattern>
  servlet-mapping>
web-app>

 方法分析:

1 getInitParmeter(String name)

//web.xml信息

 

//java文件

 

//获取到对应的value信息

 

2 getInitParameterNames():

 

//输出

3 getServletContext():

 

4 getServletName()

获取servletname

 

 

ServletConfig到底是什么?

  ServletConfig是一个Servlet对象的配置信息对象,ServletConfig对象中封装了一个Servlet对象的置信息。Servlet对象的配置信息到web.xml文件中。

  一个Servlet对象对应一个ServletConfig对象,100个Servlet对象对应100个ServletConfig对象。