context-param与init-param的区别与作用
<context-param>与<init-param>的区别与作用
web.xml的配置中<context-param>配置作用
1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>
context-param的值 = ServletContext.getInitParameter("context-param的键");
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.
<!-- 加载spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml,/WEB-
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<param-name>urlrewrite</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>cluster</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>servletmapping</param-name>
<param-value>*.bbscs</param-value>
</context-param>
<context-param>
<param-name>poststoragemode</param-name>
<param-value>1</param-value>
</context-param>
<listener>
<listener-class>com.laoer.bbscs.web.servlet.SysListener</listener-class>
</listener>
}
String rootpath = sce.getServletContext().getRealPath("/");
System.out.println("-------------rootPath:"+rootpath);
rootpath = rootpath.replaceAll("\\\\", "/");
} else {
rootpath = "/";
}
if (!rootpath.endsWith("/")) {
rootpath = rootpath + "/";
}
Constant.ROOTPATH = rootpath;
logger.info("Application Run Path:" + rootpath);
String urlrewrtie = sce.getServletContext().getInitParameter("urlrewrite");
boolean burlrewrtie = false;
if (urlrewrtie != null) {
burlrewrtie = Boolean.parseBoolean(urlrewrtie);
}
Constant.USE_URL_REWRITE = burlrewrtie;
logger.info("Use Urlrewrite:" + burlrewrtie);
其它略之....
/*最终输出
-------------rootPath:D:\tomcat_bbs\webapps\BBSCS_8_0_3\
2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
2009-06-09 21:51:46,526 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
2009-06-09 21:51:46,573 [com.laoer.bbscs.web.servlet.SysListener]-[INFO]
*/
web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<context-param>
<param-name>context/param</param-name>
<param-value>avalible during application</param-value>
</context-param>
<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>
package com.wes.controller;
import javax.servlet.http.HttpServlet;
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的init()方法中通过this.getInitParameter("param1")取得.
转载于:https://blog.51cto.com/keeplearning/1132030
相关文章:

C#中object的使用
转自:http://www.hackvip.com/article/sort0129/sort0143/Hackvip_233655.html C#中system.object的函数方法功能介绍 在C#中,Object类型是所有类型的根,大家平常开发中都要跟它打交道,但不见得对它里面的每个方法都知根知底&am…

百炼智百炼智能获5000万元Pre-A轮融资,深耕智能获客赛道
出品 | AI科技大本营(ID:rgznai100)2019年7月9日,百炼智能正式宣布完成5000万元Pre-A轮融资。该轮融资由东方嘉富领投,上市公司任子行、元投资本和酷我音乐创始人雷鸣等投资者跟投。百炼智能利用自有核心自然语言处理、图像识别和…

阿里巴巴连任 Java 全球管理组织席位
百度智能云 云生态狂欢季 热门云产品1折起>>> 11 月 23 日,阿里巴巴宣布连任 Java 全球管理组织 JCP 最高执行委员会委员,任期从 2018 年 12 月 4 号开始,为期两年。阿里表示,这意味将有更多中国开发者的声音被引入 Ja…

Django ModelForm操作及验证
一、内容回顾 Model- 数据库操作- 验证class A(MOdel): user email pwd Form - class LoginForm(Form): email fields.EmailField() user pwd - is_valid -> 每一个字段进行正则(字段内置正则)clean_字段 -> clean(__all__) -> _post_clean - cleand_data - err…

matlab外部接口简介
1、MATLAB外部接口主要包括3部分内容: (1)、MEX文件:外部程序调用接口; MEX文件是MATLAB解释器可以自动加载和运行的动态链接过程,MATLAB可以像调用内部函数一样调用它们。用户通过MEX文件可以完成以下功能: 可以在…

IE调试网页之一:F12 开发人员工具简介
F12 开发人员工具是可帮助生成和调试网页的一套工具。 编写出色的网页需要编码知识以及适当的工具来发现和调试难免会出现的问题。Windows Internet Explorer 9 提供所呈现代码的视图,F12 工具提供 Internet Explorer 9 如何在代码级别上解释这些页面的视图。F12 工…

100万奖金池,这不仅仅是场比赛
这,不仅仅是场比赛,更是对最前沿领域的共同探索2019 E起AI!2019年度的大赛,由香港科大商学院和香港科大商学院内地办事处主办,由香港科大EMBA校友企业安讯科技冠名,将围绕人工智能领域的创新及运用展开赛事…

举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
MATLAB Coder可以从MATLAB代码生成独立的、可读性强、可移植的C/C代码。 使用MATLAB Coder产生代码的3个步骤:准备用于产生代码的MATLAB算法;检查MATLAB代码的兼容性(有些matlab代码语句并不能生成c/c代码);产生最终使用的源代码或MEX。 利…

媒体智能应用落地靠5G,视频社交需要想象力
作者简介:卢迪,中国传媒大学新媒体研究院书记、副教授、硕士研究生导师。人工智能正逐渐成为重要的基础设施,在与各行各业传统领域紧密结合的基础上对社会生产、生活方式带来深刻的影响。中央多次强调媒体融合,“要探索将人工智能…

堆栈的链表实现
2019独角兽企业重金招聘Python工程师标准>>> /** stack3.c** Created on: Dec 6, 2012* Author: fsxchen* 链式结构的栈*/ #include #include #include #include typedef struct StackNode //节点结构体 {int data; //存放数…

registry ---------仓库 -----------------镜像
registry --------->仓库 ----------------->镜像 本地镜像都保存在宿主机下 : /var/lib/docker/containers 镜像从仓库下载下来.镜像保存在仓库中,而仓库存在于Registry中. Docker Hub 中有两种类型的仓库: 用户库: 用户仓库…

BigBiGAN问世,“GAN父”都说酷的无监督表示学习模型有多优秀?
作者 | Jeff Donahue、Karen Simonyan 译者 | Lucy、一一出品 | AI开发者大本营(ID:rgznai100)众所周知,对抗训练生成模型(GAN)在图像生成领域获得了不凡的效果。尽管基于GAN的无监督学习方法取得了初步成果࿰…

技术人生:与其鸟宿檐下,不如击翅风雨
人生途中,有些是无法逃避的,比如命运;有些是无法更改的,比如情缘;有些是难以磨灭的,比如记忆;有些是难以搁置的,比如爱恋……与其被动地承受,不如勇敢地面对;…

C++递归用法
转自:http://bbs.ikaka.com/showtopic-664019.aspx 简单谈谈C 递归的思想实现以及和循环的关系 很多初学者往往对递归迷惑不解,也在这上面花了不少的时间。其实教材上的例子很经典,只是它说的有一些唠叨了。初学者会看的头大的。编程是解决…

java导入excle表格,并且对表格进行相应的修改,并对表格数据进行整理,最后导出本地表格等一系列...
1.首先创建一个java项目 完成效果如下图所示 2.导入以下jar包 3.代码如下 其中行和列的操作是根据需求自动划分的 复制代码1 public class auto_date {2 private static List<List<String>> readExcel(File file) throws Exception {3 // 创建输入流,读…

RetinaFace,最强开源人脸检测算法
作者 | CV君 来源 | 我爱计算机视觉(ID:aicvmlaicvmlaicvml)人脸检测为目标检测的特例,是商业化最早的目标检测算法,也是目前几乎各大 CV 方向 AI 公司的必争之地。WIDER FACE 数据集是由香港中文大学发布的大型人脸数…

OpenCV中cvBlobsLib的编译与使用
OpenCV的cvBlobsLib库的作用类似于matlab中的regionprops函数。 cvBlobsLib库的编译: 首先从http://opencv.willowgarage.com/wiki/cvBlobsLib#Blobextractionlibrary下载最新的v8.3版本的源代码,其次机子上要装有OpenCV1.0的环境,从http:/…

AWS开源Firecracker,一种运行多租户容器服务的新虚拟化技术
现在的技术环境下,容器具有快速启动时间和高密度,VM可以对硬件虚拟化,具有更好的安全性,并对工作负载具有更好的隔离性。容器和VM的特性现在还不可兼得。 现在AWS开源了Firecracker,一种利用KVM的新虚拟化技术…

python urllib2 开启调试
2019独角兽企业重金招聘Python工程师标准>>> 发一段在网上看见. USING HTTPLIB.HTTPCONNECTION.SET_DEBUGLEVEL() WITH URLLIB2 Posted on October 1, 2007, 9:52 pm, by jamiegrove, under python. I’ve been trying to get the debug level turned on in urll…

从发展滞后到不断突破,NLP已成为AI又一燃爆点?
作者 | 刘家俊,一览群智CTO责编 | Jane出品 | AI科技大本营(ID :rgznai100)自然语言处理:人工智能连接主义复兴浪潮中的下一个突破口AI 行业应用是一片新的大陆,深度学习作为新大陆的基石,经历了…

matlab最小分类错误全局二值化算法
转自:http://download.csdn.net/detail/hupeng810/1511870 function imagBW kittlerMet(imag) % KITTLERMET binarizes a gray scale image imag into a binary image % Input: % imag: the gray scale image, with black foreground(0), and white % bac…

XShell连接Deepin
为什么80%的码农都做不了架构师?>>> 先让deepin安装openssh sudo apt-get install openssh-serverchkconfig ssh on 转载于:https://my.oschina.net/enzo/blog/110518

第三届“达观杯”文本智能信息抽取挑战赛丰厚奖金,群英集结,等你来战!...
近日,第三届“达观杯”文本智能信息抽取挑战赛正式上线启动(点击阅读原文,跳转报名页面),6月28日至8月31日,面向所有参赛选手开放竞赛结果提交。本届“达观杯”的任务是信息抽取。“达观杯”大赛由国内文本…

Spline interpolation and Savitzki-Golay smoothing
转自:http://octave.1599824.n4.nabble.com/Spline-interpolation-and-Savitzki-Golay-smoothing-td1675136.html ## natural-cubic-spline interpolation ## usage: yspline spline(x,y,xspline) ## example: ## x 0:10; y sin(x); ## xspline 0:0.1:10; y…

SpringBoot实现热部署(修改class不需要重启)
热部署: devtools可以实现页面热部署(即页面修改后会立即生效, 这个可以直接在application.properties文件中配置spring.thymeleaf.cachefalse来实现) 实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。 注意:因为采用的虚拟机机制&…

Oracle中查看表空间的使用率的脚本
如题: select f.tablespace_name tablespace_name, round((d.sumbytes / 1024 / 1024 / 1024), 2) total_g, round(f.sumbytes / 1024 / 1024 / 1024, 2) free_g, round((d.sumbytes - f.sumbytes) / 1024 / 1024 / 1024, 2) used_g, round((d.sumbytes - f.sumbyte…

vue实现多个元素或多个组件之间动画效果
2019独角兽企业重金招聘Python工程师标准>>> 多个元素的过渡 <style>.v-enter,.v-leave-to{opacity: 0;}.v-enter-acitve,.v-leave-active{opacity: opacity 1s;} </style> <div idapp><transition><div v-ifshow>hello world</di…

干货 | 20个教程,掌握时间序列的特征分析(附代码)
作者 | Selva Prabhakaran 译者 | Tianyu责编 | Jane出品 | AI科技大本营(ID: rgznai100)【导语】时间序列是指以固定时间为间隔的序列值。本篇教程将教大家用 Python 对时间序列进行特征分析。1、什么是时间序列?时间序列是指以固定时间为间…

利用OpenCV求取图像的重心
转自:http://blog.csdn.net/lxiaoxiaot/article/details/6539834 不规则区域的矩,表示把一个归一化的灰度级图像函数理解为一个二维随机变量的概率密度。 这个随机变量的属性可以用统计特征--矩(Moments)来描述。通过假设非零的像…

C++中Ansi、Unicode、UTF8字符串之间的转换和写入
转自: http://dark0729.blogbus.com/logs/51496111.html Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件 Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连…