`

读取容器配置参数---context-param和init-param区别

阅读更多
web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:

<context-param>  
           <param-name>context/param</param-name>  
           <param-value>avalible during application</param-value>  
</context-param>  

<context-param>          

<param-name>context/param</param-name>          

<param-value>avalible during application</param-value>

</context-param>


(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:


<servlet>  
    <servlet-name>MainServlet</servlet-name>  
    <servlet-class>com.wes.controller.MainServlet</servlet-class>  
    <init-param>  
       <param-name>param1</param-name>  
       <param-value>avalible in servlet init()</param-value>  
    </init-param>  
    <load-on-startup>0</load-on-startup>  
</servlet>  

<servlet>    

<servlet-name>MainServlet</servlet-name>    

<servlet-class>com.wes.controller.MainServlet</servlet-class>    

<init-param>      

<param-name>param1</param-name>      

<param-value>avalible in servlet init()</param-value>    

</init-param>    

<load-on-startup>0</load-on-startup>

</servlet>

在servlet中可以通过代码分别取用:


package com.wes.controller;   
  
import javax.servlet.ServletException;   
import javax.servlet.http.HttpServlet;   
  
public class MainServlet extends HttpServlet{   
  
    public MainServlet(){   
        super();   
      }   
    public void init() throws ServletException ...{   
          System.out.println("下面的两个参数param1是在servlet中存放的");   
          System.out.println(this.getInitParameter("param1"));   
          System.out.println("下面的参数是存放在servletcontext中的");   
          System.out.println(getServletContext().getInitParameter("context/param"));   
       }   
}  

package com.wes.controller;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

public class MainServlet extends HttpServlet{ 

    public MainServlet(){        

       super();    

}    

public void init() throws ServletException ...{        

System.out.println("下面的两个参数param1是在servlet中存放的");       

System.out.println(this.getInitParameter("param1"));        

System.out.println("下面的参数是存放在servletcontext中的");        

System.out.println(getServletContext().getInitParameter("context/param"));        } }


第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到

在JSP中可以用config.getServletContext().getInitParameter("context/param")得到

或者this.getServletContext().getInitParameter("context/param")


第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得
[color=green][/color][size=x-large][/size][align=left][/align]
分享到:
评论

相关推荐

    spring配置中<context-param> 和<init-param>的 区别

    在Spring框架中,`&lt;context-param&gt;` 和 `&lt;init-param&gt;` 是两种不同的参数配置方式,它们在Web应用的初始化阶段起着关键作用。了解这两者的区别是优化和理解Spring应用程序运行时行为的重要知识点。 首先,`&lt;context...

    <context-param>与<init-param>的区别与作用

    在Java Web开发中,`&lt;context-param&gt;`和`&lt;init-param&gt;`是两种常见的配置元素,它们都用于传递参数,但作用范围和应用场景有所不同。本文将详细介绍两者之间的区别以及它们在实际开发中的应用。 首先,`&lt;context-...

    解析web.xml中在Servlet中获取context-param和init-param内的参数

    总的来说,`context-param`和`init-param`提供了配置应用程序和Servlet初始化参数的能力,使得我们可以灵活地设定和读取必要的配置信息,以适应不同环境的需求。正确理解和使用这两个元素,对于优化代码结构、提高...

    web.xml中的listen

    - `&lt;context-param&gt;`标签用于定义Web应用级别的配置参数,如上述示例中的`myconfig`参数,它指向了一个自定义配置文件。 - `&lt;listener&gt;`标签用于指定自定义的监听器类`InitGlobalConfig`。 - `...

    Servlet初始化参数和上下文初始化参数训练及处理数据库示例[汇编].pdf

    本文主要讲解 Servlet 初始化参数和上下文初始化参数的概念、定义、配置和获取方法。同时,通过实践演示,展示了如何在 Servlet 中读取初始化参数和上下文初始化参数,并将其显示在网页上。 一、Servlet 初始化参数...

    SSI技术整合

    该属性可以确保SSIServlet能够正确地读取和写入文件系统。 #### 四、使用SSI技术的优势 1. **简化开发**:通过SSI技术可以在单个页面中包含多个文件,从而减少重复代码,提高代码复用率。 2. **增强灵活性**:...

    基于全注解方式的SSH基础框架

    - **proxool.properties**: 数据库连接池配置文件,定义了连接池的大小和其他参数。 - **applicationContext.xml**: Spring的核心配置文件,用于定义Bean和依赖注入关系。 ##### Web.xml详解 `web.xml`是项目的...

    Struts+Spring+Ibatis整合框架搭建配置文档

    1. 配置数据源:在`applicationContext.xml`中,我们需要配置JDBC数据源,通常通过`PropertyPlaceholderConfigurer`来读取数据库连接的属性文件,如`jdbc.properties`。 ```xml &lt;value&gt;classpath:jdbc....

    web.xml配置文件详解

    它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其配置项及其作用至关重要。 #### 二、web.xml文件结构 `web.xml`文件的最外层标签为`&lt;web-app&gt;`,所有的配置项都需要定义在这个标签...

    SSH和SSI等框架常用基础配置web.xml

    3. **`context-param`标签**:定义全局配置参数。 4. **`filter`及`filter-mapping`标签**:定义过滤器及其映射规则。 5. **`listener`标签**:注册监听器。 6. **`servlet`及`servlet-mapping`标签**:定义Servlet...

    dispatcher 源码详解

    - **contextConfigLocation**:此处的配置可以为 DispatcherServlet 指定额外的上下文配置文件,使得 DispatcherServlet 能够读取这些配置,并在初始化时合并这些配置信息。 #### 四、总结 综上所述,...

    servlet系列2

    当Servlet被容器加载时,会调用`init()`方法,此时我们可以获取这些配置参数。以下是一个简单的Servlet实例: ```java import javax.servlet.*; import java.io.IOException; public class MyServlet extends ...

    struts1+spring+hibernate整合示例

    此段配置指定了Spring上下文加载监听器,该监听器会在Web容器启动时自动初始化Spring的ApplicationContext。 ```xml &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/...

    Geoserver解决Tomcat跨域问题文件.rar

    "java-property-utils-1.9.jar"则是一个辅助库,提供了读取和处理Java属性文件的工具,可能在配置CORS过滤器时需要用到。 要解决Geoserver的跨域问题,你需要执行以下步骤: 1. 将"cors-filter-1.7.jar"添加到...

    配置spring

    在本文中,我们将深入探讨如何配置Spring框架,以及在整合Struts和iBatis时需要注意的关键步骤。Spring是一个广泛使用的Java应用程序框架,它提供了一种模块化和松耦合的方式来组织和管理应用组件。Struts则是一个...

    SpringSpringMVCMyBatis整合.docx

    3. **配置全局参数**:设置启动时读取的Spring配置文件路径。 4. **配置过滤器**:为了处理字符编码问题,通常会配置`CharacterEncodingFilter`。 **具体配置示例**: ```xml &lt;?xml version="1.0" encoding="UTF-8...

Global site tag (gtag.js) - Google Analytics