javaWeb项目之web.xml配置

从零开始:使用COLMAP与OpenMVS构建高精度三维Mesh模型 本文为零基础新手提供了使用COLMAP与OpenMVS构建高精度三维Mesh模型的完整实战指南。详细介绍了从环境配置、数据采集黄金法则,到COLMAP稀疏与稠密重建、OpenMVS网格生成与纹理映射的每一步操作,并分享了关键的避坑技巧与参数调优建议,帮助读者从二维照片中成功重建出属于自己的三维模型。 阅读详情

一:web.xml加载过程

  简单说一下,web.xml的加载过程。当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等)。首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被启动起来。

  启动WEB项目的时候,容器首先会去读取web.xml配置文件中的两个节点:<listener> </listener>和<context-param> </context-param>如图:

  

  紧接着,容器创建一个ServletContext(application),这个web项目的所有部分都将共享这个上下文。容器以<context-param></context-param>的name作为键,value作为值,将其转化为键值对,存入ServletContext。  

  容器创建<listener></listener>中的类实例,根据配置的class类路径<listener-class>来创建监听,在监听中会有初始化方法,启动Web应用时,系统调用Listener的该方法 contextInitialized(ServletContextEvent args),在这个方法中获得:

  ServletContext application =ServletContextEvent.getServletContext();

  context-param的值= application.getInitParameter("context-param的键");

  得到这个context-param的值之后,你就可以做一些操作了。

  举例:你可能想在项目启动之前就打开数据库,那么这里就可以在<context-param>中设置数据库的连接方式(驱动、url、user、password),在监听类中初始化数据库的连接。这个监听是自己写的一个类,除了初始化方法,它还有销毁方法,用于关闭应用前释放资源。比如:说数据库连接的关闭,此时,调用contextDestroyed(ServletContextEvent args),关闭Web应用时,系统调用Listener的该方法。

  接着,容器会读取<filter></filter>,根据指定的类路径来实例化过滤器。

  以上都是在WEB项目还没有完全启动起来的时候就已经完成了的工作。如果系统中有Servlet,则Servlet是在第一次发起请求的时候被实例化的,而且一般不会被容器销毁,它可以服务于多个用户的请求。所以,Servlet的初始化都要比上面提到的那几个要迟。总的来说,web.xml的加载顺序是: <context-param>-> <listener> -> <filter> -> <servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。

  二:web.xml标签详解

  1.<web-app></web-app>

  <web-app></web-app>是部署描述的根元素,该元素含23个子元素。在Servlet2.3中,子元素必须按照DTD文件描述中指定的顺序出现。比如:如果部署描述符中的<web-app>元素有<servlet>和<servlet-mapping>两个子元素,则<servlet>子元素必须出现在<servlet-mapping>子元素之前。在Servlet2.4中,顺序并不重要。

  2.<display-name></display-name> 

  <display-name></display-name>定义web应用的名称。如<display-name>trk-order-rest</display-name>

  3.<distributable/>

  <distributable/>可以使用distributable元素来告诉servlet/JSP容器,Web容器中部署的应用程序适合在分布式环境下运行。

  4.<context-param></context-param>

  

  <context-param>元素含有一对参数名和参数值,用作应用的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。<param-name>子元素包含有参数名,而<param-value>子元素包含的是参数值。作为选择,可用<description>子元素来描述参数。

  配置Spring,必须需要<listener>,而<context-param>可有可无,如果在web.xml中不写<context-param>配置信息,默认的路径是/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:在<param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并以“,”号分隔,比如在business-client工程中,我们采用了自定义配置方式,<context-param>配置如下:

  

  配置在同一个容器中的多个web项目,要配置不同的webAppRootKey,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,为防止log4j配置冲突,每个项目配置不同的webAppRootKey。如下:

  

  当然也不能重复,否则报类似下面的错误:

  Web app root system property already set to different value: 'webapp.root' = [/home/user/tomcat/webapps/project1/] instead of   [/home/user/tomcat/webapps/project2/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

  5.<session-config></session-config>

  

  <session-config> 用于设置容器的session参数,比如:<session-timeout>用于指定http session的失效时间。默认时间设置(30minutes)。<session-timeout>用来指定默认的会话超时时间间隔,以分钟为单位。该元素值为整数。如果 session-timeout元素的值为零或负数,则表示会话将永远不会超时。

  6.<filter></filter>见我的博客,这里不在阐述。(http://www.cnblogs.com/vanl/p/5742501.html)

  

  7.<listener></listener>见我的博客,这里不在阐述。(http://www.cnblogs.com/vanl/p/5753722.html)

  

 

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版)) 为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。 阅读详情

相关推荐

蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)

天再高又怎样,踮起脚尖就更接近阳光。 满满的 题型总结​ 历年真题​ 视频讲解​ 比赛技巧 题型总结 2021 2020 2019 2018 2017 2016 2015 2014 2013 ...

m0_58367586的博客 11万+

如何将图片转2进制存进外部flash

一、将图片转成16位BMP格式 个人使用的是PIC2RAW软件,软件会自动转换成bin格式和c文件及h文件。 唯一需要注意的是,生成的文件中前8个字节是文件的包头,不需要的就去掉,或者自己写代码时跳过该8个字节。 二、将各个文件bin文件合并 使用UBIN合并二进制文件 三、将bin文件烧录到外部flash,w25q64 使用flypro将文件烧录到外部flash 四、软件下载地址 到我的下载里面找 ...

dream5er的博客 1692

android OTA升级之后,apk崩溃无法启动

也就是说,我们这个高低版本是fingerprint相同的情况,这个问题追述到jenkins编译,启动job时会初始化一个BUILD_NUMBER值,这个值正好跟Android的build系统的名称重复,这就导致Android build系统那一套拼接时间戳的值不会走,因为jenkins一启动就会定义该值,而我们jenkins服务器迁移过,这个值又会从1开始累计,导致前后版本都是16,从而导致fingerprint一致。问题背景:系统版本从低版本升级到高版本后,apk崩溃启动失败。硬件平台:QCS6125。

kevin's cache的专栏 1346

web.xml元素介绍 与 配置多个web.xml

  web.xml元素介绍   每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参数(Context)做初始化工作 .Servlet的名称和映射 .Session的设定 .Tag library的对映 .JSP网页设定 .Mime Type处理 .错误处理 .利用JDNI取得站台资源 要了解web....

勐萌博文 273

CentOS7无网环境实战:MySQL8.0完整离线安装与避坑指南(附依赖包下载)

本文详细介绍了在CentOS7无网环境下MySQL8.0的完整离线安装流程,包括依赖包获取、系统预处理、MySQL二进制安装、服务配置与优化等关键步骤。特别针对离线安装的特殊需求,提供了从依赖包下载到服务调优的全链路解决方案,帮助用户在企业内网或隔离环境中高效部署MySQL数据库。

bush的博客 175

别再花钱买商业软件了!这4款免费DIC工具,从散斑生成到应变分析全搞定

本文介绍了4款免费开源的DIC(数字图像相关技术)工具,涵盖从散斑生成到应变分析的全流程,帮助用户零成本构建专业级DIC工作流。这些工具在精度、算法透明度和生态整合方面具有优势,适用于材料力学和实验力学研究,可替代昂贵的商业软件。

weixin_42525369的博客 168

两个WEB.XML:servlet容器中的web.xml和WEB-INF下的web.xml

web.xml的文件格式定义在Servlet规范中,因此所有符合Servlet规范的Java Servlet Container都会用到它。当tomcat部署应用程序时(在激活过程中,或加载应用程序后),它都会读取通用的conf/web.xml,然后再读取web应用程序中的WEB-INF/web.xml。其实根据他们的位置,我们就可以知道,conf/web.xml文件中的设定会应用于所有的web应

dzf203的专栏 726

工程师必看:如何用MINITAB快速计算传感器寿命(附详细步骤)

本文为工程师提供了使用MINITAB软件快速计算传感器寿命的详细实战指南。文章重点阐述了如何通过数据预处理、回归分析拟合阿伦尼斯模型,并最终预测平均寿命与置信区间,帮助工程师高效处理加速寿命试验数据,提升可靠性分析工作的准确性与效率。

weixin_29296241的博客 248

Tomcat web.xml详解

Tomcat加载顺序加载类和资源的顺序为: 1、/Web-INF/classes 2、/Web-INF/lib/*.jar 3、Bootstrap 4、System 5、CATALINAHOME/common/classes6、CATALINA_HOME/common/classes 6、CATALINA_HOME/common/endores/*.jar 7、CATALINAHOM

节至 2万+

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 460

CAPL诊断功能实现

UDS(Unified Diagnostic Services)是一种用于汽车电子系统诊断的标准协议。它定义了一系列诊断服务,用于读取和写入车辆电子控制单元(ECU)中的数据,以及处理诊断故障码(DTC)。UDS协议通常运行在CAN总线上,使用ISO 15765-2(ISO-TP)协议进行数据传输。通过本文的学习,读者应该对CAPL诊断功能实现有了初步的了解,并能够编写复杂的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1516

maven打包war应用时有两个web.xml

mvn war:war打包,生成的war文件中会有两个web.xml 解决方法: 指定war插件版本即可 org.apache.maven.plugins maven-war-plugin 2.6 src/main/webapp

axe的专栏 2175

FPGA/IC 秋招笔试/面试题总结(续)

FPGA/IC 秋招笔试/面试题总结(续)来啦… 文章目录二十七、状态机1. Moore/Mealy状态机2.一、二、三段式状态机 二十七、状态机 1. Moore/Mealy状态机 (1)Moore状态机: 输出只由当前状态决定,即次态=f(现态。输入),输出=f(现态) Moore型状态机的输出信号是直接由状态寄存器译码得到的。 Moore型状态机检测序列1101如下 Moore型状态机输出函数只由状态变量决定,想要输出Z=1,必须S4状态形成,即寄存器中的1101都打进去后才可以。输出Z=1会在

Crazzy_M的博客 2万+

javaweb项目的web.xml中手动配置servlet

JavaWeb项目中web.xml有关servlet的基本配置, tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的web.xml。 文件位置: web.xml:项目--WebContent--WEB-INF--we...

chenglongan5604的博客 243

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JavaWeb项目执行流程和Web.xml文件配置

运行一个Javaweb项目,首先,将项目部署到服务器,由客户端发起请求,将请求发送到tomcat的监听端口。经过端口进入tomcat,再由tomcat将携带的请求信息移交给web项目。接下来,正式进入Javaweb项目,一开始,要解读web.xml配置文件,将依据文件的配置决定进入哪个页面或者servlet。要知道,在tomcat下的conf中也有一个web.xml文件。......

Java学习博客 1393

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java servlet配置xml_JavaWeb项目中web.xml有关servlet的基本配置

JavaWeb项目中web.xml有关servlet的基本配置:我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的web.xml。看一下这个web.xml:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://j...

weixin_35090568的博客 479

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JavaWeb项目中web.xml有关servlet的基本配置

JavaWeb项目中web.xml有关servlet的基本配置

WolfArya的博客 4万+

java 手动指定servlet_javaweb项目的web.xml中手动配置servlet

JavaWeb项目中web.xml有关servlet的基本配置,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的web.xml。文件位置:web.xml:项目--WebContent--WEB-INF--web.xmlMyServlet.java:项目--Java Resources--src--com.dayuan.serv...

weixin_29063035的博客 196

对javaweb项目中web.xml重用配置的理解(个人学习小结)

<!-- 所有的总结描述性与语言都在注释中 --><?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLo...

weixin_30885111的博客 84

javaWeb项目中,web.xml的配置有什么?

在java工程中,web.xml用来初始化工程配置信息,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等。 每一个xml文件都有定义他书写规范的schema文件,web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文

u011277123的博客 3786

java web项目web.xml_javaweb项目中web.xml配置

Archetype Created Web ApplicationwebAppRootKeymc.rootlogbackConfigLocation/WEB-INF/classes/logback.xmlcontextConfigLocationclasspath*:spring-config/*.xmlch.qos.logback.ext.spring.web.LogbackConfigList...

weixin_32199977的博客 120

javaWeb项目中的web.xml配置

在java工程中,web.xml用来初始化工程配置信息,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等。 每一个xml文件都有定义他书写规范的schema文件,web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为<web-app>中,必须标明这个web.

keeper42的博客 554

javaweb 项目web.xml配置

先有个一个web项目 该web.xml配置是基于spring配置的 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XM...

weixin_34194359的博客 163

eclipse创建一个java web项目?为什么创建的javaweb项目没有web.xml 如何在已经创建好的项目中增加 web.xml

创建一个javaweb项目流程 为什么创建的javaweb项目没有web.xml? 如何在已经创建好的项目中增加 web.xml 创建一个javaweb项目流程 右键选择New->Dynamic Web Project 下一步 下一步 下一步 注意:上图红色框不勾选,创建的项目没有web.xml (创建时候一般需要勾选) 如下图所示 为什么创建的ja...

思念十年后 5520

javaWeb项目中Web.xml的基本配置

这个地址写的非常好 ,欢迎大家访问 Å:http://www.cnblogs.com/hxsyl/p/3435412.html 一.理论准备 先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对。 web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文件是很方便的,若是没有...

weixin_30690833的博客 89

javaweb项目中关于配置文件web.xml的解析

一、.启动tomcat,加载项目中的web.xml文件,创建servercontext上下文对象。 可以通过servercontext对象在应用中获取web.xml文件中的值。 web应用加载的顺序与元素节点在文件中的配置顺序无关,web容器的加载顺序是ServletContext ->context-param -> listener -> filter -> se...

weixin_34214500的博客 714
上一篇: javaWeb之项目servlet学习笔记----1,原理及其介绍
下一篇: 实习心得体会---分页操作20190716
iamlinuxasd
博客等级 码龄10年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值