config对象

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

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

[html]  view plain  copy
  1. <%@ page language="java" contentType="text/html; charset=gb2132"  
  2.     pageEncoding="ISO-8859-1"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
  7. <title>测试config内置对象</title>  
  8. </head>  
  9. <body>  
  10. <!-- 直接输出config的getServletName的值 -->  
  11. <%=config.getServletName()%>  
  12. </body>  
  13. </html>  

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

        实际上,我们也可以在web.xml文件中配置JSP,只是很少用,这样就可以为JSP页面指定配置信息,并且为JSP页面另外设置一个URL。

 

        config对象是ServletConfig的实例,该接口用于获取配置信息的方法是getInitParameter(String paramName)

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

[html]  view plain  copy
  1. <%@ page language="java" contentType="text/html; charset=gb2132"  
  2.     pageEncoding="ISO-8859-1"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
  7. <title>测试config内置对象</title>  
  8. </head>  
  9. <body>  
  10. <!-- 输出该JSP中名为name的参数配置信息 -->  
  11. name配置参数的值:<%=config.getInitParameter("name")%><br/>  
  12. <!-- 输出该JSP中名为age的参数配置信息 -->  
  13. age配置参数的值:<%=config.getInitParameter("age")%>  
  14. </body>  
  15. </html>  

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

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

[html]  view plain  copy
  1. <servlet>    
  2.         <!--指定servlet的名字-->  
  3.         <servlet-name>config</servlet-name>    
  4.         <!--指定哪一个JSP页面配置成Servlet-->  
  5.         <jsp-file>/configTest2.jsp</jsp-file>  
  6.         <!--配置名为name的参数,值为yeeku-->  
  7.         <init-param>    
  8.             <param-name>name</param-name>    
  9.             <param-value>yeeku</param-value>    
  10.         </init-param>    
  11.         <!--配置名为age的参数,值为30-->  
  12.         <init-param>    
  13.             <param-name>age</param-name>    
  14.             <param-value>30</param-value>    
  15.         </init-param>    
  16.     </servlet>    
  17. <servlet-mapping>   
  18.         <!--指定将config Servlet配置到/config路径-->   
  19.         <servlet-name>config</servlet-name>    
  20.         <url-pattern>/config</url-pattern>    
  21. </servlet-mapping>    

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

大笑

大笑

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

在 PHP 中,没有内置的 `config` 对象。但是,您可以自定义一个 `Config` 类或者使用第三方库提供的类来实现类似的功能。一般来说,`Config` 类的作用是读取和管理应用程序的配置信息,如数据库连接信息、网站基本设置等等。这些配置信息可以存储在文件、数据库、缓存或者其他地方,并提供一些简单的接口来访问和修改这些配置信息。以下是一个简单的 `Config` 类示例: ```php class Config { protected $config; public function __construct($configFile) { if (!file_exists($configFile)) { throw new Exception("Config file not found: $configFile"); } $this->config = require $configFile; } public function get($key, $default = null) { return array_key_exists($key, $this->config) ? $this->config[$key] : $default; } public function set($key, $value) { $this->config[$key] = $value; } public function all() { return $this->config; } } ``` 使用时,可以这样读取配置信息: ```php $config = new Config('config.php'); $dbHost = $config->get('db.host', 'localhost'); $dbUser = $config->get('db.user', 'root'); $dbPassword = $config->get('db.password', ''); $dbName = $config->get('db.name', 'test'); ``` 上述示例中,`Config` 类的构造函数接受一个配置文件路径作为参数,然后通过 `require` 函数读取配置文件并保存到 `$config` 变量中。`get` 方法用于获取指定键名的配置值,如果键名不存在则返回默认值。`set` 方法用于设置指定键名的配置值。`all` 方法用于获取全部配置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值