使用Tomcat数据源的方式访问数据库(MySql) --Struts2框架应用与开发

1、为方便测试首先创建数据库和表,然后插入测试数据

在这里插入图片描述

在这里插入图片描述

insert into stu(name,password) values(‘ceo1’,‘123’)
insert into stu(name,password) values(‘admin’,‘123’)

2、打开Tomcat服务器安装目录的conf/下的context.xml,配置context.xml文件。
在这里插入图片描述

在标签里加入标签及相关属性

<Resource 
name="jdbc/Struts2DB"
auth="Container"
type="javax.sql.DataSource"
username="root" 
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydata" 
maxActive="8"
maxIdle="4" />

name:数据源名称

auth:连接池管理方式

type:资源类型

maxActive:连接池的最大连接数

maxIdle:连接池中最多可空闲的连接数

3、配置web.xml,在项目文件web.xml中添加指向

<resource-ref>
    <description>DB connection</description>
    <res-ref-name>jdbc/Struts2DB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

注意:

标签里的内容要和context.xml中标签中name属性的值对应

标签里的内容要和context.xml中标签中type属性的值对应

标签里的内容要和context.xml中标签中auth属性的值对应

4、测试连接数据库是否正常。

testDataSource.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<%@page import="java.sql.*,javax.sql.DataSource,javax.naming.*"%>
<%
    try {
        Context iniContext = new InitialContext();//初始化查找命名空间
        DataSource ds = (DataSource) iniContext
                .lookup("java:comp/env/jdbc/Struts2DB");//创建数据源对象,java:comp/env是固定路径,jdbc/Struts2DB是要查找的数据源名称
        Connection conn = ds.getConnection();//获取连接对象
        String sql = "select *from stu";
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while (rs.next()) {
            out.print("用户名:" + rs.getString("name")+"<br/>");
            out.print("密码:" + rs.getString("password")+"<br/>");
            out.print("------------------------------------------<br/>");
        }
        out.print("使用DataSource操作数据库成功");
        rs.close();
        stmt.close();
        conn.close();
    } catch (Exception e) {
        out.print(e);
    }
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
</head>

<body>

</body>
</html>
用户名:ceo1
密码:123
------------------------------------------
用户名:admin
密码:123
------------------------------------------
使用DataSource操作数据库成功

——————————————————————————————————
如果您觉得本文还有点用处的话,请点赞,收藏,转发,关注,谢谢谢谢!~
——————————————————————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值