zoukankan      html  css  js  c++  java
  • [原创]java WEB学习笔记05:Servlet中的ServletConfig对象

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用

    内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。

    本人互联网技术爱好者,互联网技术发烧友

    微博:伊直都在0221

    QQ:951226918

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1.关于ServletConfig

      1)Servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外部的资源,所以,Serlvet引擎需要将表示Servlet容器的对象传递给Servlet。另外,在web.xml文件中为某个Servlet设置的友好名称和初始化参数等信息也需要传递给该Servlet;

      2)Servlet引擎将代表Servlet容器的对象(ServletContext)Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet。ServletConfig接口则用于定义ServletConfig对象需要对外提供的方法,以便在Servlet程序中可以调用这些方法来获取有关信息;

      3)Servlet引擎调用Servlet的实例对象的init(ServletConfig config)方法将ServletConfig对象传递给Servlet;

      4)Servlet.getServletConfig()方法必须返回init(ServletConfig config)方法传递进来的这个ServletConfig对象的引用。

    2.ServletConfig方法:getInitParameterNames(), getInitParameter(), getServletName(), getServletContext()

     

      1)配置 Servlet 的初始化参数

     1 <!-- 配置servlet 和 映射 servlet 且该节点必须在load-on-starup节点的前面 -->
     2     <servlet>
     3         <!-- Servlet 的注册名 -->
     4         <servlet-name>helloServlet</servlet-name>
     5         <!-- Servlet 的全类名 -->
     6         <servlet-class>com.jason.javaweb.helloServlet</servlet-class>
     7 
     8 
     9         <!-- 配置Servlet的初始化参数 -->
    10         <init-param>
    11             <!--参数名 -->
    12             <param-name>user</param-name>
    13             <!-- 参数值 -->
    14             <param-value>root</param-value>
    15         </init-param>
    16 
    17         <init-param>
    18             <param-name>password</param-name>
    19             <param-value>zhangzhen</param-value>
    20         </init-param>
    21 
    22         <!-- 可以指定Servlet 被创建的时机 -->
    23         <load-on-startup>1</load-on-startup>
    24 
    25     </servlet>

      2)获取初始化参数:

      ① getInitParameter(String name): 获取指定参数名的初始化参数

      ② getInitParameterNames():获取参数组成的enumeration 对象

      ③getServletName():获取Servlet配置名

     1 @Override
     2     public void init(ServletConfig servletConfig) throws ServletException {
     3         System.out.println("init");
     4         
     5         //获取一个指定的初始化参数
     6         String user = servletConfig.getInitParameter("user");
     7         System.out.println(user);
     8         //获取初始换参数组成的enumeration
     9         Enumeration<String>  names = servletConfig.getInitParameterNames();    
    10         while(names.hasMoreElements()){
    11             String name = names.nextElement();
    12             String value = servletConfig.getInitParameter(name);
    13             System.out.println("name : " + name +"  value : "+value);
    14         }
    15     }

     

      

      

  • 相关阅读:
    Educational Codeforces Round 85 D. Minimum Euler Cycle(模拟/数学/图)
    Educational Codeforces Round 85 C. Circle of Monsters(贪心)
    NOIP 2017 提高组 DAY1 T1小凯的疑惑(二元一次不定方程)
    Educational Codeforces Round 85 B. Middle Class(排序/贪心/水题)
    Educational Codeforces Round 85 A. Level Statistics(水题)
    IOS中的三大事件
    用Quartz 2D画小黄人
    strong、weak、copy、assign 在命名属性时候怎么用
    用代码生成UINavigationController 与UITabBarController相结合的简单QQ框架(部分)
    Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法
  • 原文地址:https://www.cnblogs.com/jasonHome/p/5493058.html
Copyright © 2011-2022 走看看