zoukankan      html  css  js  c++  java
  • Myeclipse WEB工程JSP使用JNDI 数据库连接池连接Mysql数据库

    在网上查了很多,最后实现了。下面写一下过程:

    首先,在WEBROOT/META-INF下建一个文件context.xml,内容为:

    <?xml version="1.0" encoding="UTF-8"?>
     <Context>
        <Resource 
            name="jdbc/ConnectionPool" 
            auth="Application"
            type="javax.sql.DataSource" 
            username="root" 
            password="root"
            driverClassName="com.mysql.jdbc.Driver" 
             url="jdbc:mysql://localhost:3306/sow"
            maxActive="8" 
            maxIdle="4"/>
     </Context>

    其中,name属性为数据库连接池的名称,auth属性为数据库连接池的作用范围,Application为作用于本web项目;url属性的后面sow为数据库名;

    其次,在web.xml中添加配置:

     <resource-ref>
             <description>news DataSource</description>
             <res-ref-name>jdbc/ConnectionPool</res-ref-name>
             <res-type>javax.sql.DataSource</res-type>
             <res-auth>Application</res-auth>
    </resource-ref>

    注意里面的属性要一致。

    接着,新建MyJsp.jsp用作测试

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ page  import="java.sql.*" %>
    <%@ page import="javax.naming.*" %>
    <%@ page import="javax.sql.DataSource" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'MyJsp.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>
      <%
        Context initCtx = new InitialContext(); 
        Context ctx = (Context) initCtx.lookup("java:comp/env"); 
        //获取连接池对象 
        DataSource ds =(DataSource)ctx.lookup("jdbc/ConnectionPool"); 
        //创建连接
        Connection conn = ds.getConnection(); 
        System.out.println("conn="+conn);
        Statement stmt = conn.createStatement();
        String mysql="select * from notification_tb";
        ResultSet myrs=stmt.executeQuery(mysql); //执行查询
       %>
      <body>
        This is my JSP page. <br>
        <table>
        <% 
            while(myrs.next())
            {
         %>
           <%      
                   String notiTheme=myrs.getString("notiTheme");  
                   String notiContent=myrs.getString("notiContent");
            %> 
                 <tr><td><%=notiTheme %></td><td><%=notiContent %></td></tr>
                <%    
                    System.out.println(notiTheme);
                    System.out.println(notiContent);
                  %>
           <% 
           }
         %>
        </table>
      </body>
    </html>

    然后重启TOMCAT,发布网站访问http://localhost:8080/PW_Application/MyJsp.jsp即可看到结果。

  • 相关阅读:
    java开发规范总结_代码编码规范
    java开发规范总结_代码注释规范
    Android简单例子——IpHone样式AlertDialog
    Java的split方法说明
    Android简单例子——AlertDialog
    Android增加监听的三种实现方式
    Android学习笔记(SQLite的简单使用)
    【公告】新博客、新地址,欢迎交换友链
    【公告】博客迁移中,暂停更新...
    【System】Install chromium os in vmware workstation
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/4148775.html
Copyright © 2011-2022 走看看