❶ jsp關閉資料庫
先關閉statement,然後關閉connection
關閉的時候,用try catch 塊包起來
❷ 簡單的jsp連接資料庫問題。
共建立三個頁面,index.jsp fuction.jsp success.jsp
index.jsp代碼:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="fuction.jsp" method="post">
<table width="400" align="center" border="1" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="center">向資料庫插入信息測試</td></tr>
<tr><td>username:</td><td><input type="text" name="username"/></td></tr>
<tr><td>password:</td><td><input type="text" name="password"/></td></tr>
<tr><td>roleID:</td><td><input type="text" name="roleID"/></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="插入"/></td></tr>
</table>
</form>
</body>
</html>
fuction.jsp代碼(這個主要是java邏輯代碼,插入資料庫的方法等等)
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'fuction.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String username=request.getParameter("username");
String passwd=request.getParameter("password");
int roleID=Integer.parseInt(request.getParameter("roleID"));
String className="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/news";
String user="root";
String password="root";
Connection conn;
Statement st;
Class.forName(className);
conn=DriverManager.getConnection(url, user, password);
String sql="INSERT INTO users(username,password,roleID) VALUES('"+username+"','"+passwd+"',"+roleID+")";
st = (Statement) conn.createStatement(); // 創建用於執行靜態sql語句的Statement對象
int count = st.executeUpdate(sql); // 執行插入操作的sql語句,並返回插入數據的個數
if(count>0)
{
response.sendRedirect("success.jsp");
}
conn.close(); //關閉資料庫連接
%>
</body>
</html>
success.jsp代碼(插入成功所跳轉的頁面)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
成功插入數據!<a href="index.jsp">返回繼續</a>
</body>
</html>
效果圖:
index.jsp頁面效果,在這里填寫插入數據
不懂再問,記得採納
❸ 怎麼用jsp連接mysql資料庫
一. 資料庫的連接和操作筆記:
1.初始化連接字元串
2. 發送請求連接
3.如果需要對資料庫進行操作,如查詢,添加,刪除,修改等,則發送資料庫操作請 求,成功就返回結果,不成功操作失敗
4. 不進行操作就關閉資料庫操作,以及關閉資料庫發送請求
二.配置環境
」工欲善其事必先利其器「 在配置之前必須准備好幾個必要的文件java 的jdk(我用的是1.5),Tomcat(我的是5.5) ,mysql(5.0),jdbc(mysql-connector-java-3.1.14.zip) 的驅動,當然還有Dreamweaver 等等必要工具。
第一件事情:安裝jdk 1.5版本,安裝tomcat,mysql,解壓jdbc到包(官方網站有下載,注冊一個就行)
第二件事情:配置jdk,配置tomcat,jdbc
jdbc的配置:我的解壓目錄是 I:\mysql-connector-java-3.1.14 裡面可以看到一個mysql-connector-java-3.1.14-bin.jar 這個jar 的文件。右鍵打開電腦屬性-----高級---環境變數---找到系統變數。。點擊CLASSPATH,進行」編輯「 加入I:\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar 這個路徑去,這里說明的我是盤式i盤,jdbc可以隨便解壓到那個盤都行,指定路徑就是。
第二步:jdbc解壓包下 mysql-connector-java-3.1.14-bin.jar 這個文件放入到Tomcat安裝目錄下
Tomcat 5.5\common\lib
Tomcat 5.5\shared\lib
這兩個文件夾裡面。
基本上的工作就完成了。呵呵(當然這個要看網上的資料,這里要自己重新寫一次 唉好苦啊,沒得抄)
基本工作準備好,找一個mysql 資料庫的界面操作 GUI軟體 名字為: navicat(這個很好用)打開mysql,測試一下自己的mysql 可不可以連通,可以的話那麼就可以新建一個資料庫test,一個表為mytest,欄位是id和myname(這個隨便也行)
❹ jsp無法關閉ORACLE資料庫連接!
1.con.close();這個肯定不合標准 我不知道你怎麼建連接的~但是工具生成的連接那麼有一個getconn()用來打開連接;那麼他肯定有一個關閉數據的方法closeconn()(不一定是這樣的)來關閉數據連接;
2.你數據連接關閉的位置放錯了~只要出異常那麼數據就不能關閉了;
一般數據是放在finally{con.關閉方法();}
(至於為什麼你自己去看異常處理的材料)
❺ 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怎麼連接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資料庫連接
//導入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連接資料庫無法關閉
這個可能是你根本沒連上資料庫,然後ct.createStatement()的時候肯定是空的,所以關閉的時候Statement 還是空的,就會報空指針異常咯.