㈠ jsp如何連接資料庫
驅動加上么
㈡ jsp怎麼連接mysql資料庫
我寫的一個用JSP連接MySQL資料庫的代碼。
要正確的使用這段代碼,你需要首先在MySQL資料庫里創建一username表,表裡面創建兩個字元型的欄位,欄位名分別為:uid,pwd,然後插入幾條測試數據。
以下用兩種方式來實現JSP連接MySql資料庫。
第一種方式,用JSP實現。
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%>
<%
//**************************************
********* JDBC_ODBC連接MySql資料庫,不需要設置數據源
*********************************/
//********** 資料庫連接代碼開始 ******/
//以下幾項請自行修改
String server="localhost"; //MYSQL 伺服器的地址
String dbname="test"; //MYSQL 資料庫的名字
String user="root"; //MYSQL 資料庫的登錄用戶名
String pass="chfanwsp"; //MYSQL 資料庫的登錄密碼
String port="3306"; //SQL Server 伺服器的埠號,默認為1433
//資料庫連接字元串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+
"&password="+pass+"&useUnicode=true&characterEncoding=GB2312";
//載入驅動程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立連接
Connection conn= DriverManager.getConnection(url);
//創建語句對象
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// **** 資料庫連接代碼結束 *******
String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();
while(rs.next()){
out.print("用戶名:");
out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"
");
}
rs.close();
stmt.close();
conn.close();
%>
第二種方式,用JavaBean來實現。請看代碼:
DBConnMySql.java
編譯以後的Class文件應該放在WEB-INF\classes\conn目錄下。
package conn; //導入包
import java.sql.*; //導入資料庫操作的類
public class DBConnMySql //構造方法,初始化
{
private Connection conn; //連接對象
private Statement stmt; //語句對象
private ResultSet rs; //結果集對象
private String MySqldriver;//MYSQL Server驅動程序字元串
private String MySqlURL; //MYSQL Server連接字元串
//********************************
*用 org.gjt.mm.mysql.Driver 驅動
* 該方法取得連接所需各種參數,組成連接字元串,然後再建立連接
* server;dbname,user,pass,port 分別表示MYSQL 伺服器的地址,
* 資料庫,用戶名,密碼,埠
**********************************/
public Connection getConnToMySql(String server,String dbname,
String user,String pass,String port){
//MYSQl驅動程序
MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://"; //連接字元串一部分
try{
//完整的連接字元串
MySqlURL =MySqlURL+server+":"+port+"/"+dbname+
"?user="+user+"&password="+pass+
"&useUnicode=true&characterEncoding=GB2312";
Class.forName(MySqldriver);
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
System.out.println("操作資料庫出錯,請仔細檢查");
//System.err.println(e.getMessage());
}
return conn;
}
//關閉資料庫連接
public void close()
{
try{
//rs.close();
//stmt.close();
conn.close();
}catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
這個文件只是實現了資料庫的連接,下面我們再寫一個測試文件。
就是用sql語句從資料庫里查詢出記錄,以驗證我們資料庫的連接是否成功。
connmysql.jsp文件源代碼如下:
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %>
<%
//以下幾項請自行修改
String server="localhost"; //MYSQL 伺服器的地址
String dbname="test"; //MYSQL 資料庫的名字
String user="root"; //MYSQL 資料庫的登錄用戶名
String pass="chfanwsp"; //MYSQL 資料庫的登錄密碼
String port="3306"; //SQL Server 伺服器的埠號,默認為1433
Connection conn=DBConn.getConnToMySql(server,dbname,user,pass,port);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
String sql1="insert into username (uid,pwd) values('夢想年華','夢想年華')";
stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用戶名:");
out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"
");
}
//rs.close();
//stmt.close();
//conn.close();
DBConn.close();
%>
㈢ 如何將資料庫和JSP連接
1.sqljdbc.jar注意這里要下載sqljdbc4.jar而不是sqljdbc.jar因為是2012,
2.jar包放在tomcat下的lib文件夾下,系統配置就是在classpath後添加jar包的位置,前提是tomcat和jdk都已經配置成功,具體這里不講了
3.現在打開sql 和myeclipse
4.現在開始設置sql,我們要打開sql Server Configuration Manager-》選擇TCP/IP右擊屬性
在IPALL下的IP埠和IP動態埠分別設置1433,2043並設置TCP/IP為啟動
現在設置賬號,剛開始sa賬號是登陸不了的,用系統賬號貌似也登不了,反正我是沒登上
設置sa賬號步驟如下,打開Microsoft SQL Server Managerment Studio,登陸,選擇安全性,登錄名,sa,右擊sa,選擇屬性在常規里重新設置一個密碼作為jsp登陸資料庫的密碼,狀態設置為啟用。
這里我們可以測試一下設置的賬號能不能用,新建文本文檔,文件名命名為TestSQL.UDL,然後雙擊打開,在提供程序里選擇最下面的sql server native,然後下一步,選擇使用特定用戶名和密碼,輸入用戶名sa和你剛才設置的密碼,然後點下面的測試,顯示測試成功,則設置成功。提示其他錯誤則返回重新設置sa。
5.在myeclipse新建項目,新建jsp參考代碼如下
<%@page contentType="text/html;charset=gb2312" %>
<%
java.sql.Connection conn=null;
java.lang.String strConn;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
conn=java.sql.DriverManager.getConnection("jdbc:sqlserver://localhost:1433;","sa","000");
//資料庫連接字元串,sa和000是我設置的賬號密碼
%>
連接資料庫成功
<%
}
catch(java.sql.SQLException e){
out.println(e.toString());
}finally{
if(conn!=null) conn.close();
}
%>
然後部署文件,啟動伺服器,運行jsp.下面介紹一下可能出現的錯誤
(1)跳出bug,class file editor這里我們點chang然後選擇tomcat下的lib下的rt.jar。確定,返回,重新運行即可。
(2)用戶「sa」登陸失敗,這里是sa賬號沒設置好,檢查一下是否設置
最後再給出一個查詢資料庫代碼的實例
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>Insert title here</title>
<body>
<%//變數聲明
Connection conn;
ResultSet rs;
Statement st;
//變數聲明結束
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
//資料庫連接字元串
String url="jdbc:sqlserver://localhost:1433;DatabaseName=Persons";
conn= DriverManager.getConnection(url,"sa","000"); //設置conn
//設置st
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery("select * from Persons.dbo.customer");//sql查詢語句
while(rs.next()){
out.println(rs.getString("Persons.dbo.customer"));//循環讀取欄位
}
%>
</body>
</html>
運行的前提要建立資料庫Persons和表customer
㈣ jsp連接資料庫方法(詳細的)
上面的給出了jsp內嵌java的最初模式,現在一般是三層結構了即MVC結構,就這個例子我來給你解釋下是怎麼做的,java對連接資料庫提供了統一的介面,各個資料庫廠商根據提供的介面規范開發自己的連接方法順序如下:1、用Class.forName()方法載入驅動:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 黑體部分為資料庫廠商自己開發的驅動。2、定義好連接資料庫的url地址,連接串Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑體部分為固定寫法不用理會。回到你最初的問題,如何創建資料庫,這里你可以去下每個資料庫創建的方法,一般資料庫安裝的時候都有默認的資料庫名,和對應的系統管理員工號和密碼,DatabaseName=pubs這里說明sql serv 2000中建立了一個名字叫pubs的資料庫jdbc:microsoft:sqlserver://localhost:1433固定寫法唯一不同的是1433埠號,可能你在安裝sql serv 2000的時候改變了該埠號為1500那麼這里就應該為jdbc:microsoft:sqlserver://localhost:15003、定義好DatabaseName=pubs的登錄用戶名和密碼 String user="sa";用戶名
String password="";密碼4、創建Connection對象,通過調用DriverManager.getConnection方法獲得。 Connection conn= DriverManager.getConnection(url,user,password);黑體部分就是你定義好的連接串,用戶名,密碼,不可改變順序。到這里為止資料庫就連接上了,但是連接好了資料庫還要做點什麼,比如列印出來,接下看。5、通過獲得的Connection對象conn創建Statement 對象stmtStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);黑體部分是定義ResultSet的一些屬性的,具體含義可以參考JDK的api。6、定義好你准備取得數據的sql語句,比如下面 select * from test說明想從test表中取得所有的數據,關於sql語句可以去查找相關資料庫資料。 String sql="select * from test";定義好語句後,就用上一步創建好的Statement 對象stmt來執行這個sql語句,並返回一個ResultSet對象。
ResultSet rs=stmt.executeQuery(sql);執行完這步後rs中已經取得了test表所有的數據,那麼接下來要展現在網頁上。7、rs.next()對你取得的記錄集做一個循環直到沒有值為止,rs.getString(1)代表你test表中的第一個欄位rs.getString(2)代表你test中的第二個欄位,如果還有更多欄位可以繼續rs.getString(3)..rs.getString(N) while(rs.next()) {%>
您的第一個欄位內容為:<%=rs.getString(1)%>
您的第二個欄位內容為:<%=rs.getString(2)%>
<%}%>8、當所有數據展現完畢,調用close()方法將所有資源關閉。 rs.close();
stmt.close();
conn.close();回顧下大致過程:載入驅動 Class.forName();定義好相關的數據,調用DriverManager.getConnection(driver,user,password)獲得一個資料庫連接conn通過conn創建Statement對象stmt,conn.createStatement();通過stmt執行定義好的sql語句獲得數據集ResultSet rs=stmt.executeQuery(「select * from test」);通過rs.next()方法循環遍歷數據集的數據,通過rs.getString(1)獲得第一條數據的第一個欄位內容,這里要注意的是getString是對應資料庫是字元類型,如果test表的第一個欄位不是字元類型則用rs.getInt(1)獲得。展現完畢後關閉所有資源conn stmt rs close方法。
㈤ 在jsp編程中如何連接資料庫
首先你的機器上得裝有一款資料庫,通常是Oracle,Ms sql,MySQL等,不考慮框架等,jsp中主要是利用jdbc進行連接資料庫
1,打開資料庫服務(你已經設計好了資料庫)
2,在class-path中添加相應資料庫的連接jar包,
3.利用jdbc進行操作
例如:
JDBC - 環境設置:
請確認您已完成以下設置:
核心JAVA安裝
SQL 或 MySQL資料庫安裝
除上述者外,需要建立一個資料庫,為本程測試項目使用。假設這是EMP,在同一個資料庫上創建表Employees。
創建JDBC應用程序:
參與建立一個JDBC應用程序,本教程中按六個步驟進行:
導入包:
這需要你有軟體包包含了資料庫編程所需的JDBC類。大多數情況下,使用import java.sql.* 就足夠了,如下所示:
//STEP 1. Import required packages
import java.sql.*;
注冊JDBC驅動程序:
這需要初始化驅動程序,這樣就可以打開與資料庫的通信信道。以下是代碼片段實現這一目標:
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
打開一個連接:
這需要使用DriverManager.getConnection()方法來創建一個Connection對象,它代表一個物理連接的資料庫,如下所示:
//STEP 3: Open a connection
// Database credentials
static final String USER = "username";
static final String PASS = "password";
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
執行一個查詢:
這需要使用一個對象類型Statement或PreparedStatement構建,並提交一個SQL語句到資料庫。如下:
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
如果有一個SQL UPDATE,INSERT或DELETE語句,那麼需要下面的代碼片段:
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "DELETE FROM Employees";
ResultSet rs = stmt.executeUpdate(sql);
從結果集中提取數據:
這一步是必需的情況下,從資料庫中獲取數據。可以使用適當的ResultSet.getXXX()方法來檢索的數據結果如下:
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
清理環境:
應該明確地關閉所有的資料庫資源,對依賴於JVM的垃圾收集如下:
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
㈥ jsp資料庫連接
//導入JDBC相關類
import java.sql.*;
//導入MySQL的JDBC相關類
import org.gjt.mm.mysql.*;
public class MysqlExample{
Connection conn=null;//定義資料庫連接對象
Statement st=null;//定義資料庫執行象
//定義連接資料庫的方法
public void connectToMySQL(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
/*載入JDBC驅動程序,如果找不到會出錯,如果頻繁的對資料庫進行操作,可以把
載入的內容寫在類開頭的static塊里,因為驅動只要載入一次就夠了,沒有必要在每次建立連接時載入驅動.
*/
/*
如果查找成功就嘗試連接資料庫,DriverManager的getConnection的方法有3個參數:
1.資料庫的URL,MySQL為jdbc:mysql://hostname.port/databasename
2.資料庫用戶名
3.資料庫密碼
以下的參數只是舉例而已
*/
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/person","root","");
//如果要用到事務,必須如下設置
/*
conn.setAutoCommit(false);
*/
System.out.println("OK");//只是便於自己查看是否連接成功了
}catch(Exception e){//捕獲錯誤
System.out.println(e.getMessage());
}
}
到此為止是完成了用connectToMySQL方法封裝了對資料庫的連接,當然你還可以對add,remove,query等方法對資料庫里操作進行封裝,最後就是一個定義一個方法connectClose(),調用close(),將st和conn關閉,當然在關閉conn之前記得conn.commit();
㈦ jsp怎麼連接mysql資料庫
一、軟體環境
下載並安裝MySQL,Tomacat,JDBC、MyEclipse或其他IDE。
二、環境配置
將其環境變數配置好之後,下載Java 專用的連接MySQL的驅動包JDBC,有人會發現在一些下載的JDBC壓縮包裡面發現若干文件, 比如:mysql-connector-java-gpl-5.1.34.msi的安裝文件,那這個文件是干什麼用的呢,它又與mysql-connector-java-5.1.34-bin.jar有什麼區別?其實兩個都是一樣的,只不過mysql-connector-java-gpl-5.1.34.msi是把mysql-connector-java-5.1.xx-bin.jar封裝在裡面了,msi的安裝完後會有一個文件夾,裡面會有mysql-connector-java-5.1.34-bin.jar這個文件,在這里我們只需要這個mysql-connector-java-5.1.xx-bin.jar就行了。
把mysql-connector-java-x.x.x-bin.jar拷貝到Tomcat的安裝bin目錄D:\Tomcat 6.0\lib下(如果你安裝的是msi文件,那麼他可能會在MySQL的安裝目錄的Tools文件夾下,這個我們不建議這樣用,直接下載jar文件復制過去就行),然後在classpath裡面加入D:\Tomcat 6.0\lib\mysql-connector-java-x.x.x-bin.jar即可。 拷貝這一步就是為JSP連接資料庫配置驅動。 如果使用的是MyEclipse上自帶的tomcat則直接將jar文件復制到「項目\WebRoot\WEB-INF\lib」路徑下即可。
配置這個的目的是讓java Application找到連接mysql的驅動。
三、JSP連接MySQL
建立資料庫Student,建立表stu_info。現在就是嘗試用jsp連接mysql了。
建立測試頁面test.jsp
[java] view plain
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//載入驅動程序
String driverName="com.mysql.jdbc.Driver";
//資料庫信息
String userName="root";
//密碼
String userPasswd="123";
//資料庫名
String dbName="Student";
//表名
String tableName="stu_info";
//將資料庫信息字元串連接成為一個完整的url(也可以直接寫成url,分開寫是明了可維護性強)
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn=DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = stmt.executeQuery(sql);
out.print("id");
out.print("|");
out.print("name");
out.print("|");
out.print("phone");
out.print("<br>");
while(rs.next()) {
out.print(rs.getString(1)+" ");
out.print("|");
out.print(rs.getString(2)+" ");
out.print("|");
out.print(rs.getString(3));
out.print("<br>");
}
out.print("<br>");
out.print("ok, Database Query Successd!");
rs.close();
stmt.close();
conn.close();
%>
㈧ jsp怎麼連接資料庫
1、jsp是java服務端動態網頁技術,主要應用於網頁構建,理論上講不應該在頁面中直接連資料庫。合理的做法是先構建一個java後端,然後在JAVA後端中通過jdbc連接sqlserver。
2、如果一定要在jsp頁面中連資料庫也是可以的。jsp中有專門的sql標簽可以連接資料庫進行操作,這是jstl的內容,需要導入相應的資料庫驅動包。
3、jsp的內容相對來說技術難度都不算特別高,學習起來還是比較容易的。
4、希望對你有幫助。祝你學有所得。
㈨ 在jsp編程中如何連接資料庫
用JDBC技術x0dx0a創建資料庫連接,分為以下幾步:x0dx0a1.裝載並注冊資料庫的JDBC驅動程序x0dx0a2.取得資料庫連接x0dx0a3.建立Statement 對象x0dx0a4.准備並執行調用SQL語句x0dx0a5.處理ResultSet中的記錄集x0dx0a6.釋放資源x0dx0a第一步x0dx0a載入驅動程序x0dx0a try{ //裝載MySQL資料庫驅動x0dx0a Class.forName("com.mysql.jdbc.Driver");x0dx0a }x0dx0a catch(ClassNotFoundException e) x0dx0a { x0dx0a e.printStackTrace();x0dx0a }x0dx0a注意:在使用JDBC之前,要在文件前導入有關SQL的類即x0dx0a import java.sql.*x0dx0a第二步x0dx0a取得資料庫連接x0dx0atry{x0dx0aString url="jdbc:mysql://localhost:3306/student;x0dx0aString user="root";x0dx0aString password="1234";x0dx0acon=DriverManager.getConnection(url,user,password);x0dx0a}x0dx0acatch(SQLException e)x0dx0a{x0dx0a e.printStackTrace();x0dx0a }x0dx0a第三步x0dx0a建立Statement 對象x0dx0atry{x0dx0a Statement sql=con.createStatement();x0dx0a }x0dx0acatch(SQLException e)x0dx0a {x0dx0a e.printStackTrace();x0dx0a }x0dx0a第四步x0dx0a執行各種SQL語句x0dx0atry{x0dx0a ResultSet rs=sql.executeQuery(x0dx0a "select * from student");x0dx0a }x0dx0acatch(SQLException e)x0dx0a {x0dx0a e.printStackTrace();x0dx0a }x0dx0a第五步x0dx0a獲取查詢結果x0dx0a ResultSet rs=sql.executeQuery(x0dx0a "select * from student");x0dx0a while(rs.next())x0dx0a {x0dx0a rs.getString(2)或者是rs.getString("name");x0dx0a rs.getInt(3)或者是rs.getInt("age");x0dx0a }x0dx0a注意x0dx0a只有select語句才會有結果集返回;x0dx0aResultSet對象一次只能看到一個數據行x0dx0a使用next()方法走到下一數據行x0dx0a獲得一行數據後,ResultSet對象可以使用getXxx()方法獲得欄位值,將位置索引或欄位名傳遞給get第六步x0dx0a關閉創建的各個對象(後打開的先關)x0dx0a rs.close();x0dx0a sql.close();x0dx0a con.close();Xxx方法()即可。