日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ServletConfig对象和ServletContext对象

發(fā)布時(shí)間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ServletConfig对象和ServletContext对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  ServletConfig對(duì)象是servlet配置對(duì)象,(web.xml中的)servlet信息封裝在ServletConfig對(duì)象中,因此在一個(gè)web應(yīng)用可存在多個(gè)ServletConfig。ServletContext對(duì)象是servlet上下文對(duì)象,而整個(gè)web.xml信息封裝在ServletContext對(duì)象中,因此 一個(gè)web應(yīng)用中只有一個(gè)servletcontext對(duì)象,可能存在多個(gè)servletconfig對(duì)象。

ServletConfig

創(chuàng)建:在創(chuàng)建完servlet對(duì)象之后,在調(diào)用init方法之前創(chuàng)建直接從有參數(shù)的init方法中得到。

API:

1 java.lang.String getInitParameter(java.lang.String name) 根據(jù)參數(shù)名獲取參數(shù)值 2 java.util.Enumeration getInitParameterNames() 獲取所有參數(shù) 3 ServletContext getServletContext() 得到servlet上下文對(duì)象 4 java.lang.String getServletName() 得到servlet的名稱

注意:servlet的參數(shù)只能由當(dāng)前的這個(gè)sevlet獲取。

如下,我想訪問(wèn)e盤下的某個(gè)文件,想通過(guò)web.xml中配置,在提交請(qǐng)求到服務(wù)器時(shí)訪問(wèn)。

web.xml

1 <servlet> 2 <servlet-name>ConfigDemo</servlet-name> 3 <servlet-class>gz.itcast.f_config.ConfigDemo</servlet-class> 4 <!-- 初始參數(shù): 這些參數(shù)會(huì)在加載web應(yīng)用的時(shí)候,封裝到ServletConfig對(duì)象中 --> 5 <init-param> 6 <param-name>path</param-name> 7 <param-value>e:/b.txt</param-value> 8 </init-param> 9 </servlet>

ConfigDemo.java

public class ConfigDemo extends HttpServlet {/*** 以下兩段代碼GenericServlet已經(jīng)寫了,我們無(wú)需編寫!!*//*private ServletConfig config;*//*** 1)tomcat服務(wù)器把這些參數(shù)會(huì)在加載web應(yīng)用的時(shí)候,封裝到ServletConfig對(duì)象中 * 2)tomcat服務(wù)器調(diào)用init方法傳入ServletConfig對(duì)象*//*@Overridepublic void init(ServletConfig config) throws ServletException {this.config = config;}*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/*** 讀取servlet的初始參數(shù)*/String path = this.getServletConfig().getInitParameter("path");File file = new File(path);//讀取內(nèi)容BufferedReader br = new BufferedReader(new FileReader(file));String str = null;while( (str=br.readLine())!=null ){System.out.println(str);} }

ServletContext對(duì)象

核心API

java.lang.String getContextPath() --得到當(dāng)前web應(yīng)用的路徑j(luò)ava.lang.String getInitParameter(java.lang.String name) --得到web應(yīng)用的初始化參數(shù) java.util.Enumeration getInitParameterNames() void setAttribute(java.lang.String name, java.lang.Object object) --域?qū)ο笥嘘P(guān)的方法 java.lang.Object getAttribute(java.lang.String name) void removeAttribute(java.lang.String name) RequestDispatcher getRequestDispatcher(java.lang.String path) --轉(zhuǎn)發(fā)(類似于重定向)java.lang.String getRealPath(java.lang.String path) --得到web應(yīng)用的資源文件 java.io.InputStream getResourceAsStream(java.lang.String path)

在web.xml配置web應(yīng)用參數(shù),如下:

<context-param><param-name>AAA</param-name><param-value>AAA's value</param-value> </context-param>

在web.xml中配置了上述的參數(shù),就相當(dāng)于給整個(gè)web添加了一個(gè)新屬性,那么可以通過(guò)ServletContext訪問(wèn)。而上邊的在servlet中添加一個(gè)<init-param>,相當(dāng)于某個(gè)web應(yīng)用的某個(gè)特定的servlet添加了一個(gè)屬性,所以只能通過(guò)該servlet的ServletConfig訪問(wèn)。下面的例子描述ServletContext如何訪問(wèn):

public class ContextDemo2 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//得到SErvletContext對(duì)象ServletContext context = this.getServletContext();System.out.println("參數(shù)"+context.getInitParameter("AAA"));Enumeration<String> enums = context.getInitParameterNames();while(enums.hasMoreElements()){String paramName = enums.nextElement();String paramValue =context.getInitParameter(paramName);System.out.println(paramName+"="+paramValue);}//嘗試得到ConfigDemo中的servlet參數(shù)String path = this.getServletConfig().getInitParameter("path");System.out.println("path="+path);}}

?

轉(zhuǎn)載于:https://www.cnblogs.com/K-artorias/p/7469640.html

總結(jié)

以上是生活随笔為你收集整理的ServletConfig对象和ServletContext对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。