彭登云+徐洪位
摘 要 JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行,在網站設計中得到了廣泛的應用。
關鍵詞 JSP;表單;連接
中圖分類號:TP311 文獻標識碼:A 文章編號:1671-7597(2014)03-0050-02
1 問題的提出
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。
在網上,有關很多表單驗證的實現方法,但JSP服務器端和客戶端對用戶提交的數據進行驗證時,它們處理的方法應遵循各自的腳本語言的語法規則,下面說明如何在JSP程序設計中表單的驗證實現方法。
2 客戶端表單驗證的基本原理
2.1 客戶端表單驗證的基本原理
表單是實現用戶和瀏覽器之間信息交換的重要工具,無論是登陸界面還是用戶注冊界面,都通過表單來提取用戶信息。客戶端的瀏覽器運行時采用JavaScriPt作為腳本語言,主要實現用戶在客戶端輸入數據時,數據的合法性驗證,即數據是否滿足常規要求,如是否輸入了數據,電子郵件格式是否正確等。在進行驗證時主要通過在表單添加Onsubmit()事件函數和在“提交”按鈕上添加onclick動作驗證函數實現,當函數的返回值為“True”時,通過驗證,頁面轉移到提交程序執行,當函數返回值為“False”時,頁面中止提交程序的運行。
2.2 客戶端表單驗證時的主要過程
首先建立客戶端的表單,如下所示:
。
注意onsubmit事件的寫法,表示執行提交程序前先進行驗證,并返回一個值,或下面的方法進行:
…表單對象…
該方法通過添加onclick動作實現。
3 JSP服務器端表單數據驗證的基本方法
3.1 通過瀏覽器端驗證
表單數據通過瀏覽器端的Javascript函數進行驗證。由于驗證數據不需要提交給服務器,瀏覽器端的驗證速度快,若有不符合要求的輸入,響應信息快速的返回給用戶。一個瀏覽器端驗證的過程如圖1所示,表單提交,若通過驗證則提交服務器處理,不成功則回饋給用戶。
圖1 瀏覽器端驗證原理圖
以對用戶在客戶端輸入的用戶名和密碼進行合法性驗證,其主要代碼如下:
function check_form(thisForm)
{
error_string = “”;
if((message=checkusername(thisForm.username))!=””)
{
error_string=”UserName:”
error_string += message;
alert(error_string);
return false;
}
if((message = checkpassword(thisForm.pass))!=””)
{
error_string=”Password:”
error_string += message;
alert(error_string);
return false;
}
return true;
}
其中,返回true,表示輸入數據合法,通過驗證;返回false,則數據為非法輸入,程序中斷運行,返回重新輸入,驗證未能通過。
3.2 服務器端驗證
表單數據通過服務器端驗證方法中,客戶端的數據需提交到服務器上的應用程序進行驗證,其過程與圖1類似,只是驗證的位置在服務器上,在進行JSP服務器端表單數據驗證的主要過程如下。
1)接受客戶端用戶提供的表單數據,主要代碼如下:
<%
String user_name=request.getParameter(“name”) //接受提交的用戶名;
String user_name=request.getParameter(“pass”) //接受提交的密碼;
%>
2)讀出保存在數據庫中的、系統設置的數據:
①加載JDBC數據庫驅動程序;
②在JSP頁面中建立與數據庫中表相應對應的記錄集:
ResultSet rs=st.executeQuery(“SQL查詢字符串”);
Admin_name=rs.getString(“name”);
Admin_name=rs.getString(“pass”);
③將用戶提交的數據同記錄集中的數據進行比較,以便驗證數據的正確性;
If(admin_name.equals(user_name) && admin_pass.equals(user_pass)),當值為True時,表示提交的數據正確,為“False”表示提交的數據不正確。
4 注意事項
在進行數據比較時,要注意數據比較運算符的選取,關系運算符用于比較兩個數值之間的大小,不能用于兩個字符串變量的比較,兩個字符串變量的比較只能采用方法equals實現,其原因在于值類型是存儲在內存中的堆棧(以后簡稱棧),而引用類型的變量在棧中僅僅是存儲引用類型變量的地址,而其本身則存儲在堆中。==操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。==比較的是2個對象的地址,而equals比較的是2個對象的內容。顯然,當equals為true時,==不一定為true。
參考文獻
[1]龔永罡.Java Web應用開發實用教程[M].北京:機械工業出版社,2010.
作者簡介
彭登云(1971-),女,重慶銅梁人,本科,重慶財經職業學院實踐教學中心實驗師,研究方向:機房管理維護、網頁設計。
徐洪位(1971-),男,重慶永川人,本科,碩士,重慶財經職業學院應用設計系高級講師,研究方向:程序設計。endprint
摘 要 JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行,在網站設計中得到了廣泛的應用。
關鍵詞 JSP;表單;連接
中圖分類號:TP311 文獻標識碼:A 文章編號:1671-7597(2014)03-0050-02
1 問題的提出
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。
在網上,有關很多表單驗證的實現方法,但JSP服務器端和客戶端對用戶提交的數據進行驗證時,它們處理的方法應遵循各自的腳本語言的語法規則,下面說明如何在JSP程序設計中表單的驗證實現方法。
2 客戶端表單驗證的基本原理
2.1 客戶端表單驗證的基本原理
表單是實現用戶和瀏覽器之間信息交換的重要工具,無論是登陸界面還是用戶注冊界面,都通過表單來提取用戶信息。客戶端的瀏覽器運行時采用JavaScriPt作為腳本語言,主要實現用戶在客戶端輸入數據時,數據的合法性驗證,即數據是否滿足常規要求,如是否輸入了數據,電子郵件格式是否正確等。在進行驗證時主要通過在表單添加Onsubmit()事件函數和在“提交”按鈕上添加onclick動作驗證函數實現,當函數的返回值為“True”時,通過驗證,頁面轉移到提交程序執行,當函數返回值為“False”時,頁面中止提交程序的運行。
2.2 客戶端表單驗證時的主要過程
首先建立客戶端的表單,如下所示:
。
注意onsubmit事件的寫法,表示執行提交程序前先進行驗證,并返回一個值,或下面的方法進行:
…表單對象…
該方法通過添加onclick動作實現。
3 JSP服務器端表單數據驗證的基本方法
3.1 通過瀏覽器端驗證
表單數據通過瀏覽器端的Javascript函數進行驗證。由于驗證數據不需要提交給服務器,瀏覽器端的驗證速度快,若有不符合要求的輸入,響應信息快速的返回給用戶。一個瀏覽器端驗證的過程如圖1所示,表單提交,若通過驗證則提交服務器處理,不成功則回饋給用戶。
圖1 瀏覽器端驗證原理圖
以對用戶在客戶端輸入的用戶名和密碼進行合法性驗證,其主要代碼如下:
function check_form(thisForm)
{
error_string = “”;
if((message=checkusername(thisForm.username))!=””)
{
error_string=”UserName:”
error_string += message;
alert(error_string);
return false;
}
if((message = checkpassword(thisForm.pass))!=””)
{
error_string=”Password:”
error_string += message;
alert(error_string);
return false;
}
return true;
}
其中,返回true,表示輸入數據合法,通過驗證;返回false,則數據為非法輸入,程序中斷運行,返回重新輸入,驗證未能通過。
3.2 服務器端驗證
表單數據通過服務器端驗證方法中,客戶端的數據需提交到服務器上的應用程序進行驗證,其過程與圖1類似,只是驗證的位置在服務器上,在進行JSP服務器端表單數據驗證的主要過程如下。
1)接受客戶端用戶提供的表單數據,主要代碼如下:
<%
String user_name=request.getParameter(“name”) //接受提交的用戶名;
String user_name=request.getParameter(“pass”) //接受提交的密碼;
%>
2)讀出保存在數據庫中的、系統設置的數據:
①加載JDBC數據庫驅動程序;
②在JSP頁面中建立與數據庫中表相應對應的記錄集:
ResultSet rs=st.executeQuery(“SQL查詢字符串”);
Admin_name=rs.getString(“name”);
Admin_name=rs.getString(“pass”);
③將用戶提交的數據同記錄集中的數據進行比較,以便驗證數據的正確性;
If(admin_name.equals(user_name) && admin_pass.equals(user_pass)),當值為True時,表示提交的數據正確,為“False”表示提交的數據不正確。
4 注意事項
在進行數據比較時,要注意數據比較運算符的選取,關系運算符用于比較兩個數值之間的大小,不能用于兩個字符串變量的比較,兩個字符串變量的比較只能采用方法equals實現,其原因在于值類型是存儲在內存中的堆棧(以后簡稱棧),而引用類型的變量在棧中僅僅是存儲引用類型變量的地址,而其本身則存儲在堆中。==操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。==比較的是2個對象的地址,而equals比較的是2個對象的內容。顯然,當equals為true時,==不一定為true。
參考文獻
[1]龔永罡.Java Web應用開發實用教程[M].北京:機械工業出版社,2010.
作者簡介
彭登云(1971-),女,重慶銅梁人,本科,重慶財經職業學院實踐教學中心實驗師,研究方向:機房管理維護、網頁設計。
徐洪位(1971-),男,重慶永川人,本科,碩士,重慶財經職業學院應用設計系高級講師,研究方向:程序設計。endprint
摘 要 JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行,在網站設計中得到了廣泛的應用。
關鍵詞 JSP;表單;連接
中圖分類號:TP311 文獻標識碼:A 文章編號:1671-7597(2014)03-0050-02
1 問題的提出
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。
在網上,有關很多表單驗證的實現方法,但JSP服務器端和客戶端對用戶提交的數據進行驗證時,它們處理的方法應遵循各自的腳本語言的語法規則,下面說明如何在JSP程序設計中表單的驗證實現方法。
2 客戶端表單驗證的基本原理
2.1 客戶端表單驗證的基本原理
表單是實現用戶和瀏覽器之間信息交換的重要工具,無論是登陸界面還是用戶注冊界面,都通過表單來提取用戶信息。客戶端的瀏覽器運行時采用JavaScriPt作為腳本語言,主要實現用戶在客戶端輸入數據時,數據的合法性驗證,即數據是否滿足常規要求,如是否輸入了數據,電子郵件格式是否正確等。在進行驗證時主要通過在表單添加Onsubmit()事件函數和在“提交”按鈕上添加onclick動作驗證函數實現,當函數的返回值為“True”時,通過驗證,頁面轉移到提交程序執行,當函數返回值為“False”時,頁面中止提交程序的運行。
2.2 客戶端表單驗證時的主要過程
首先建立客戶端的表單,如下所示:
。
注意onsubmit事件的寫法,表示執行提交程序前先進行驗證,并返回一個值,或下面的方法進行:
…表單對象…
該方法通過添加onclick動作實現。
3 JSP服務器端表單數據驗證的基本方法
3.1 通過瀏覽器端驗證
表單數據通過瀏覽器端的Javascript函數進行驗證。由于驗證數據不需要提交給服務器,瀏覽器端的驗證速度快,若有不符合要求的輸入,響應信息快速的返回給用戶。一個瀏覽器端驗證的過程如圖1所示,表單提交,若通過驗證則提交服務器處理,不成功則回饋給用戶。
圖1 瀏覽器端驗證原理圖
以對用戶在客戶端輸入的用戶名和密碼進行合法性驗證,其主要代碼如下:
function check_form(thisForm)
{
error_string = “”;
if((message=checkusername(thisForm.username))!=””)
{
error_string=”UserName:”
error_string += message;
alert(error_string);
return false;
}
if((message = checkpassword(thisForm.pass))!=””)
{
error_string=”Password:”
error_string += message;
alert(error_string);
return false;
}
return true;
}
其中,返回true,表示輸入數據合法,通過驗證;返回false,則數據為非法輸入,程序中斷運行,返回重新輸入,驗證未能通過。
3.2 服務器端驗證
表單數據通過服務器端驗證方法中,客戶端的數據需提交到服務器上的應用程序進行驗證,其過程與圖1類似,只是驗證的位置在服務器上,在進行JSP服務器端表單數據驗證的主要過程如下。
1)接受客戶端用戶提供的表單數據,主要代碼如下:
<%
String user_name=request.getParameter(“name”) //接受提交的用戶名;
String user_name=request.getParameter(“pass”) //接受提交的密碼;
%>
2)讀出保存在數據庫中的、系統設置的數據:
①加載JDBC數據庫驅動程序;
②在JSP頁面中建立與數據庫中表相應對應的記錄集:
ResultSet rs=st.executeQuery(“SQL查詢字符串”);
Admin_name=rs.getString(“name”);
Admin_name=rs.getString(“pass”);
③將用戶提交的數據同記錄集中的數據進行比較,以便驗證數據的正確性;
If(admin_name.equals(user_name) && admin_pass.equals(user_pass)),當值為True時,表示提交的數據正確,為“False”表示提交的數據不正確。
4 注意事項
在進行數據比較時,要注意數據比較運算符的選取,關系運算符用于比較兩個數值之間的大小,不能用于兩個字符串變量的比較,兩個字符串變量的比較只能采用方法equals實現,其原因在于值類型是存儲在內存中的堆棧(以后簡稱棧),而引用類型的變量在棧中僅僅是存儲引用類型變量的地址,而其本身則存儲在堆中。==操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。==比較的是2個對象的地址,而equals比較的是2個對象的內容。顯然,當equals為true時,==不一定為true。
參考文獻
[1]龔永罡.Java Web應用開發實用教程[M].北京:機械工業出版社,2010.
作者簡介
彭登云(1971-),女,重慶銅梁人,本科,重慶財經職業學院實踐教學中心實驗師,研究方向:機房管理維護、網頁設計。
徐洪位(1971-),男,重慶永川人,本科,碩士,重慶財經職業學院應用設計系高級講師,研究方向:程序設計。endprint