999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S模式的Java編程案例分析

2014-04-29 20:04:42孫雅雯
計算機時代 2014年12期

孫雅雯

摘 ?要: 目前Java教學中存在偏重理論知識的現象,在指導學生完成一個完整的項目時沒有根據項目的實際需求來搭建項目架構、建立數據庫。針對這一教學現狀,基于MVC編程模式和項目架構的規范化,結合項目實際需求進行分析,通過對業務邏輯分析和簡單的B/S模式編程案例的學習,進行代碼的理解、分析,對理論知識和實際項目的操作做一個銜接,讓學生能夠學會運用書本上的知識,從而提高其Java 程序設計的綜合能力。

關鍵詞: Java 程序設計; B/S模式編程案例分析; MVC編程模式; 理論和實際的銜接

中圖分類號:TP311.1 ? ? ? ? ?文獻標志碼:A ? ? 文章編號:1006-8228(2014)12-48-02

Case study of Java programming based on B/S mode

Sun Yawen

(The Information Center of Nanjing University of Technology, Nanjing, Jiangsu 210009, China)

Abstract: The current Java teaching only focuses on theoretical knowledge, which doesn't guide students to set up the project structure and the database according to the actual need of the project. Based on the MVC mode and standardization of project structure, the actual requirements of the project are analyzed. Through analyzing the business logic and studying on the simple case of B/S mode programming, code is comprehended and analyzed, theoretical knowledge and practical operation are connected. It enables the students to understand how to use the programming knowledge from books, which will improve their comprehensive ability of Java programming.

Key words: Java programming; B/S model programming case analysis; MVC programming model; the connection between theoretical knowledge and practical project

0 引言

Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,具有卓越的高效性、安全性、通用性和平臺移植性,因此被廣泛應用于個人PC、網站平臺、數據管理等一系列系統開發中。Java的廣泛應用使Java人才的需求量也越來越大,許多高校的計算機專業將Java程序設計語言作為主要課程。盡管如此,在IT行業中往往還是很難招聘到合格的Java工作人員[1]。高校在Java教學中沒能將理論與實際項目緊密聯系起來是一個重要原因。因此,本文探討了Java編程案例。

1 MCV編程模式

MVC是一種多層的設計創建Web應用程序的模式,其目的在于將應用程序的輸入、處理和輸出分開[2]。

Model是指業務模型,表示數據和業務處理。模型持有所有的數據、狀態和程序邏輯。模型與數據格式沒有關系,能為多個視圖提供數據。例如Java Bean。

View指用戶看到并與之交戶的界面,顯示數據庫記錄,最典型的就是JSP、HTML。

Controller是指控制器,是應用程序中處理用戶交互的部分。負責從視圖讀取數據,控制用戶輸入,并向模型發送數據[3]。例如servlet、action。

MVC分層有助于管理復雜的應用程序,同時也讓應用程序的測試更加容易。

2 邏輯分析

2.1 B/S模式

B/S(Browser/Server)是瀏覽器和服務器結構,它是建立在廣域網、瀏覽器之上的,主要事物邏輯在服務器端(Server)實現,只有極少部分在前端(Browser)實現。所以不論時間、地點、人物,以何種方式接入,只要網站允許,都可以訪問。而用戶和網站的交互實質上就是訪問并且操作數據庫的過程,整個網站程序只是將數據庫里面的數據用一種用戶更能接受的形式表現出來,再從用戶的可操作性出發,讓用戶通過瀏覽器頁面就可簡單輕松地對數據庫進行操作。

2.2 過程分析

首先,我們需要連接數據庫,按照項目需求建立許多張表,并且知道每張表的結構和聯系,然后考慮如何對數據庫進行具體操作。將需要對數據庫中的表進行的各種操作都用SQL語句完成,并寫成一個個方法,統一放在entityutil的package中,等待上級程序來調用。而調用程序則放在action的package中,它就像一個調度,根據前端頁面傳遞的需求來選擇調用entityutil中哪個方法的SQL語句來實現對數據庫的操作。

程序的實現過程:當用戶點擊網頁上的一些按鈕時,便是要對數據庫進行操作。比如很簡單的一個修改密碼的操作,當用戶登錄完成并點擊修改密碼按鈕時,就會跳轉到相應的頁面或是彈出相應的輸入框,這個是在前端頁面上控制的,緊接著根據修改要求輸入新舊密碼,或是新密碼。這個請求和輸入的密碼會被頁面的form傳入action中,在action中進行選擇,找到相應的entityutil中的具體方法語句并傳入參數以調用,最后entityutil中的SQL語句按照要求被執行,完成數據庫的更新,此時修改密碼完成。其實,從邏輯上分析這就是一個前端發送請求,后端層層調用的過程。下面我們通過一個案例分析,深入了解具體的流程和代碼應該怎么去完成。

3 案例分析

以最簡單的B/S模式網站登錄系統為例,在用戶頁面輸入登錄名、密碼,點擊登錄,后返回結果。若用戶名、密碼正確,則進入網站系統;若用戶名或者密碼不正確,則返回提示信息,顯示登錄失敗,需要重新登錄。

3.1 數據庫表格設計、連接

在數據庫中建立一張名為t_user的表格,表格中最基本的需要定義user_id、user_name、password三列,以user_id為主鍵。

在src中建立一個package用來存放數據庫連接的程序。

創建一個以JDBC連接數據庫的程序。

3.1.1 加載JDBC驅動程序[4]

通過java.lang.Class類的靜態方法forName(String ?className)實現。

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

3.1.2 提供JDBC連接的URL

String dbURL="jdbc:microsoft:sqlserver://localhost

(數據庫IP地址):3306(端口號);

· DatabaseName=databasename(數據庫名稱);

3.1.3 創建數據庫的連接

向java.sql.DriverManager請求并獲得Connection對象,再使用Driver Manager的getConnection(String url,String username,String password)方法傳入此連接的數據庫的路徑、數據庫的用戶名和密碼。

userName="username(用戶名)";

String userPwd="password(密碼)";

try Connection con=DriverManager

.getConnection(dbURL, userName, userPwd);

System.out.println("數據庫連接成功!");

catch(SQLException se) {

System.out.println("數據庫連接失敗!");

se.printStackTrace(); }

數據庫連接是否成功即可根據現實的提示判斷。

3.2 JSP頁面設計及用戶數據輸入

在JSP頁面的form中指定將要跳轉的action,并且用post方法向服務器上傳遞參數,提交到相對應的action中。

用戶名:

密碼:

3.3 web.xml配置文件

web.xml是網絡程序中的一個很重要的配置文件,可通過 servlet元素分配一個名稱給servlet或JSP頁面。

loginAction

action.LoginAction

loginAction

/loginaction

通過action名稱找到相應的java文件去執行。

3.4 在src中創建一個名為entity的package

用于存放entity的程序,統一定義變量,封裝get和set方法,以供程序調用。

3.5 在src中創建一個名為action的package,用于存放action類的程序

Action類是用戶請求和業務邏輯之間的橋梁,每個Action充當客戶的一項業務代理。

通過web.xml找到相對應的LoginAction.java文件,找到login()方法,傳入參數。

private void login(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException { ……

try {

sysuser=SysuserUtil.checkSysUser(database,

loginName,password);

}

……

}

3.5.1 獲取頁面傳來的參數loginName和password,并且定義跳轉頁面url

String userName=CharSet

.toGB2312(request.getParameter("user_name"));

String password=request.getParameter("password");

String url="./front/main.jsp";//目標url

3.5.2 調用checkSysUser()從數據庫中進行查詢

如果返回的結果不為空,則將結果放入session中,并且跳轉至指定的url頁面;如果返回結果中參數為空,即輸入的用戶名密碼在數據庫中沒有此記錄,則彈出窗口顯示:'對不起,用戶名或密碼不正確,或您沒有權限進入!并返回登錄界面。

sysuser=SysuserUtil.checkSysUser(database,loginName,password);

if (sysuser.getUser_name() != null && !sysuser

.getUser_name().equals("")) {

request.getSession().removeAttribute("sessionInfo");

sessionInfo.setUser_name(sysuser.getUser_name());

request.getSession().setAttribute("sessionInfo",sessionInfo);

} else {out.println(""); }

out.println("");

3.6 在src中創建一個名為entityutil的package

將對數據庫表格的具體操作程序放入此類程序,更利于對數據庫的數據處理。在SysuserEntity.java中找到login()中調用的checkSysUser(Database database,String userName,String password)方法,進行數據庫處理。

String sql="Select user_name From databasename.dbo

.t_user Where user _name='" +userName + "' "

+ "And password='"+ password + "'";

try resultSet=database.getRS(sql);

while (resultSet.next())

sysuser.setUser_name(resultSet.getString("user_name"));

具體的SQL語句:從數據庫databasename的t_user表格中,找出user_name和password與傳入參數相同的結果中的user _name,并將結果集放入sysuser中返回給action中進行判斷登錄是否成功。至此整個用戶登錄操作全部完成。

4 結束語

對于Java編程來說,理論知識是基礎,此外還需要閱讀一些經典的源代碼,模仿、修改、編寫,以實現相應的功能。本文詳細介紹了一個最簡單的登錄功能的實現,從邏輯結構的分析到功能代碼的編寫,讓讀者學會從分析項目需求開始,建立、連接數據庫,在MVC模式下搭建項目的整體架構,編寫、修改代碼,了解怎么去調用、執行、調試,由淺入深地完成一個完整的項目。Java的功能夠強大,基于Java的編程可以創建出更多更好的應用,研究Java教學中的編程案例,可以幫助我們更好地把Java的理論教學與實際應用緊密結合起來,培養出Java系統開發的合格人才。

參考文獻:

[1] 梁志紅,肖欣欣.Java程序設計的教學思考[J].計算機教育,2013.16.

[2] 張超.基于JSP的MVC設計模式探究[J].電腦與信息技術,2013.21(4).

[3] 劉宏堯.MVC模式與Java程序設計架構[J].齊齊哈爾大學學報,

2006.1.

[4] 齊鯤鵬,顧宏,唐達.JSP數據庫連接技術在構建信息網站中的研究[J].

控制工程,2002.9(5).

[5] 靳晉.基于Java技術實現數據庫的連接[J].才智,2011.18.

主站蜘蛛池模板: 婷婷六月在线| 免费激情网站| 二级毛片免费观看全程| 91精品人妻互换| 91精品国产情侣高潮露脸| 成人福利一区二区视频在线| 亚洲中文无码av永久伊人| 亚洲精品va| 91黄视频在线观看| 亚洲精品国产首次亮相| 人禽伦免费交视频网页播放| 无码'专区第一页| 亚洲 日韩 激情 无码 中出| 狠狠ⅴ日韩v欧美v天堂| 国产午夜无码片在线观看网站| 欧美精品三级在线| 国产激爽爽爽大片在线观看| 香蕉视频在线精品| 久久特级毛片| 国产成年无码AⅤ片在线| 亚洲国产一区在线观看| 日本91在线| 四虎永久免费在线| 亚洲欧美综合在线观看| 欧美在线伊人| 国产成人超碰无码| 国精品91人妻无码一区二区三区| 亚洲精品人成网线在线| 91视频免费观看网站| 思思热精品在线8| 2021国产乱人伦在线播放| 国产人人乐人人爱| 国产一级毛片在线| 国产亚洲精品在天天在线麻豆 | 日韩小视频在线观看| 在线a网站| 少妇精品久久久一区二区三区| 广东一级毛片| 亚洲人成在线精品| 国产亚洲精品资源在线26u| 国产精品免费久久久久影院无码| 国产女人18水真多毛片18精品| 国产无遮挡猛进猛出免费软件| 狠狠躁天天躁夜夜躁婷婷| 国产免费a级片| 国产99在线| 亚洲天堂网在线观看视频| 在线观看精品自拍视频| 亚洲欧美另类中文字幕| 在线国产91| 欧美日韩成人在线观看| 国产精品福利一区二区久久| 国产日本一区二区三区| 在线亚洲小视频| 狠狠综合久久| 综合成人国产| a免费毛片在线播放| 第一区免费在线观看| 激情五月婷婷综合网| 亚洲最大情网站在线观看 | 亚洲最黄视频| 色有码无码视频| 手机在线看片不卡中文字幕| 欧美亚洲欧美区| 亚洲网综合| 国产欧美综合在线观看第七页| 亚洲91在线精品| 欧美一区二区精品久久久| 亚洲中文精品人人永久免费| 亚洲色图欧美视频| 国产91蝌蚪窝| 国产大片喷水在线在线视频| 免费a在线观看播放| 久草热视频在线| 曰韩人妻一区二区三区| 91美女视频在线观看| 亚洲欧美日本国产综合在线| 98精品全国免费观看视频| 亚洲欧美日韩中文字幕在线一区| 宅男噜噜噜66国产在线观看| 美女国内精品自产拍在线播放| 91原创视频在线|