① 請教JSP連接sqlSERVER並查詢修改等JSP實現文件互傳
JSP連接Sql Server 代碼
import java.sql.*;
public class DBTools {
Connection conn;
public static void main(String[] args) {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
System.out.println("連接成功!");
}
Catch (Exception e) {
e.printStackTrace();
}
}
}
② 如何用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 要連接到資料庫,想用Microsoft SQL Server 2012資料庫,怎麼選擇版本
EXPRRESS版本,記得安裝的時候勾選上查詢分析器
④ jsp怎麼連接sql資料庫
1.將資料庫驅動程序的JAR文件放在Tomcat的 common/lib 中; 2.在server.xml中設置數據源,以MySQL資料庫為例,如下: 在 節點中加入, 屬性說明:name,數據源名稱,通常取」jdbc/XXX」的格式; type,」javax.sql.DataSource」; password,資料庫用戶密碼; driveClassName,資料庫驅動; maxIdle,最大空閑數,資料庫連接的最大空閑時間。超過空閑時間,資料庫連 接將被標記為不可用,然後被釋放。設為0表示無限制。 MaxActive,連接池的最大資料庫連接數。設為0表示無限制。 maxWait ,最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示 無限制。 3.在你的web應用程序的web.xml中設置數據源參考,如下: 在節點中加入, MySQL DB Connection Pool jdbc/DBPool javax.sql.DataSource Container Shareable 子節點說明: description,描述信息; res-ref-name,參考數據源名字,同上一步的屬性name; res-type,資源類型,」javax.sql.DataSource」; res-auth,」Container」; res-sharing-scope,」Shareable」; 4.在web應用程序的context.xml中設置數據源鏈接,如下: 在節點中加入, 屬性說明:name,同第2步和第3步的屬性name值,和子節點res-ref-name值; type,同樣取」javax.sql.DataSource」; global,同name值。 至此,設置完成,下面是如何使用資料庫連接池。 1.建立一個連接池類,DBPool.java,用來創建連接池,代碼如下: import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext().lookup("java:comp/env"); pool = (DataSource)env.lookup("jdbc/DBPool"); if(pool==null) System.err.println("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { ne.printStackTrace(); } } public static DataSource getPool() { return pool; } } 2.在要用到資料庫操作的類或jsp頁面中,用DBPool.getPool().getConnection(),獲得一個Connection對象,就可以進行資料庫操作,最後別忘了對Connection對象調用close()方法,注意:這里不會關閉這個Connection,而是將這個Connection放回資料庫連接池。
⑤ jsp連接資料庫SQL descriptionThe server encountered an internal error that prevented it
原因:沒有安裝jdbc驅動
補充:你的SQLServer是哪個版本,到微軟官網下載相應的jdbc驅動,然後簡單配置就可以了(我的SQLServer2012,只需要把sqljdbc4.jar復制到tomcat的lib目錄下即可)
附:http://www.microsoft.com/zh-cn/download/search.aspx?q=jdbc
⑥ jsp連接SQLserver的問題,一直連不上
使用JDBC連接SQL SERVER最重要的是需要JDBC驅動,請問你的jar包導入了嗎?
另外,在tomcat的log目錄下有日誌,你可以看下連接不上的報錯信息
⑦ 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如何連接sqlserver
不管連接sqlserver,還是MySQL,都差不多,網路jsp連接MySQL一大堆
⑨ 想用eclipse寫JSP,但是不知為什麼連不上SQL SERVER(懸賞20)
你沒有jdbc驅動哦,你去網上下個jdbc對應sql server版本的驅動,安裝教程網上也有,很簡單的
jsp只是負責前端顯示,你要連接資料庫要用到jdbc。
你右鍵你的項目,點build path-》configure->add external jar->你的那個驅動地址
⑩ jsp 連接sql server的問題
1、java.lang.NullPointerException異常
一般是對一個NULL值的變數進行操作引起的。例如下面的操作就會拋出異常java.lang.NullPointerException。
<%
String a=null;
a.substring(0,1);
%>
為避免這種異常,最好在對變數操作之前檢查看它是否是NULL值。例如:
<%
String name=Session.getAttribute("name");
if(name==null){
//執行某種操作
}
else{
//執行另種操作
}
%>
2、JSP是大小寫敏感的
JSP程序是區分大小寫的,在編寫JSP程序時一定要注意不要將大小寫混淆,例如:
String abook;與String Abook;它們代表兩個不同的字元串變數。用過其他編程語言的人最容易犯這種錯誤。
3、未被初始化錯誤
先來看如下一段代碼:
public String Compare(String user1,String user2){
boolean result;
if(user1.compareTo(user2)==0)
result=true;
return result;
}
乍一看這段程序並沒有任何問題,但在編譯的時候會出現如下錯誤提示:
variable result might not have been initialized
return result
^
這是因為,當if條件為false的時候,result可能會沒有被賦予初值,而return的時候則會出錯。java編譯器很聰明的檢查出了這一錯誤並
在編譯的時候給予了提示。這需要程序員在聲明result的時候或者在返回result之前給它賦值。所以在定義一個變數時最好賦予一個初值。
4、變數未定義錯誤
可能大家都知道變數在使用之前要定義,但是不經意間卻常常犯這種錯誤,例如下面一段代碼:
<html>
<body>
<table>
<%
for(int i=0;i<5;i++)
{
String s=""+i;
}
%>
<tr>
<td>i現在的值是:</td>
<td><%=s%></td>
</tr>
</table>
</body>
</html>
編譯時會報錯:
Undefined variable:s
out.print(s);
^
1 error
出現這種錯誤是由於邏輯錯誤,for循環的結束標記符號"}"放錯了位置,正確的寫法應該如下段代碼所示:
<html>
<body>
<table>
<%
for(int i=0;i<5;i++)
{
String s=""+i;
%>
<tr>
<td>i現在的值是:</td>
<td><%=s%></td>
</tr>
<%}%>
</table>
</body>
</html>
5、SQL語句換行書寫時未加適當的空格而導致的錯誤
我們先來看下面這段代碼:
String name=tom;
String sql="select * from userTable"+
"where user_name='"+name+"'"+
"and user_age=22";
上面的代碼在執行的時候將轉換成這樣的SQL語句:
select * from userTablewhere user_name='name'and user_age=22
從輸出的SQL語句可以看出userTable 和 where 之間以及'name'和and之間都缺空格,這樣是不能從資料庫中取出數據的。正確的寫法應該
如下所示:
String name=tom;
String sql="select * from userTable"+
" where user_name='"+name+"'"+
" and user_age=22";