溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Jsp與Mysql連接探究查錯

發(fā)布時間:2020-08-09 03:08:53 來源:ITPUB博客 閱讀:163 作者:rainytag 欄目:MySQL數(shù)據(jù)庫
一、前言
在閱讀本文檔之前,你的Win2000下應(yīng)該已經(jīng)安裝好了Apache、JDK、Tomcat、PHP、MySQL.如果你還沒有成功地安裝好這些軟件,你可以參閱Apache1.3.20在Windows下的使用、Windows下JDK1.3.1的安裝、Tomcat在Win2000下的安裝、PHP在Win2000下的安裝、MySQL在Win2000下的安裝進行安裝.
在本文檔中,我們并不準備對PHP、MySQL、JSP作過多的解釋,我們將假定你已經(jīng)大致掌握了PHP、MySQL、JSP.我們僅僅是探討在Win2000下,使用PHP和JSP連接MySQL的方法.
二、MySQL的前期準備
在我們之前安裝的MySQL中,我們僅僅是使用了系統(tǒng)初始的root用戶.在本文中,我們不準備繼續(xù)使用root用戶,雖然我們是在一個試驗環(huán)境下工作,但是養(yǎng)成一個良好的習(xí)慣是至關(guān)重要的,因為我們將來面對的將可能是一個完全開放的Internet.和在絕大多數(shù)情況下一樣,MySQL中對root用戶的濫用也有可能導(dǎo)致MySQL的崩潰.
MySQL安裝后的初始情況有點怪怪的,要正確地增加用戶并設(shè)置用戶權(quán)限,我們有必要對mysql庫中的表User及DB進行清理.
首先,在命令行方式下進入c:/mysql/bin目錄,直接輸入mysql,你會進入MySQL的客戶端程序MYSQL(在下面,我們用MYSQL特指MySQL的客戶端程序,而在其他場合,我們將會使用MySQL).在“mysql>”提示符后輸入:
  show databases;
你會看到初始狀態(tài)下,MySQL下有兩個數(shù)據(jù)庫:mysql和test,test庫反正對我們也沒什么用,留著反而會混淆視聽,所以我們不妨將其刪除:
  drop database test;
有關(guān)用戶及其權(quán)限保存在mysql數(shù)據(jù)庫中,其中關(guān)鍵是db表和user表,現(xiàn)在,我們可以先將db表清空:
  use mysql;
delete from db;
然后我們對user庫進行清理,并進行刷新:
  delete from user where user='' or host='localhost';
flush privileges;
現(xiàn)在,用quit退出MYSQL.
  現(xiàn)在,你將不能直接輸入mysql進入MYSQL了(那種情況實際上是不需要用戶認證進入了MYSQL).你只能輸入mysql -u root -p.
  如果之前你為root用戶設(shè)置了密碼,這時會提示你輸入密碼,如果你還沒有設(shè)置,直接按回車鍵就可以進入MYSQL了.
  沒有口令的root用戶的存在是一個很恐怖的情況,你最好先退出客戶端程序用我們在MySQL在Win2000下的安裝中講述的方法為root設(shè)置一個口令后再進入MYSQL.
  我們建立一個用于使用的新的數(shù)據(jù)庫:
  create database my_test;
在這個庫中建立一個數(shù)據(jù)表:
  use my_test;
create table my_test_table (test_column char(20) not null);
在這個表中增加一行:
  insert my_test_table values ('Hello,I'm MySQL!');
現(xiàn)在我們用grant命令建立一個新的用戶yzysy,該用戶只對my_test這個庫有SELECT、UPDATE、INSERT以及DELETE的權(quán)限.該用戶的密碼也是yzysy:
  grant SELECT,UPDATE,INSERT,DELETE on my_test.* to yzysy identified by 'yzysy';
有關(guān)grant命令的詳細說明請參看MySQL用戶手冊.
第三用PHP連接MYsql省略
四、JSP連接MySQL
  JSP連接MySQL要稍微復(fù)雜一點.
  首先你必須從http://www.mysql.com/Downloads/Contrib/mm.mysql.jdbc-1.2c.tar.gz下載mm.mysql.jdbc-1.2c.tar.gz,然后將其解壓到本地硬盤的一個目錄下(我們使用的是c:/mm.mysql.jdbc-1.2c.
  然后在CLASSPATH系統(tǒng)變量的最后添加c:/mm.mysql.jdbc-1.2c;(此處/應(yīng)該是反斜杠)
創(chuàng)建一個JavaBean,名為DBconn.java,在Tomcat的/webapps/examples/WEB-INF/classes下建立一個mysqltest目錄,將該文件保存在這個目錄中,DBconn.java用來封裝與數(shù)據(jù)庫鏈接的操作.DBconn.java的內(nèi)容如下:
package Mysqltest;
import java.sql.*;
public class DBconn
{String DBDriver="org.gjt.mm.mysql.Driver";
String ConnStr="jdbc:mysql://localhost/my_test";
String MyUser="yzysy";
String MyPassword="yzysy";
Connection conn = null;
ResultSet rs = null;
public DBconn()
{try
{Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e)
{System.err.println("DBconn (): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{rs = null;
try
{conn = DriverManager.getConnection(ConnStr,MyUser,MyPassword);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}
  我們注意到在這段程序是只有
  String DBDriver="org.gjt.mm.mysql.Driver";
 String ConnStr="jdbc:mysql://localhost/my_test";
  帶有MySQL的特色,其余的程序與其他JDBC應(yīng)用并沒有什么不同.
利用JDK的Javac命令編譯DBconn.java形成相應(yīng)的class文件.
在Tomcat的/webapps/examples/jsp目錄下建立Mysqltest.jsp文件.其內(nèi)容如下:
<%@ page contentType="text/html; charset=gb2312" %>


  
 
 
  <%@ page language="java" import="java.sql.*" %>

  <%
ResultSet RS = DBconn1.executeQuery
("SELECT * FROM my_test_table");
while (RS.next()) {
out.print("

" + RS.getString("test_column")
+"

");
}
RS.close();
%>
 

在這兒,你已經(jīng)看不到任何MySQL的痕跡了.
現(xiàn)在在瀏覽器的地址欄中輸入http://localhost/examples/jsp/Mysqltest.jsp,你應(yīng)該可以看到黑體的“Hello,I'm MySQL!”.
五、結(jié)語
現(xiàn)在,你的Win2000下已經(jīng)成功地搭建了一個零成本的Web服務(wù)器.不過,我個人以為,在Win2000下只能作為一個開發(fā)環(huán)境,真正要投入使用,還有使用linux能得到更多的性能和安全上的保證.(End)

************************************************************

其實就錯了那一點,Mysql驅(qū)動程序的指向,我按其說的那樣做,結(jié)果Tomcat總是報沒有合適的驅(qū)動,

Jsp與Mysql連接探究查錯


我為了驗證指向目標的目錄正確性,把《超級馬力兄弟》游戲放到這個目錄里,在DOS窗口輸入《超級馬力兄弟》游戲名,游戲可以找到,說明CLASSPATH設(shè)置正確,那就是說,JSP服務(wù)器沒有來這找,無論我怎么試都無濟于事,從此惡夢成了我的好朋友......

在我重新安裝好XPServer后我把mm.mysql.jdbc-1.2c目錄下的ORG目錄全部拷貝到Tomcat40CLASSES下,不承想竟然成功了:

Jsp與Mysql連接探究查錯


所有由新奇世界 iNENS 提供http://vip.6to23.com/wocienyoung

因為驅(qū)動程序是String DBDriver="org.gjt.mm.mysql.Driver"所以要把ORG整個目錄全考過來,至此整個連接調(diào)試完成,JSP真正是一次編寫處處使用,(順便說一句,我在Linux下用的是Resin,在Profile里面直接Export Classprth就找到Mysql的驅(qū)動了)看來環(huán)境不同,什么就有可能不同,在此寫出來希望對那些增在尋求辦法的有所幫助.
[@more@]
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

j
AI