3--取得某个Servlet初始化配置信息

ServletConfig 类:
ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。
Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。 Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。
ServletConfig 类的常用作用:
1.可以获取 Servlet 程序的别名 servlet-name 的值
2.获取初始化参数 init-param
3.获取 ServletContext 对象
实例1:

package com.qwy.servlet;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author qwy
 * @create 2021-03-09 16:45
 **/

public class ServletGetConfinguration extends HttpServlet {
    /**
     * 初始化方法中获取初始化参数
     * @param config
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig config) throws ServletException {
        //调用父类的init方法,为了其他方法中使用this.getServletConfig()调用
        super.init(config);
        //1.获取初始化的参数
       String username= config.getInitParameter("username");
        System.out.println("username = " + username);
       String password= config.getInitParameter("password");
        System.out.println("password = " + password);
        //2.获取ServeltName
        String servletName=config.getServletName();
        System.out.println("servletName = " + servletName);
        //3.获取ServletContext对象
       ServletContext app= config.getServletContext();
        System.out.println("app = " + app);
    }
   @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //注意:在此使用this.getServletConfig(),必须在init()方法中调用 super.init(config);
         String name=   this.getServletConfig().getInitParameter("username");
        System.out.println("name = " + name);
    }


}

实例:web.xml

<servlet>
        <servlet-name>ServletGetConfinguration</servlet-name>
        <servlet-class>com.qwy.servlet.ServletGetConfinguration</servlet-class>
        <!--配置初始化参数-->
        <init-param>
            <!--参数名-->
            <param-name>username</param-name>
            <!--参数值-->
            <param-value>admin</param-value>
        </init-param>
        <!--配置初始化参数-->
        <init-param>
            <!--参数名-->
            <param-name>password</param-name>
            <!--参数值-->
            <param-value>123456</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletGetConfinguration</servlet-name>
        <url-pattern>/config</url-pattern>
    </servlet-mapping>

浏览器访问:http://localhost:8080/servlet01/config
控制台输出:
username = admin
password = 123456
servletName = ServletGetConfinguration
app = org.apache.catalina.core.ApplicationContextFacade@2b574b98
name = admin

注意:
1.如果要在其他方法中获取初始化参数,需要在init方法中调用父类的init方法
在这里插入图片描述

2.ServletConfig只能获取本Servelt中配置的参数,不能跨Servlet获取

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaWeb开发中,我们通常使用数据库来存储和管理数据。而PostgreSQL是一种常见的开源关系型数据库,它支持ACID事务,具有高可靠性和安全性。 在使用PostgreSQL时,我们通常使用JDBC驱动程序来连接数据库。而连接池可以帮助我们更有效地管理数据库连接,提高应用程序的性能。 在Servlet配置PGPoolingDataSource,可以通过以下步骤完成: 1. 添加PostgreSQL JDBC驱动程序 在项目中添加PostgreSQL JDBC驱动程序的jar包。可以从PostgreSQL官网下载最新版本的JDBC驱动程序。将其添加到项目的classpath中。 2. 配置PGPoolingDataSource 在Servlet的init()方法中,创建PGPoolingDataSource对象。PGPoolingDataSource是PostgreSQL JDBC驱动程序提供的连接池类,可以通过设置其属性来配置连接池。常用的属性有: - serverName:数据库服务器名称 - portNumber:数据库服务器端口号 - databaseName:数据库名称 - user:数据库用户名 - password:数据库密码 - maxConnections:连接池中允许的最大连接数 在配置属性后,调用PGPoolingDataSource的setDataSourceName()方法设置数据源名称,调用PGPoolingDataSource的setMaxConnections()方法设置连接池中最大的连接数。 示例代码如下: ``` import java.sql.*; import org.postgresql.jdbc2.*; public class MyServlet extends HttpServlet { private PGPoolingDataSource dataSource; public void init() throws ServletException { dataSource = new PGPoolingDataSource(); dataSource.setDataSourceName("myDataSource"); dataSource.setServerName("localhost"); dataSource.setDatabaseName("myDatabase"); dataSource.setUser("myUsername"); dataSource.setPassword("myPassword"); dataSource.setMaxConnections(10); } // ... } ``` 3. 获取数据库连接 在需要访问数据库时,可以通过dataSource.getConnection()方法获取一个数据库连接。使用完后,需要调用Connection.close()方法释放连接。 示例代码如下: ``` import java.sql.*; import org.postgresql.jdbc2.*; public class MyServlet extends HttpServlet { private PGPoolingDataSource dataSource; public void init() throws ServletException { // ... } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection connection = null; try { connection = dataSource.getConnection(); // use connection } catch (SQLException e) { // handle exception } finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { // handle exception } } } } } ``` 以上就是在Servlet配置PGPoolingDataSource的步骤。通过连接池,可以更好地管理数据库连接,提高应用程序的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值