jsp訪問資料庫的方式
我寫的一個用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連接資料庫要有幾種方法,要怎麼連接怎麼寫代碼
一、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的工作原理和訪問資料庫的一般步驟
實際開發中以MVC設計模式為主,強制性地使應用程序的輸入、處理和輸出分開。
現在的JSP頁面中的代碼已經減少了很多,只是簡單地完成了輸出,實際上在開發中,JSP中最好只包含一下3中類型的代碼:
•接收屬性:接收從Servlet傳遞過來的屬性。
•判斷語句:判斷傳遞到JSP中的屬性是否存在。
•輸出內容:使用迭代或者VO進行輸出。
在JSP頁面中唯一允許導入的包只能是java.util包,值要能把握住這一點,即可開發出一個簡潔、清晰的JSP頁面。
訪問資料庫要用到jdbc技術。
首先載入驅動:Class.forName("驅動包.類名稱");
然後獲得連接:Connection conn = DriverManager.getConnection("連接路徑,埠,資料庫名","資料庫用戶名","密碼");
然後獲得PreparedStatement:PreparedStatement pstmt = conn.prepareStatement("sql語句");
之後就按照檢索和增刪改的區別分別執行不同的代碼。
❹ 如何用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中怎麼使用資料庫
JSP使用資料庫的例子:
showByJdbcOdbc.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML><BODY bgcolor=cyan>
<% Connection con;
Statement sql;
ResultSet rs;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try { con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","sa");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM employee WHERE salary>3000");
out.print("<table border=2>");
out.print("<tr>");
out.print("<th width=100>"+"雇員號");
out.print("<th width=100>"+"姓名");
out.print("<th width=50>"+"出生日期");
out.print("<th width=50>"+"薪水");
out.print("</TR>");
while(rs.next())
{ out.print("<tr>");
out.print("<td >"+rs.getString(1)+"</td>");
out.print("<td >"+rs.getString(2)+"</td>");
out.print("<td >"+rs.getDate("birthday")+"</td>");
out.print("<td >"+rs.getFloat("salary")+"</td>");
out.print("</tr>") ;
}
out.print("</table>");
con.close();
}
catch(SQLException e)
{ out.print(e);
}
%>
</BODY></HTML>
❻ JSP如何調用資料庫呢
jsp頁面要可以調用一個java類來對資料庫操作,不過最好別這么做,在MVC體系中,調用資料庫在後台進行
❼ jsp如何連接資料庫
1、先打開我們編輯運行JSP的開發環境,我們新建一個java web項目。
❽ jsp怎麼連接mysql資料庫代碼
jsp連接mysql資料庫的操作方式。
1、在數據服務端安裝好mysql資料庫,這個是必須的,在自己的ssh或者虛擬機上,數據mysql可以看到相關的提示,說明安裝成功
2、我是用的是tomcat伺服器,在這里需要安裝好java連接mysql的資料庫操作庫。我是用的jar包是:mysql-connector-java-3.1.14.tar.gz,大家可以在網上下載,或者,在官網上下載
3、把解包後的jar放到tomcat裡面的lib文件夾下
4、在程序的代碼段里添加連接函數庫和庫函數,就可以連接到mysql資料庫了
5、剩下的就是我們使用的時候調用這樣的數據了,在jsp里使用mysql資料庫中的數據
❾ 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訪問資料庫,哪種方法速度最快
小型的就用直接用JSP+Java來搞定把,不需要那些啥框架的。
JDBC並不能使訪問資料庫更快,他只是一個介面,可以在換資料庫的情況下避免最小的改動,也就是sun所說的跟資料庫無關的一個平台概念。
訪問快是因為有了資料庫連接池這個概念,可以通過配置tomcat或者其他伺服器來建立。