zoukankan      html  css  js  c++  java
  • 通过datasource与数据库交互的jsp范例

    • 配置数据源

    为WEB应用配置数据源设计修改context.xml和web.xml文件。在context.xml文件中加入定义数据源的<Resource>元素;在web.xml中加入<resource-ref>元素,该元素声明web应用引用了特定数据源。此外还要把MySql的jdbc驱动器类库mysqldriver.jar文件复制到<CATALINA_HOME>/lib目录下。

    1. 在contex.xml中加入<Resource>元素:

    <Resource>元素用来定义JNDI资源。在tomcat中,数据源是JNDI资源的一种。在工程/META-INF/创建一个context.xml文件,该文件为工程应用定义了一个名为jdbc/DatabaseName的数据源。

    用于定义数据源的context.xml文件
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <Context reloadable="true">
    3     <Resource name="jdbc/DatabaseName" auth="Container" type="javax.sql.DataSource"
    4     maxActive="100" maxIdle="30" maxWait="1000"
    5     username="username" password="userpassword"
    6     driverClassName="com.mysql.jdbc.Driver"
    7     url="jdbc:mysql://localhost:3306/DatabaseName?autoReconnect=true"/>
    8 </Context>

      2.在web.xml中加入<resource-ref>元素

    表示资源引用的元素为<resource-ref>,以下是声明引用jdbc/databasename数据源的代码:

    web.xml的增加内容
    1 <web-app>
    2   <resource-ref>
    3       <description>DB Connection</description>
    4       <res-ref-name>jdbc/DatabaseName</res-ref-name>
    5       <res-type>javax.sql.DataSource</res-type>
    6       <res-auth>Container</res-auth>
    7   </resource-ref>
    8 </web-app>

       3.通过数据源连接数据库的jsp范例程序

    Datasource与通过JDBC api 访问的区别就是:在于获取数据库连接的方式不一样(就是19行-22行)
     1 <%@ page language="java" contentType="text/html; charset=utf-8"
     2      pageEncoding="utf-8"%>
     3      <%@ page import="java.io.*" %>
     4      <%@ page import="java.util.*" %>
     5      <%@ page import="java.sql.*" %>
     6  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     7  <html>
     8  <head>
     9  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    10  <title>TestJDBCAPI</title>
    11  </head>
    12  <body>
    13  <%
    14      try{
    15          Connection con;
    16          Statement stmt;
    17          ResultSet rs;
    18 
    19          //从数据源中后的database连接
    20          Context ctx = new InitialContext();
    21          DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/DatabseName");
    22          con = ds.getConnection();
    23          
    24          //Create SQL 申明
    25          stmt = con.createStatement();
    26          //add data
    27          stmt.executeUpdate("插入具体的insert语句");
    28 
    29          //select data
    30          rs = stmt.executeQuery("select 语句");
    31 
    32          //Out select result
    33          out.println("<table border=1 width=400>");
    34          while(rs.next()){
    35              String col1 = rs.getString(1);
    36              String col2 = rs.getString(2);
    37              String col3 = rs.getString(3);
    38              float col4 = rs.getFloat(4);
    39 
    40              //Print datas
    41              out.println("<tr><td>"+col1+"</td>"
    42                         +"<td>"+col2+"</td>"
    43                         +"<td>"+col3+"</td>"
    44                         +"<td>"+col4+"</td></tr>");
    45              }
    46          out.println("</table>");
    47 
    48          //Delete datas
    49          stmt.executeUpdate("Delete 语句");
    50 
    51          //CLose
    52          rs.close();
    53          stmt.close();
    54          con.close();
    55 
    56      }catch(Exception e){
    57          out.println(e.getMessage());
    58      }
    59  %>
    60  </body>
    61  </html>
  • 相关阅读:
    [IDEs]Eclipse For Mac , 常用快捷键
    Songs
    [Android学习笔记]扩展application
    [Android学习笔记]Context简单理解
    Activity组件的生命周期
    [数据结构和算法]快速排序笔记
    关于项目团队管理的几点思考
    【转】一步步教你读懂NET中IL(图文详解)
    【札记】设计的五个原则
    【转】高并发情况下的单例模式
  • 原文地址:https://www.cnblogs.com/wocn/p/db_jsp_datasource.html
Copyright © 2011-2022 走看看