zoukankan      html  css  js  c++  java
  • Servlet获取配置信息(ServletConfig)

    ServletConfig

    ServletConfig:当Servlet容器初始化Servlet时,Servlet容器会给Servlet的init方法传入一个ServletConfig。ServletConfig封装可以通过@WebServlet或者部署描述符传给Servlet的配置信息。这样传入的每条信息就叫做一条初始参数,要在Servlet容器传给Servlet的init方法的ServletConfig中调用getInitParameter方法getInitParameter的方法签名如下:

    java.lang.String getInitParameter(java.lang.String name)

    此外,getInitParameterNames方法则是返回所有初始参数名称的一个Enumeration:

    java.util.Enumeration<java.lang.String> getInitParameterNames();

    例如:为了获取contactName参数值,要使用下面的方法签名:

    String contactName=servletConfig.getInitParameter("contactName");

    除了getInitParamter和getInitParamterNames外,ServletConfig还提供了另外一个很有用的方法:getServletContext。利用这个方法可以从Servlet内部获取ServletContext。

    web.xml中配置信息的获取,一共有三种方式

    public class servletConfig extends HttpServlet{
    
    	private ServletConfig config;
    	
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    	// TODO Auto-generated method stub
    	//1.得到ServletConfig对象的第一种方式
    	String encoding1=config.getInitParameter("encoding");
    	System.out.println(encoding1);	
    		
    	//2.得到ServletConfig对象的第二种方式
            //getServletConfig()方法在Servlet接口 中定义的,GenericServlet重写了该方法
    	String encoding3=this.getServletConfig().getInitParameter("encoding");
    	System.out.println(encoding3);
    		
    		
    	//3.得到ServletConfig对象的第三种方式
            //HttpServlet继承了GenericServlet,GenericServlet实现了ServletConfig接口
            //ServletConfig接口中有getInitParameter()方法,GenericServlet重写了该方法
    	String encoding2=this.getInitParameter("encoding");
    	System.out.println(encoding2);
    	}	
    }
    

      原web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    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_2_5.xsd">
    <display-name></display-name>	
    <servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>com.zk.myservlet.servletConfig</servlet-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    

      

  • 相关阅读:
    深度分析HTML5在移动开发方面的发展状况
    腾讯实习生笔试题
    更简洁的 CSS 清理浮动方式
    图片垂直居中的使用技巧
    Css Reset(复位)整理
    70565 Pro: Designing and Developing Enterprise Applications Using the Microsoft .NET Framework 3.5 考试感言
    Android SDK 有bug
    70540 TS: Microsoft Windows Mobile 5.0 Application Development 考试感言
    70565 Pro: Designing and Developing Enterprise Applications Using the Microsoft .NET Framework 3.5 考试感言
    TS:70503 Windows Communication Foundation TS: 70505 Windows Form Application Dev 考试感言
  • 原文地址:https://www.cnblogs.com/longlyseul/p/9942413.html
Copyright © 2011-2022 走看看