1. 程式人生 > >JAVA+資料庫+JSP疑難點(新手)

JAVA+資料庫+JSP疑難點(新手)

本篇介紹讀上篇程式碼中的疑惑點

實現簡單網頁上對資料內容進行增刪改查,需要用到三個部分jsp網頁前端部分+java後臺程式+資料庫表

 

一.建立一個Statement 用於在已經建立資料庫連線的基礎上,向資料庫傳送要執行的SQL語句Statement物件,用於執行不帶引數的簡單SQL語句
•要執行SQL語句,必須獲得java.sql.Statement例項

Statement例項分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement例項實現。
2、執行動態SQL語句。通常通過PreparedStatement例項實現。
3、執行資料庫儲存過程。通常通過CallableStatement例項實現。
具體的實現方式:

//Connection con
Statement st = con.createStatement() ;
PreparedStatement pst = con.prepareStatement(sql語句) ;
CallableStatement cst = con.prepareCall("{call demoSp(? , ?)}") ;
.執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate 和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句 //查詢


,返回一個結果集(ResultSet)物件。 ResultSet物件 是查詢資料庫時的返回物件,讀取返回結果集,可通過ResultSet的介面常用方法實現,
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的程式碼:
ResultSet rs = st.executeQuery("select*from YourShujukuName") ;
int rows = st.executeUpdate("insert into ...") ;
boolean flag = st.execute(String sql) ;

Insert into 語句

INSERT INTO 語句用於向表格中插入新的行。//新增

語法

INSERT INTO 表名稱 VALUES (值1, 值2,....)

 

三、HttpServletRequest介紹

  HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,HTTP請求頭中的所有資訊都封裝在這個物件中,通過這個物件提供的方法,可以獲得客戶端請求的所有資訊。

四、Request常用方法

request.getAttribute():是request時設定的變數的值,用request.setAttribute("name","您自己的值");來設定值,
request.getAttribute()和request.getParameter()的區別是request.getAttribute()獲得的是物件型別
request.setAttribute()和getAttribute()只是在web容器內部流轉,僅僅是請求處理階段
request.getAttribute("nameOfObj")可得到JSP頁面一表單中控制元件的Value。其實表單控制元件中的Object的 name與value是存放在一個雜湊表中的,所以在這裡給出Object的name會到雜湊表中找出對應它的value。
而不同頁面間傳值使用request.setAttribute(position, nameOfObj)時,只會從a.jsp到b.jsp一次傳遞,之後這個request就會失去它的作用範圍,再傳就要再設一個 request.setAttribute()。而使用session.setAttribute()會在一個過程中始終保有這個值。
服務完成了編譯的工作,完成生成了HTML程式碼,並把它們返回給瀏覽器去執行,伺服器上的那個request已經不存在,所有與它一起的資料都沒有了. 返回給客戶端後,我們就看到了一個表單,然後點選 "傳送 ",再次訪問服務上的Request.jsp,這時候又產生了一個新的request對像,但以前的那個資料已經不存在了,因為是不同的request了.所以你在Request.jsp裡邊再取它,那是當然取不到的了.setAttribute()是針對同一次伺服器的訪問的,第一次訪問成功後我們看到了表單,點選 "傳送 "後,發生了第二次與伺服器的請求,產生了新的request

//摘自百度解答