當您面臨JSP連接MySQL資料庫問題,你首先需要在MySQL資料庫里創建一username表,表裡面創建兩個字元型的欄位,欄位名分別為:uid,pwd,然後插入幾條測試數據。
以下用兩種方式來實現JSP連接MySql資料庫
第一種方式,用JSP實現:
%@ page contentType="text/html;
charset=gb2312" language="java"
import="java.sql.*"%
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
%//*******************************
****************
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
=truecharacterEncoding=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")+"br");}
rs.close();stmt.close();conn.close();%
第二種方式,用JavaBean來實現:
DBConnMySql.java編譯以後的Class文件應該放在Web-INFclassesconn目錄下。
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
=truecharacterEncoding=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文件源代碼如下:
meta http-equiv="Content-Type" content="text/html;
charset=gb2312"%@ page contentType="text/html;
charset=gb2312" language="java" import="java.sql.*" %
jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/
% //以下幾項請自行修改String server="localhost";
//MYSQL 伺服器的地址String dbname="test";
//MYSQL 資料庫的名字String user="root";
//MYSQL 資料庫的登錄用戶名String pass="chfanwsp";
//MYSQL 資料庫的登錄密碼String port="3306";
//SQL Server 伺服器的埠號,默認為1433Connection
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")+"br");}
//rs.close();//stmt.close();//conn.close();DBConn.close();%
㈡ 如何用JSP連接SQLServer資料庫
JAVA Web開發中與資料庫的連接操作,配置:
1、新建資料庫。
新建登錄角色,在新建資料庫的時候把資料庫的所有權交給你新建的角色。用用戶和密碼控制資料庫。保證資料庫的安全。
2、編寫context.xml文件 Xml文件的目的是封裝用戶和密碼,也是封裝的一種,方便操作。
以下為context.xml文件樣例:
<?xml version="1.0" encoding="utf-8"?>
<Context reloadable = "true">
<Resource
name="jdbc/sampleHS"
type="javax.sql.DataSource"
maxActive="14"
㈢ jsp怎麼連接資料庫
1、jsp是java服務端動態網頁技術,主要應用於網頁構建,理論上講不應該在頁面中直接連資料庫。合理的做法是先構建一個java後端,然後在JAVA後端中通過jdbc連接sqlserver。
2、如果一定要在jsp頁面中連資料庫也是可以的。jsp中有專門的sql標簽可以連接資料庫進行操作,這是jstl的內容,需要導入相應的資料庫驅動包。
3、jsp的內容相對來說技術難度都不算特別高,學習起來還是比較容易的。
4、希望對你有幫助。祝你學有所得。
㈣ jsp怎麼連接資料庫oracle
JSP連接Oracle10g資料庫的方法:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>Oracle資料庫連接測試</title>
</head>
<body>
<%
java.sql.Connection lConn = null;
java.sql.Statement lStat = null;
java.sql.ResultSet lRs = null;
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String lUrl = "java:oracle:thin:@localhost:1521:orcl";
//java:oracle:thin: 表示使用的是thin驅動
//@srv:1521: 表示使用的伺服器的名字和埠號
//dbname: 表示資料庫的SID
lConn = DriverManager.getConnection(lUrl,"system","rg");
lStat = lConn.createStatement();
//創建表
String createTableCoffees = "CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +
"SALES INTEGER, TOTAL INTEGER)";
lStat.executeUpdate(createTableCoffees);
//插入數據
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Colombian', 101, 7.99, 0, 0)");
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Espresso', 150, 9.99, 0, 0)");
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('Colombian_Decaf', 101, 8.99, 0, 0)");
lStat.executeUpdate("INSERT INTO COFFEES VALUES ('French_Roast_Decaf', 49, 9.99, 0, 0)");
//查詢結果
lRs = lStat.executeQuery("select * from COFFEES");
//顯示結果
out.println("<table>");
while (lRs.next()) {
out.print("<tr><td>" + lRs.getString(1));
//COF_NAME
out.print( "<td>" + lRs.getInt(2));
//SUP_ID
out.print( "<td>" + lRs.getFloat(3));
//PRICE
out.print( "<td>" + lRs.getInt(4));
//SALES
out.println( "<td>" + lRs.getInt(5));
//TOTAL
}
out.println("</table>");
lRs.close();
lStat.close();
} catch (SQLException e) {
throw new ServletException(e);
} finally {
try {
if (lConn != null)
lConn.close();
} catch (SQLException e) {
}
}
%>
</body>
</html>
㈤ JSP連接各類資料庫大全
現在有好多初學JSP的網友經常會此裂問資料庫怎運扒卜么連接啊,怎麼老出錯啊?所以我集中的在這寫篇文章供大家參考,其實這種把資料庫邏輯全部放在jsp里未必是好的做法,但是有利於初學者學習,所以我就這樣做了,當大家學到一定程度的時候,可以考慮用MVC的模式開發。在練習這些代碼的時候,你一定將JDBC的驅動程序放到伺服器的類路徑里,然後要在資料庫里建一個表test,有兩個欄位比如為test1,test2,可以用下面SQL建
create table test(test1 varchar(20),test2 varchar(20)
然後向這個表寫入一條測試紀錄,那麼現在開始我們的jsp和資料庫之旅吧。
一、jsp連接Oracle8/8i/9i資料庫(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl為你的資料庫的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<旁穗%rs.close();
stmt.close();
conn.close();
%
</body
</html
二、JSP連接SQL Server7.0/2000資料庫
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs為你的資料庫的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
三、JSP連接DB2資料庫
testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("com.ibm.db2.JDBC.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample為你的資料庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
四、JSP連接Informix資料庫
testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("com.informix.JDBC.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB為你的資料庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
五、JSP連接Sybase資料庫
testMySQL.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("com.sybase.JDBC.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdata為你的資料庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
六、JSP連接MySQL資料庫
testmysql.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="JDBC:mysql://localhost/softforum?user=softpassword=soft1234useUnicode=truecharacterEncoding=8859_1"
//testDB為你的資料庫名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
七、JSP連接PostgreSQL資料庫
testMySQL.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%
<%@ page import="Java.sql.*"%
<html
<body
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="JDBC:postgresql://localhost/soft"
//soft為你的資料庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print("資料庫操作成功,恭喜你");%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
㈥ jsp怎樣用jdbc連接mysql資料庫
工具:
mysql
jsp頁面中怎麼導哪陵虛入jdbc連接mysql如汪戚下:
注意:一定要把mysql的環境變數配置到李燃系統的環境變數中才可以,否則會連接失敗
㈦ 在jsp編程中如何連接資料庫(jsp與資料庫連接)
首先你的機器上得裝有一款資料庫,通常是Oracle,Mssql,MySQL等,不考慮框架等,jsp中主要是利用jdbc進行連接資料庫
1,打開資料庫服務(你已經設計好了資料庫)
2,在class-path中添加相應或卜緩資料庫的連接jar包,3.利用jdbc進行操作
例如:
JDBC-環境設置:
請確認您已完成以下設置:
核心JAVA安裝
SQL或MySQL資料庫安裝
除上述者外,需要建立一個資料庫,為本程測試項目使用。假設這是EMP,在同一個資料庫上創建表Employees。
創建JDBC應用程序:
參與建立一個JDBC應用程序,本教程中按六個步驟進行:
導入包:
這需要你有軟體包包含了資料庫編程所需的JDBC類。大多數情況下,使用importjava.sql.*就足夠了,如下所示:
//STEP1.Importrequiredpackages
importjava.sql.*;
注冊JDBC驅動程序:
這需要初始化驅動程序,這樣就可以打開與資料庫的通信信衫模道。以下是代碼片段實現這一目標:
//STEP2:RegisterJDBCdriver
Class.forName("com.mysql.jdbc.Driver");
打開一個連接:
這需要使用.()方法來創建一個Connection對象,它代表一個物理連接的資料庫,如下所示:
//STEP3:Openaconnection
//Databasecredentials
staticfinalStringUSER="username";
staticfinalStringPASS="password";
System.out.println("Connectingtodatabase...");
conn=.(DB_URL,USER,PASS);
執行一個查詢:
這需要使用一個對象類型Statement或構建,並提交一個SQL語弊扮句到資料庫。如下:
//STEP4:Executeaquery
System.out.println("Creatingstatement...");
stmt=conn.();
Stringsql;
sql="SELECTid,first,last,ageFROMEmployees";
ResultSetrs=stmt.(sql);
如果有一個SQLUPDATE,INSERT或DELETE語句,那麼需要下面的代碼片段:
//STEP4:Executeaquery
System.out.println("Creatingstatement...");
stmt=conn.();
Stringsql;
sql="DELETEFROMEmployees";
ResultSetrs=stmt.(sql);
從結果集中提取數據:
這一步是必需的情況下,從資料庫中獲取數據。可以使用適當的ResultSet.getXXX()方法來檢索的數據結果如下:
//STEP5:Extractdatafromresultset
while(rs.next()){
//Retrievebycolumnname
intid=rs.getInt("id");
intage=rs.getInt("age");
Stringfirst=rs.getString("first");
Stringlast=rs.getString("last");
//Displayvalues
System.out.print("ID:"id);
System.out.print(",Age:"age);
System.out.print(",First:"first);
System.out.println(",Last:"last);
}
清理環境:
應該明確地關閉所有的資料庫資源,對依賴於JVM的垃圾收集如下:
//STEP6:Clean-upenvironment
rs.close();
stmt.close();
conn.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編程中如何連接資料庫
用JDBC技術
創建資料庫連接,分為以下幾步:
1.裝載並注冊資料庫的JDBC驅動程序
2.取得資料庫連接
3.建立Statement 對象
4.准備並執行調用SQL語句
5.處理ResultSet中的記錄集
6.釋放資源
第一步
載入驅動程序
try{ //裝載MySQL資料庫驅動
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
注意:在使用JDBC之前,要在文件前導入有關SQL的類即
import java.sql.*
第二步
取得資料庫連接
try{
String url="jdbc:mysql://localhost:3306/student;
String user="root";
String password="1234";
con=DriverManager.getConnection(url,user,password);
}
catch(SQLException e)
{
e.printStackTrace();
}
第三步
建立Statement 對象
try{
Statement sql=con.createStatement();
}
catch(SQLException e)
{
e.printStackTrace();
}
第四步
執行各種SQL語句
try{
ResultSet rs=sql.executeQuery(
"select * from student");
}
catch(SQLException e)
{
e.printStackTrace();
}
第五步
獲取查詢結果
ResultSet rs=sql.executeQuery(
"select * from student");
while(rs.next())
{
rs.getString(2)或者是rs.getString("name");
rs.getInt(3)或者是rs.getInt("age");
}
注意
只有select語句才會有結果集返回;
ResultSet對象一次只能看到一個數據行
使用next()方法走到下一數據行
獲得一行數據後,ResultSet對象可以使用getXxx()方法獲得欄位值,將位置索引或欄位名傳遞給get第六步
關閉創建的各個對象(後打開的先關)
rs.close();
sql.close();
con.close();Xxx方法()即可。