- 浏览: 116581 次
- 性别:
- 来自: 上海
文章分类
最新评论
ServletContext与ServletConfig
<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>ZH-CN</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> <w:UseFELayout/> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} </style> <![endif]-->
ServletContext
javax.servlet
Interface ServletContext
public interface ServletContext
ServletContext 定义了一些能够与 Servlet 控制器通信的方法。对于 web 容器来说, ServletContext 接口定义了一个 servlet 环境对象,这个对象定义了一个在 Servlet 引擎上的 Servlet 的视图。通过使用这个对象, Servlet 可以记录事件,得到资源并得到来自 Servlet 的引擎类。
Servlet 容器在启动时会加载 web 应用,并为每个 web 应用创建唯一的 ServletContext 对象,可以把 ServletContext 看成是一个 Web 应用的服务器端组件的共享内存,在 ServletContext 中可以存放共享数据,它提供了读取和设置共享数据的方法 .
ServletContext 定义了 25 个方法,可以详细参考帮助文档来获得信息。
ServletContext 对象只在 web 应用被关闭的时候才被销毁,也就是说 ServletContext 对象生命周期是 Application 。不同的 web 应用, ServletContext 各自独立存在。
一个 web 应用由 jsp,Servlet , javabean 等 web 组件的 **** 构成,每一个 web 应用,容器都会有一个 ServletContext 对象,而 javax.servlet.ServletContext 接口就提供了访问这个 ServletContext 对象的途径。你可以通过一个 Servlet 实例的 getServletContext() 方法得到该 Servlet 运行其中的这个 ServletContext 对象, 从这个对象中你可以访问如下信息资源:
1. 初始化参数
2. 存储在背景中的对象
3. 与背景关联的资源
4. 日志
一般来说,对整个应用的配置,为了不使用“硬编码”,应该配置为 ServletContext 参数,比如字
符集设定。
<web-app>
.................
<context-param>
<param-name>myBlog</param-name>
<param-value>www.csdn.net</param-value>
</context-param>
.................
</web-app>
ServletContext ctx = getServletContext();
String s = ctx.getInitParameter(“myBlog”);
ServletContext 接口提供的方法可分为以下几种类型。
(1) 用于在 Web 应用范围内存取共享数据的方法。
setAttribute(String name, java.lang.Object object)
getAttribute(String name)
getAttributeNames()
removeAttribute(String name)
( 2 )访问当前 Web 应用的资源。
public ServletContext getContext(java.lang.String uripath)
返回一个指定 URL 地址的 ServletContext 对象。
在一个安全的环境下, servlet 容器会返回 null 。
getInitParameter(String name) :根据给定的参数名,返回 Web 应用范围内的匹配的初始化参数值。在 web.xm 文件中,直接在 <web-app> 根元素下定义的 <context-param> 元素表示应用范围内的初始化参数。
getInitParameterNames() :返回一个 Enumeration 对象,它包含了 Web 应用范围内的所有初始化参数名。
getServletContextName() :返回 Web 应用的名字,即 web.xm 文件中 <display-name> 元素的值。
getRequestDispatcher(String path) :返回一个用于向其他 Web 组件转发请求的 RequestDispatcher 对象。这个指定的 URL 路径必须带有 "/" ,被解释为服务器文档根目录下的相对路径,并跟其它 web-app 主机的上下文根目录匹配。
( 3 )访问 Servlet 容器的相关信息。
getMajorVersion() :返回 Servlet 容器支持的 Java Servlet API 的主版本号。
getMinorVersion() :返回 Servlet 容器支持的 Java Servlet API 的次版本号。
getServerInfo() :返回 Servlet 容器的名字和版本。
( 4 )访问服务器端的文件系统资源。
getRealPath(String path) : public java.lang.String getRealPath(java.lang.String path)
返回一个指定虚拟路径的真实路径(完整路径)的字符串。
举例:虚拟路径 "/index.html" 将返回服务器文件系统中的绝对路径 "http://host/contextPath/index.html", 当中的 contextPath 是 ServletContext 的上下文路径。
返回的路径将适用于 servlet 容器所运行的操作系统。假如无法把虚拟路径映射为真实路径,该方法将返回 null 。(比如当路径指定的内容是源于 .war 文件)
getResource(String path) : public java.net.URL getResource(java.lang.String path) throws java.net.MalformedURLException
返回由 path 指定的资源路径对应的一个 URL 对象,该 path 必须以“ /" 开头并作为当前目录的相对位置。
该方法允许 servlet 容器使 serlets 中的一个资源变为可用。该资源允许是一个本地资源或者是一个远程文件系统,这些资源可以在数据库中,或者在一个 .war 文件中。
servlet 容器必须实现 URL 句柄和 URLCOnnection 对象,这些对象对于资源访问是必需的。
如果没有匹配的资源,该方法返回 null 。
某些容器甚至可以向该方法所返回的资源写数据。
这个资源可以直接返回,所以请求一个 a.jsp 文件将返回 JSP 源文件。用一个 RequestDispatcher 对象取而代之,可以包含执行的结果。
这个方法功能有别于 java.lang.Class.getResource ,一个基于 class loader 检索资源的方法。但前者不依赖于 class loaders 。
getResourceAsStream() : public java.io.InputStream getResourceAsStream(java.lang.String path)
返回一个由 String path 指定位置资源的 InputStream 。返回的 InputStream 可以是任意类型和长度的。
getMimeType(String file) :返回参数指定的文件的 MIME 类型。
getResourcePaths() : public java.util.Set getResourcePaths(java.lang.String path)
返回一个存储 web-app 中所有资源路径的 Set (集合)。
路径以” /" 结尾表示一个子目录,并以 "/" 开头表示一个对于 web-app 的相对路径。
例子:
/welcome.html
/catalog/index.html
/catalog/products.html
/catalog/offers/books.html
/catalog/offers/music.html
/customer/login.jsp
/WEB-INF/web.xml
/WEB-INF/classes/com.acme.OrderServlet.class,
getResourcePaths("/") 将返回 Set {"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"} ;
getResourcePaths("/catalog/") 将返回 Set {"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"} 。
如果子目录为空,返回 null 。
( 6 )输出日志。
log(String msg) :向 Servlet 的日志文件中写日志。
log(String message, java.lang.Throwable throwable) :向 Servlet 的日志文件中写错误日志,以及异常的堆栈信息。
在 ServletConfig 接口中定义了 getServletContext() 方法。 HttpServlet 类继承 GenericServlet 类,而 GenericServlet 类实现了 ServletConfig 接口,因此在 HttpServlet 类或 GenericServlet 类及子类中都可以直接调用 getServletContext() 方法,从而得到当前 Web 应用的 ServletContext 对象。
JSP 中 application 是实现了 ServletContext 接口的类
ServletConfig
javax.servlet
Interface ServletConfig
public interface ServletConfig
相对于 ServletContext , ServletConfig 是针对特定的 Servlet 的参数或属性。 ServletConfig 是表示单独的 Servlet 的配置和参数,只是适用于特定的 Servlet 。从一个 servlet 被实例化后,对任何客户端在任何时候访问有效,但仅对本 servlet 有效,一个 servlet 的 ServletConfig 对象不能被另一个 servlet 访问。
1. 首先要设置初始化参数,如果只有一个特定的 servlet 要设定的参数 (Servlet 名字以及其它参数等 ) ,其它 servlet 不能共享,应该配置为 ServletConfig 参数,如一个读取附件的 servlet 要用到绝对目录,而别的 servlet 不会用到:
<web-app>
<servlet>
<servlet-name>GetAtt</servlet-name>
<servlet-class>mail.GetAttServlet</servlet-class>
<init-param>
<param-name>absPath</param-name>
<param-value>/usr/mail/ax/axman/Maildir/</param-value>
</init-param>
</servlet>
</web-app>
2. 其次要取得 ServletConfig 对象 :
1). 从 init() 方法中得到 .
public class Test extends HttpServlet {
ServletConfig config;
public void init(ServletConfig config) throws ServletException {
super.init(config);
this.config = config;
}
2). 从 getServletConfig() 方法中得到 .
ServletConfig config=this.getServletConfig();
if(config.getInitParameter("absPath").eaquals("adsd"){
.......
}
Servlet 引擎代表的 Servlet 容器的对象和 Servlet 的配置参数信息一并封装到 ServletConfig 对象中,并在 Servlet 的初始化中将 ServletConfig 传给 Servlet 。
Servlet 容器,我们可以理解为一个应用程序,它的一些配置信息也将可以从 ServletConfig 得到。这里的 Servlet 创建并装载 Servlet 实例对象后,调用 int(ServletConfig) 传对象。这就决定了,这个 ServletConfig 与 Servlet 的生命周期与 servlet 有关。
Servlet 引擎, Servlet , ServletConfig 对象之间关系: Servlet 引擎,我们就当是一个框架,而 Servlet 是一个被调用的成份,但是同时,我们也应该知道,主体框架程序是根据配置文件来创建 ServletConfig 对象,这里才创建 Servlet 对象,并通过 init() 传 ServletConfig 。
ServletConfig 接口定义了 4 个方法:
getServletName() 方法(定义: public java.lang.String getServletName() ),该方法返回一个 servlet 实例的名称,该名称由服务器管理员提供。
getServletContext() 方法概(定义: public ServletContext getServletContext() ),返回一个 ServletContext 对象的引用。一个 web 应用有一个 servletContext ,全局的对象。
getInitParameter() 方法(定义: public java.lang.String getInitParameter(java.lang.String name) ),返回一个由参数 String name 决定的初始化变量的值,如果该变量不存在,返回 null 。
getInitParameterNames() 方法(定义: public java.util.Enumeration getInitParameterNames() ),返回一个存储所有初始化变量的枚举函数。如果 servlet 没有初始化变量,返回一个空枚举函数。
相关推荐
ServletConfig 与 ServletContext 的关系 在 Servlet 编程中,ServletConfig 和 ServletContext 两个对象经常被混淆,然而它们有着截然不同的作用域和用途。 首先, lets 看看 ServletConfig 对象。ServletConfig ...
### ServletContext与ServletConfig的深度分析 #### 一、概述 在Java Web开发中,`ServletContext`和`ServletConfig`是非常重要的两个接口,它们分别代表了应用级别的共享环境和单个Servlet的配置信息。理解这两个...
java web servletContext和ServletConfig详解
ServletConfig和ServletContext是Java Servlet API中的两个重要接口,它们在Web应用程序中扮演着关键角色,主要负责管理和传递初始化参数以及实现应用级别的通信。 ServletConfig对象主要用于装载Servlet的初始化...
2. **ServletConfig与ServletContext的关系** - 每个Servlet在被创建时,都会得到一个与之关联的`ServletConfig`对象,`ServletConfig`包含了Servlet特定的初始化参数。相比之下,`ServletContext`是全局的,服务于...
ServletConfig和ServletContext是Java Servlet API中的两个重要概念,它们在Web应用程序中扮演着配置和通信的角色。理解并熟练使用这两个接口对于开发高效、可维护的Web应用至关重要。 ServletConfig对象代表了一个...
4. **ServletConfig与ServletContext的区别** - ServletConfig对象是特定于每个Servlet实例的,而ServletContext对象在整个Web应用中是共享的。 - ServletConfig主要存储Servlet的个性化配置信息,而...
public void init(ServletConfig config) throws ServletException { ServletContext context = config.getServletContext(); context.setAttribute("message", "Hello, World!"); } ``` 然后在其他Servlet或JSP...
### ServletConfig与ServletContext的区别 虽然ServletConfig和ServletContext都与Servlet容器相关,但它们的角色不同。ServletConfig主要用于传递特定Servlet的初始化参数,而ServletContext则代表了整个Web应用...
总的来说,ServletConfig是连接Servlet与部署描述符(web.xml)的关键桥梁,它提供了获取配置信息的能力,使得Servlet可以根据运行环境进行动态配置。在深入理解ServletConfig的同时,我们还需要了解Servlet的其他...
"Servlet获取初始化参数" Servlet 获取初始化参数是 Servlet 编程中一个非常重要的主题。...通过使用 `ServletContext` 和 `ServletConfig` 对象,我们可以轻松地获取这些参数,从而实现更好的 Web 应用程序开发。
**ServletContext** 和 **ServletConfig** 是Java Servlet API中两个关键的接口,它们提供了与Servlet容器交互的能力。 - **ServletContext**:这是一个全局的上下文,代表了一个Web应用程序的共享环境。每个Web...
在Servlet环境下,特别是在使用Spring MVC等框架时,Quartz与ServletContext的结合配置显得尤为重要,因为这能让我们更好地管理和监控后台定时任务。 ### Quartz简介 Quartz 提供了一个完全线程化的事件调度器,...
- **通过`ServletConfig`对象**:每个Servlet都会有一个`ServletConfig`对象,该对象可以用来获取`ServletContext`对象。例如:`getServletConfig().getServletContext();` - **通过`GenericServlet`类**:继承自`...
在 JavaWeb 中,使用 `ServletContext` 和 `ServletConfig` 对象来获取 servlet 的配置信息。在本例中,我们使用 `ServletContext` 对象来获取 servlet 的上下文信息。 知识点六:使用 JSP 和 Servlet 分离页面逻辑...
在Servlet技术中,ServletContext和ServletConfig是两个重要的对象。ServletContext对象代表了整个web应用的环境,而ServletConfig对象提供了对当前Servlet配置信息的访问。通过这些对象可以获取web应用级别的初始化...
这一节将介绍 ServletContext 和 ServletConfig 这两个接口。 通过这两个接口,我们可以在web.xml中设置一些参数,如数据库地址、用户名密码等,供 Servlet 使用, 这样每次参数值变动时,不用重新编译Servlet了。 ...