精华内容
下载资源
问答
  • context-param和init-param区别

    千次阅读 2018-09-29 20:45:00
    context-param是应用范围内的参数,存放在ServletContext中 web.xml中的配置 <context-param> <param-name>context/param</param-name> <param-value&...

     

    context-param

    context-param是应用范围内的参数,存放在ServletContext中

    web.xml中的配置

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

      参数获取:通过ServletContext对象

    Stringvalue=(String)servletContext.getAttribute("name");

     注:当服务器启动时,服务器会为每一个WEB应用创建一个唯一的ServletContext对象代表WEB应用。

    每一个web应用中的servlet共享一个ServletContext,所以Servlet之间就可以通过该对象来实现数据通信。

             ContextServlet的生命周期:Servlet的生命周期是最长的,当服务器启动时被创建,服务器关闭或web应用被移出服务器时被销毁。

            

    (1)调用ServletConfig类的getServletContext()方法 在init(ServletConfigconfig)方法中,使用ServletContextcontext=config.getServletContext();

    (2)调用GenericServlet类的getServletContext()方法 其实这种方式也是调用ServletConfig类的getServletContext()方法,因为GenericServlet类实现了ServletConfig接口;

    (3)调用HttpSession类的getServletContext()方法: HttpSession也是一个接口,我们会在后面讲这个接口,它有一个方法可以获取到ServletContext对象;

    (4)调用ServletContextEvent类的getServletContext()方法 ServletContextEvent类只有一个方法,就是getServletContext(),这个类我们后面也会讲到。

            配置作用:

    1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>

    2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.

    3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.

    4.容器创建<listener></listener>中的类实例,即创建监听.

    5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();

    6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
    换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.

    7.举例.你可能想在项目启动之前就打开数据库.
    那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.

    8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.

    init-param

    init-param是Servlet范围内的参数,只能在Sercvlet的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的init()方法中通过this.getInitParameter("param1")取得.

    init-param配置用途:初始化的数据,系统路径,url过滤等等,主要是一些静态常量,写死的 

    展开全文
  • context-param和init-param

    千次阅读 2012-06-24 20:31:29
    context-param元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。参数名在整个Web应用中必须是惟一的。 contextConfigLocation ...init-param是servlet参数,范围只是在指定的servlet内

    context-param元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。参数名在整个Web应用中必须是惟一的。

    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			classpath:applicationContext.xml
    		</param-value>
    	</context-param>
    多个参数用逗号分割。


    init-param是servlet参数,范围只是在指定的servlet内

      <filter>
      	<filter-name>filter</filter-name>
      	<filter-class>org.han.filter.MyFilter</filter-class>
      	<init-param>
      		<param-name>encoding</param-name>
      		<param-value>UTF-8</param-value>
      	</init-param>
      </filter>


    context-param 的获取方法是: getServletContext().getInitParameter("configName");

    init-param 的获取方法是: getInitParameter("configName");


    展开全文
  • web.xml里面可以定义两种参数:(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: context-paramparam-name>context/paramparam-name> param-value>avalible during applicationparam...
     web.xml里面可以定义两种参数:
    
    (1)application范围内的参数,存放在servletcontext中,在web.xml中 配置如下:
    < 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中可以通过代码分别取用:

    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")得到
    第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得

    展开全文
  • Arg_ParamName_Name” 后来通过同学指导以及自己上网查了一下,明白了出现索引超出范围的两种原因: 1:比如一个循环 for (int i = 1; i < Model.detailsModels.Count; i++){} Model.detailsModels.Count...

           做C#机房重构的时候遇到的这个问题System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。 Arg_ParamName_Name”

    后来通过同学指导以及自己上网查了一下,明白了出现索引超出范围的两种原因:

    1:比如一个循环 for (int i = 1; i < list.Count; i++){}

    list.Count小于0,这样就会出现索引超出范围,可以在循环上加一个判断if(list.Count > 0){}

    2:在获取数据时,数据库可能没有一个数据而导致出现该异常。比如代码里面txtName.Text根本没有获取到对应数据,而在页面上展示的时候出现了list[0].UserName,这样也会报错。

    而我会出现这个错误也是第二种原因,在获取数据的时候,数据库没有这个数据,或者说是数据被自己修改后不一样且不对应了。

    展开全文
  • jsp ${param.id}用法

    2021-01-08 20:53:09
    它的取值范围Page,Request,Session,Application。 ${param.id} 与输入有关,相对于 request.getParameter(“id”)。意思是获得输入的参数id。 因为a.jsp提交到b.jsp过程中,id不属于Page,Request,Session,...
  • context-param 作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。 param-name 设定上下文的参数名称。必须是唯一名称 param-value 设定的参数名称的值 初始化过程: 在启动Web项目时,容器(比如...
  • JSP中${param.xxx}

    千次阅读 2019-01-14 14:59:10
    它的意思是取出某一范围中名称为param.xxx的变量。因为我们并没有指定哪一个范围param.xxx,所以它会依序从Request、Session、Application范围查找。假如途中找到param.xxx,就直接回传,不再继续找下去,但是假如...
  • assert_param()函数

    千次阅读 多人点赞 2018-09-14 20:04:20
    我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。 4 断言机制函数...
  • web.xml里面可以定义两种参数: (1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: xml 代码 <context-param>  <param-name>context/param</param-name> ...
  • (1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:  context-param>  param-name>context/paramparam-name>  param-value>avalible during applicationparam
  • 如何使用assert_param

    2019-03-04 21:19:28
    转——如何使用assert_param 在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。...所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给...
  • 一、变量 这个是放在servlet里面的,只有此servlet可以访问 <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>...init-param> <param-name>a
  • javaEE项目Servlet中读取web.xml中context-param 和 init-param参数一、问题描述1、在servlet的init方法中,分别读取 context-param参数和init-param参数,结果分别的 null 和 获取到的value。2、大概代码如下:a. ...
  • 应用范围 在使用Loadrunner进行性能测试时,经常遇到一种情况,需要通过web页面修改某事务的状态。于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的...
  • assert_param()的使用

    千次阅读 2017-07-08 08:58:08
    在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。...所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3, 则这个assert_
  • web.xml里面可以定义两种参数: (1)application范围内的参数,存放在servletcontext中,在web.xml中配置... context/param   avalible during application    (2)servlet范围内的参数,只能在servlet的init
  • assert_param的应用

    千次阅读 2016-02-04 14:59:49
    在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程... 所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个ass
  • web.xml里面可以定义两种参数: 1.application范围内的参数,... context/param avalible during application 2.servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下: MainServlet
  • IDEA为方法的参数@param配置注释

    千次阅读 2019-11-27 19:31:20
    IDEA方法参数@param的注解配置 ...5.定义操作如何执行(5.1)、定义注释的格式(5.2)、定义注释的使用范围(5.3) 注意:这里的5.2我自己的完整格式为: * $param$ * @return $return$ * @author: Asmita...
  • (1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: context-param>  param-name>context/paramparam-name>  param-value>avalible during applicationparam-
  • web.xml里面可以定义两种参数:(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:xml 代码 context/param avalible during appli
  • context-param和init-param区别 web.xml
  • 4.4 ipu_param_mem.h头文件分析

    千次阅读 2016-08-23 18:33:10
    struct ipu_ch_param_word { uint32_t data[5]; uint32_t res[3]; }; struct ipu_ch_param { struct ipu_ch_param_word word[2]; }; 因为CPMEM是两个160位的word,所以每个word使用5个uint32_t类型
  • 出现索引超出范围的两种原因: 1:比如一个循环 for (int i = 1; i < Model.detailsModels.Count; i++){} Model.detailsModels.Count小于0,这样就会出现索引超出范围,可以在循环上加一个判断if(Model....
  • web.xml里面可以定义两种参数: (1)application范围内的参数,存放在servletcontext... context/param  avalible during application   (2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml
  •  <param-name>context/param</param-name>  <param-value>avalible during application</param-value> </context-param> (2)servlet范围内的参数,只能在servlet的init()方法中取得, 在web.xml中配置如下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 195,955
精华内容 78,382
关键字:

param范围