ServletContext中常用方法介紹
一、.獲取Tomcat的Context的初始化參數(shù)。
1.獲取Tomcat的server.xml中設(shè)置Context的初始化參數(shù)。
例如:
<Context path="/testcontext" docBase="/context"
privileged="true" antiResourceLocking="false" antiJARLocking="false"
debug="0" reloadable="true">
<Parameter name="name" value="yangqisheng" />
</Context>
方式:getServletContext().getInitParameter(String name)
2.獲取在項(xiàng)目下的web.xml中設(shè)置Context的初始化參數(shù)。
例如:
<context-param>
<param-name>age</param-name>
<param-value>24</param-value>
</context-param>
方式:getServletContext().getInitParameter(String name)
二、記錄Tomcat日志
1.設(shè)置日志文件
在server.xml文件中,使用logger元素來設(shè)置日志文件。
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_log." suffix=".txt" timestamp="true"/>
寫日志:this.getServletContext().log("測(cè)試")
三、訪問資源文件
3.1 getResource(String parh)方法:其中path必須是/開頭,代表當(dāng)前web應(yīng)用程序的根目錄。返回返回的一個(gè)代表某個(gè)資源的URL對(duì)象。
3.2 getResoutceAsStream(String parh),返回文件流。這個(gè)好處是可以使用相對(duì)于根目錄的路徑訪問到web目錄下的所有文件,而不必知道絕對(duì)路徑。
例如在WEB-INF下新建文件me.properties,內(nèi)容為:
name=yangqisheng
age=25
this.getServletContext().getResourceAsStream("/WEB-INF/me.properties");
Properties me = new Properties();
me.load(is);
out.write(me.getProperty("name"));
out.write(me.getProperty("age"));
然后在Servlet中執(zhí)行:
將會(huì)打印出 yangqisheng25
相關(guān)文章
Java 中synchronize函數(shù)的實(shí)例詳解
這篇文章主要介紹了Java 中synchronize函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家理解使用synchronize函數(shù)的使用方法,需要的朋友可以參考下2017-09-09
超細(xì)致講解Spring框架 JdbcTemplate的使用
在之前的Javaweb學(xué)習(xí)中,學(xué)習(xí)了手動(dòng)封裝JdbcTemplate,其好處是通過(sql語句+參數(shù))模板化了編程。而真正的JdbcTemplate類,是Spring框架為我們寫好的。它是 Spring 框架中提供的一個(gè)對(duì)象,是對(duì)原始 Jdbc API 對(duì)象的簡(jiǎn)單封裝。2021-09-09
Java創(chuàng)建型設(shè)計(jì)模式之單例模式
Java單例模式是一種設(shè)計(jì)模式,它確保一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn)??梢允褂枚喾N方式實(shí)現(xiàn)單例模式,如餓漢式、懶漢式、雙重檢查鎖定、靜態(tài)內(nèi)部類、枚舉等,每種方式都有其優(yōu)缺點(diǎn),需要根據(jù)具體情況選擇使用2023-05-05
JAVA實(shí)戰(zhàn)項(xiàng)目實(shí)現(xiàn)客戶選購(gòu)系統(tǒng)詳細(xì)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶選購(gòu)系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-10-10
Java基于動(dòng)態(tài)規(guī)劃法實(shí)現(xiàn)求最長(zhǎng)公共子序列及最長(zhǎng)公共子字符串示例
這篇文章主要介紹了Java基于動(dòng)態(tài)規(guī)劃法實(shí)現(xiàn)求最長(zhǎng)公共子序列及最長(zhǎng)公共子字符串,簡(jiǎn)單描述了動(dòng)態(tài)規(guī)劃法的概念、原理,并結(jié)合實(shí)例形式分析了Java使用動(dòng)態(tài)規(guī)劃法求最長(zhǎng)公共子序列以及最長(zhǎng)公共子字符串相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08
SpringBoot項(xiàng)目為何引入大量的starter?如何自定義starter?
這篇文章主要介紹了SpringBoot項(xiàng)目為何引入大量的starter?如何自定義starter?文章基于這兩個(gè)問題展開全文,需要的小伙伴可以參考一下2022-04-04

