体会真正的Struts开发(2期) 2

博客介绍了MySQL连接池的设置,包括数据库连接的参数配置,如用户名、密码、驱动类名和数据库地址等。设置好连接池后,编写了一个Servlet对连接池进行测试,通过JNDI查找数据源并执行SQL查询,以验证连接池是否正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<o:p></o:p>

<name>username</name><o:p></o:p>

<value>root</value><o:p></o:p>

</parameter><o:p></o:p>

<parameter> <o:p></o:p>

<name>password</name><o:p></o:p>

<value></value><o:p></o:p>

</parameter><o:p></o:p>

<parameter> <o:p></o:p>

<name>driverClassName</name><o:p></o:p>

<value>com.mysql.jdbc.Driver</value><o:p></o:p>

</parameter><o:p></o:p>

<!--<o:p></o:p>

   数据库地址<o:p></o:p>

--><o:p></o:p>

<parameter> <o:p></o:p>

<name>url</name><o:p></o:p>

<value>jdbc:mysql://localhost/test?useUnicode=true</value><o:p></o:p>

</parameter><o:p></o:p>

</ResourceParams><o:p></o:p>

</Context><o:p></o:p>

<o:p> </o:p>

设置好连接池,我们对连接池进行测试<o:p></o:p>

我们编写一个Servlet测试在Servlet使用连接池<o:p></o:p>

代码如下<o:p></o:p>

<o:p> </o:p>

package com.test.web;<o:p></o:p>

import java.sql.Connection;<o:p></o:p>

import java.sql.PreparedStatement;<o:p></o:p>

import java.sql.ResultSet;<o:p></o:p>

<o:p> </o:p>

import javax.naming.Context;<o:p></o:p>

import javax.naming.InitialContext;<o:p></o:p>

import javax.naming.NamingException;<o:p></o:p>

import javax.servlet.ServletException;<o:p></o:p>

import javax.servlet.http.HttpServlet;<o:p></o:p>

import javax.sql.DataSource;<o:p></o:p>

<o:p> </o:p>

import org.apache.log4j.Logger;<o:p></o:p>

/**<o:p></o:p>

 * @author yanghx<o:p></o:p>

* To change the template for this generated type comment go to Window -<o:p></o:p>

 * Preferences - Java - Code Generation - Code and Comments<o:p></o:p>

 */<o:p></o:p>

public class TestServlet extends HttpServlet {<o:p></o:p>

    private static Logger log = Logger.getLogger(TestServlet.class);<o:p></o:p>

    <o:p></o:p>

    public void init() throws ServletException {<o:p></o:p>

        super.init();<o:p></o:p>

        String jndiName = "java:comp/env/jdbc/mysql";<o:p></o:p>

        try {<o:p></o:p>

            Context ctx = new InitialContext();<o:p></o:p>

            if (ctx == null) {<o:p></o:p>

                log.error("找不到上下文");<o:p></o:p>

                throw new Exception("找不到上下文");<o:p></o:p>

            }<o:p></o:p>

            DataSource ds = (DataSource) ctx.lookup(jndiName);<o:p></o:p>

            Connection conn = ds.getConnection();<o:p></o:p>

            PreparedStatement psmt = conn<o:p></o:p>

                    .prepareStatement("select * from tbl_testhbm");<o:p></o:p>

            ResultSet rs = psmt.executeQuery();<o:p></o:p>

            log.info("连接池OK");<o:p></o:p>

            rs.close();<o:p></o:p>

        } catch (NamingException e) {<o:p></o:p>

            log.error("找不到上下文" + e.getMessage());<o:p></o:p>

        } catch (Exception e) {<o:p></o:p>

            log.error("出现错误" + e.getMessage());<o:p></o:p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值