使用JSP访问MySQL数据库软件架构7

来源:互联网 发布:卖土特产的淘宝店名 编辑:程序博客网 时间:2024/06/18 06:25

1数据连接池(DBCP): 数据库连接的建立和关闭是非常耗费系统资源的操作。数据库连接

池的解决方案是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接

池,由应用程序动态的对池中的连接进行申请、使用和释放。对于多余连接池中的连接

数的请求,应在请求队列中排队等待。并且应用程序会根据连接的使用率动态的增加和

减少池中的连接数。连接池技术尽可能多的重用了内存的资源,大大节省了内存,提高

了服务器的效率。

2MySQL 数据库: MySQL 是一个开放源代码的关系数据库管理系统。MySQL 由于性能高、

成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet 上的中小

型网站中。随着MySQL 的不断成熟,它也逐渐用于更多大规模网站和应用中。MySQL

下载地址: http://www.mysql.com/downloads/。

3Weblogic: Weblogic 是美国BEA 公司出品的一个Application Server,确切地说是一个基于

J2EE 架构的中间件,BEA WebLogic 是用于开发、集成、部署和管理大型分布式Web 应

用、网络应用和数据库应用的Java 应用服务器。将Java 的动态功能和Java Enterprise

标准的安全性引入大型网络应用的开发、集成、部署和管理之中。BEA 已经被Oracle

收购,目前Weblogic 最新版本为Oracle Weblogic Server 11g Rel 1(10.3.5)。

实验步骤:

安装JDK 并配置环境变量,安装Tomcat 7,这些步骤请参考前面的实验。下载MySQL

数据库服务器并安装,并记住设定的MySQL 数据库密码。

运行MySQL 5.5 Command Line Client,输入设定的密码,创建数据库。

 

插入记录的时候自己输入id 和name,插入至少三条记录。

4  Tomcat7.0 JNDI 连接池的配置:

1) 将MySQLl 驱动中的jar 文件拷贝到{TomcatHome}/lib/下;

2) 使用Eclipse(Java EE 版)建立一个Dynamic Web Project,名称为JspApp,在META-INF/

下建立context.xml:

<?xml version="1.0" encoding="UTF-8"?>

<Context>

     <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver"

         maxActive="100" maxIdle="40" maxWait="12000" name="jdbc/lab8"

         username="root" password="adm12345" type="javax.sql.DataSource"

         url="jdbc:mysql://localhost:3306/lab8?characterEncoding=UTF-8" />

</Context>

3) 在WEB-INF/下创建web.xml:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

<resource-ref>

      <description>DB Connection</description>

      <res-ref-name>jdbc/lab8</res-ref-name>

      <res-type>javax.sql.DataSource</res-type>

      <res-auth>Container</res-auth>

</resource-ref>

</web-app>

4) 在WebContent/下创建index.jsp 和dbtest.jsp 文件:

index.jsp

<%@ page

     import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>

<%@ page contentType="text/html;charset=GB2312"%>

<%

     Context ctx = new InitialContext();

     String strLookup = "java:comp/env/jdbc/lab8";

     DataSource ds = (DataSource) ctx.lookup(strLookup);

     Connection con = ds.getConnection();

     if (con != null) {

         out.print("success");

     } else {

         out.print("failure");

     }

%>

<a href="./dbtest.jsp">数据库测试页</a>

<hr />

Dbtest.jsp:

<%@ page

     import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>

<%@ page contentType="text/html;charset=GB2312"%>

<html>

<head>

<title>DataSourse Connection Test</title>

</head>

<body>

     <%

         ResultSet rs = null;

         java.sql.Connection con = null;

         try {

              Context ctx = new InitialContext();

              DataSource ds = (DataSource) ctx

                       .lookup("java:comp/env/jdbc/lab8");

              con = ds.getConnection();

              Statement s = con.createStatement();

              String query = "select * from student";

              rs = s.executeQuery(query);

         } catch (Exception e) {

              out.print(e.toString());

         }

     %>

     <table width="323" height="50" border="1">

         <tr>

              <td width="182">学号</td>

              <td width="147">名字</td>

              <%

                   while (rs.next()) {

                       String id = rs.getString(1);

                       String name = rs.getString(2);

                       id = new String(id.getBytes("ISO-8859-1"), "gb2312");

                       name = new String(name.getBytes("ISO-8859-1"), "gb2312");

                       out.println("<tr> <td width=\"182\">" + id

                                 + "</td><td width=\"182\">" + name + "</td></tr>");

                   }

                   rs.close();

                   con.close();

              %>

         </tr>

     </table>

</body>

</html>

5) 用Eclipse 将项目工程打包成JspApp.war,并将其拷贝到{TomcatHome}/webapps/下,

重启Tomcat,在浏览器输入http://localhost:8080/JspApp/访问

5配置Weblogic 数据源和JNDI:

1) 下载并安装WebLogic 后,进入安装目录->weblogic81->common->bin,运config.cmd;

然后选择“Create a new weblogic configuration”->“basic weblogic server domain”,

安装过程中,有一步需要输入用户名密码,填写后并完成安装。这时,weblogic 目

录下会生成user_projects 的子目录,展开进入mydomain 目录,将连接MySQL 的

驱动mysql-connector-java-5.1.5-bin.jar 文件放进来。接着编辑该目录下的

startweblogic.cmd,找到写有“set classpath”字样的那行,在该行的末尾加上如下

字符串“; mysql-connector-java-5.1.5-bin.jar ”,存盘退出并双击运行该文件启动

Weblogic 服务。

注: 这里我用的驱动是mysql-connector-java-5.1.5-bin.jar,如果用更新的驱动可能导致在JDBC 连

接池的配置中测试驱动配置这一步出错。

2) 新开一个浏览器,输入http://localhost:7001/console,在页面填上刚才设定的账户

名和密码。进入后,选择右边框架页的mydomain->Services->JDBC->Connection

pools,进去新建一个数据连接,在第二页中的“DataBase Type”中选择MySQL,

在第三页输入如下内容:

3) 跳转到下一页的页脚,点击Test driver configuration 按钮。若测试成功,在下一页

点create and deploy。至此,新建了一个weblogic 下的数据连接池。

4) 为数据连接池绑定JNDI,在左边框架页点Service->JDBC->Data Sources,创建新的

jndi 数据源。进去填上JNDI 名: lab8,之后continue,create。

5) 在weblogic->user_projects->mydomain 下新建目录demo,从tomcat->webapps 下把

JspApp 目录拷到这个目录下。打开里面的dbtest.jsp , 查找DataSource ds =

(DataSource)ctx.lookup(…),把括号里的字符改成“lab8”,即刚才填写的JNDI 名字,

存盘退出。删除原来目录下的index.jsp,并将dbtest.jsp 重命名为index.jsp。

6) 在左边框架页,点Deployments->Web Application Modules,右侧选Deploy a new Web

Application Modules。定位demo 下的JspApp 目录,选中该项目点Target Module,

进入下一页点Deploy。此时, Web Application Modules 下出现JspApp 项目,点击

并在右页选择Testing 选项卡,进入下面的链接http://localhost:7001/JspApp/ ,查

看结果。

jsp连接数据库,分别用服务器tomcat以及weblogic来实现使用musql驱动器连接数据库,关于使用tomcat服务器之前已经有点经验。此次主要是用jsp连接mysql时使用的账号以及密码弄错了。接着是weblogic,实验过程中主要是连接池新建以及datasource的新建,过程中尽量不要改动部分初始值,否则,结果可能会出现空指针溢出等错误

 

 

原创粉丝点击