目录

JSP config内置对象

2019年02月19日 09:38 | 2153次浏览

config 对象是 javax.servlet.ServletConfig 类的实例,表示 Servlet 的配置信息。


当一个 Servlet 初始化时,容器把某些信息通过此对象传递给这个 Servlet,这些信息包括 Servlet 初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个 ServletContext 对象),config 对象的应用范围是本页。


开发者可以在 web.xml 文件中为应用程序环境中的 Servlet 程序和 JSP 页面提供初始化参数。表 1 列出了 config 对象的常用方法。

方法说明
ServletContext getServletContext()返回所执行的 Servlet 的环境对象
String getServletName()返回所执行的 Servlet 的名字
String getInitParameter(String name)返回指定名字的初始参数值
Enumeration getlnitParameterName()返回该 JSP 中所有初始参数名,一个枚举


示例

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

<%@ page language="java" contentType="text/html; charset=gb2132"  
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
<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=gb2132"  
        pageEncoding="ISO-8859-1"%>  
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
    <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<

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


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



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程