JSP九大内置对象之config对象

config对象提供了对每一个给定的服务器小程序或JSP页面的javax.servlet.ServletConfig对象的访问。它封装了初始化参数以及一些使用方法。config对象代表当前JSP配置信息,但JSP页面通常无须配置,因此也就不存在配置信息。该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。

config对象提供了对每一个给定的服务器小程序或JSP页面的javax.servlet.ServletConfig对象的访问。它封装了初始化参数以及一些使用方法。

config对象代表当前JSP配置信息,但JSP页面通常无须配置,因此也就不存在配置信息。该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。

作用范围就当前页面,被包含到别的页面无效。jsp的config对象作用不是很大,在servlet中作用比较大。

config对象的主要方法如下

// 返回String类型的初始化参数
getInitParameter(String name)

// 返回所有初始化参数的名字
getInitParameterNames()

// 获得当前服务器小程序或JSP页面的名称
getServletName()

// 获得当前服务器小程序或JSP页面的服务器小程序环境
getServletContext()

看如下JSP 页面代码,该JSP代码使用了config 的一个方法getServletName():

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>测试config内置对象</title>
</head>
<body>
    <!-- 直接输出config的getServletName的值 -->
    <%=config.getServletName()%>  
</body>
</html>

上面程序的第11行代码输出了config的getServletName()的返回值,所有的JSP都有相同的名字:“jsp”,所以此行代码将输出jsp。

实际上,我们也可以在web.xml文件中配置JSP(只是很少用);这样就可以为JSP页面指定配置信息,并且为JSP页面另外设置一个URL。config对象是ServletConfig的实例,该接口用于获取配置信息的方法是getInitParameter(String paramName)。

下面的程序说明了如何在页面中使用config获取JSP页面的配置信息:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "https://www.w3.org/TR/html4/loose.dtd">  
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>测试config内置对象</title>
</head>
<body>
    <!-- 输出该JSP中名为name的参数配置信息 -->
    name配置参数的值:<%=config.getInitParameter("name")%><br/>  
    <!-- 输出该JSP中名为age的参数配置信息 -->
    age配置参数的值:<%=config.getInitParameter("age")%>  
</body>
</html>

前面提到的配置JSP页面其实也是在web.xml文件中的进行,JSP被当成Servlet配置,为Servlet配置参数使用init-param元素,该元素可以接受param-name和param-value分别指定参数名和参数值。

在web.xml文件中增加一下代码即可将JSP页面配置在web应用中:

<servlet>    
    <!--指定servlet的名字-->  
    <servlet-name>config</servlet-name>    
    <!--指定哪一个JSP页面配置成Servlet-->  
    <jsp-file>/configTest2.jsp</jsp-file>  
    <!--配置名为name的参数,值为yeeku-->  
    <init-param>    
        <param-name>name</param-name>    
        <param-value>yeeku</param-value>    
    </init-param>    
    <!--配置名为age的参数,值为30-->  
    <init-param>    
        <param-name>age</param-name>    
        <param-value>30</param-value>    
    </init-param>    
</servlet>    
<servlet-mapping>   
    <!--指定将config Servlet配置到/config路径-->   
    <servlet-name>config</servlet-name>    
    <url-pattern>/config</url-pattern>    
</servlet-mapping>

上面的配置文件片段中的</init-param>为该Servlet(其实是JSP)配置了两个参数:name和value。上面的配置片段将configTest2.jsp页面配置成名为config的Servlet,并将该Servlet映射到/config处。这就允许我们使用/config来访问该页面。

注意

如果希望JSP页面可以获取web.xml配置文件中的配置信息就必须通过为该JSP页面在web.xml文件中分配的路径来访问页面,因为只有这样访问JSP页面才会让配置文件起作用。

在年轻人的颈项上,没有什么东西能比事业心这颗灿烂的宝珠更迷人的了。 —— 哈菲兹
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号