struts開發經驗彙總

  筆者接觸struts2之時,對於web開發甚至尚未概念,僅有的知識是如何利用HTML、CSS和簡單的JS進行靜態網頁的編寫。對於開發一個網站所必需的後臺、數據庫基本沒有了解。css

  所以這篇博文,能夠說不僅僅是筆者利用struts2框架進行web開發的經驗彙總,也是對目前爲止web開發的一個簡單梳理。html

  做爲一名初學者,在沒有系統學習計算機網絡以及任何web實戰經驗的前提下,不斷搜索成爲了開發過程當中相當重要的一環。所以本文在陳訴經驗與學習脈絡的基礎之上,將羅列出一篇篇對我有幫助的文章,將基於struts2的web開發中遇到的一系列細節問題加以重現,但願爲struts2以及web開發的初學者提供必定的借鑑。前端


 

1、web開發基本流程

  個人理解中,基於struts2的web開發其實和它的運做機理相同,也十分很簡單:java

  前端(網頁)--------(接收用戶的輸入)-------->jquery

  後臺(java寫的action類)----(響應用戶在網頁中作出的輸入,將必要的數據存儲到數據庫中)---->web

  數據庫(一般以MySql數據庫中的表的形式存在)------(返回響應所需的數據)-------------->ajax

  後臺(與前一個java寫的action類是同一個)---(處理從數據庫中返回的數據,加工後送到前端網頁,顯示給用戶)----->數據庫

  前端(多是同一個網頁,也多是不一樣的,顯示的內容與用戶以前的輸入有關)。編程

  以上的語言都比較好理解,大概只有後臺裏面的「java寫的action類」使人費解。所謂action類,是struts2框架中處理前端網頁和數據庫的「大腦」,也是咱們的網站可以處理一系列業務的核心。一般一個網站會有不一樣的action類來處理不一樣的請求/業務。它的主要功能是對接收並處理加工(一般要將新的數據存儲到數據庫中)來自前端網頁的數據(用戶的請求、輸入的數據等待),並訪問數據庫,取出所需的數據,根據業務需求,返回前端網頁展現所須要的數據。之因此叫作action類,其一,它是由java代碼寫成的一個class,其二,其做用在於take action according to request from front end and respond with data in database.(但願這段中英文夾雜不會讓人感到難堪...)bootstrap

  沒錯,即便是膚淺的大白話,相信你頗有可能一個字也看不下去,可是對於像我以前同樣的菜鳥來講,基本的概念卻必須提早創建起來,腦子裏有了這麼個框架,之後再往裏面填東西就簡單得多。(其實struts2自己也是這麼一個填坑的過程)


 

2、MVC模型

  在以前介紹的網頁開發流程中,其實我已經不自覺地把web框架構成分紅了三部分:前端、後臺和數據庫,並將他們與實體聯繫在一塊兒:網頁、java代碼和數據庫數據。

  這背後事實上蘊含着這樣一個廣爲人知的MVC模型,M--Model--Java對象,V--View--網頁--HTML/CSS/Javascript,C--Control--Java控制類。

  網上有不少關於MVC模型的介紹與入門教程,請讀者自行搜索、閱讀相關內容,想一定會加深讀者對web開發流程的認識,造成初步的印象。

 

  相關連接:

  從MVC框架看MVC架構的設計 – 碼農網  www.codeceo.com/article/mvc-framework-mvc-design.html

  Servlet和JSP開發入門教程 | 天碼營 - 新一代技術學習服務平臺  https://course.tianmaying.com/servlet-and-jsp


3、前端入門

  前端在第一部分中,咱們將其對應爲網頁;在第二部分MVC模型中,對應着View部分。顧名思義,即用戶經過瀏覽器所見的網頁及其內容,即是前端。

  學習前端,咱們須要掌握HTML、CSS和Javascript三大神器。

  通俗來講,HTML告訴瀏覽器顯示什麼內容,以怎樣的格式(好比大小、位置等等)顯示。所以HTML中包含着須要顯示的文本以及爲了標記文本格式的標籤。除了文本,HTML還能夠經過一系列標籤引入圖像、視頻、音頻甚至畫圖板等諸多功能。

  更詳細的介紹,請經過w3s網站學習。該網站覆蓋了web開發的整套學習材料,是廣爲推崇的web學習網站。

  w3s    http://www.w3school.com.cn/

  HTML 系列教程  www.w3school.com.cn/h.asp

  

  雖然HTML可以指定文本的大小和位置,但功能十分有限。CSS則對HTML中的元素施加魔法,使之可以呈現出更多的樣式,以更好的效果展示在用戶面前。

  CSS教程  http://www.w3school.com.cn/css/index.asp

 

  若是你的網頁是一成不變的,那麼HTML和CSS足以作出使人驚豔的網頁。可是一個靜態的、難以響應用戶輸入的網頁功能就大打折扣了。Javascript能操縱HTML和CSS,改變它們的展示方式,達到動態效果。

  Javascript教程  http://www.w3school.com.cn/js/index.asp


4、Java入門

  Java是廣爲使用的面向對象的編程語言,具備多平臺的可移植性,附有齊全的庫,也是struts框架中的後臺語言。

  struts框架中使用的java代碼並沒有特殊要求,故在此不對Java作特別介紹,若是讀者對Java語言不瞭解,請自行搜索相關資料閱讀。在此推薦一個簡明的Java入門教程,有過編程經驗的讀者應該可以在兩三天的時間掌握基本的Java編程要求。

  

  Java入門教程  https://course.tianmaying.com/java-basic


5、開始你的struts2 Hello World

  接觸一個新的框架/軟件,配置問題每每既麻煩,又耗時,有時須要反覆試驗才能成功。如何在網頁上顯示一個HelloWorld呢?如下兩篇文章可能會對你有所幫助。(若是遇到問題,請不要着急,stackoverflow、csdn以及分佈各處的熱心網友會答疑解難的,用好搜索引擎是成功的快捷通道)

  

  爲Struts 2.0作好準備 - Max On Java - BlogJava  www.blogjava.net/max/archive/2006/10/10/74353.html

  搭建一個簡單的struts2.0的web工程 - joy_zhao988的專欄 - 博客頻道 - CSDN.NET  blog.csdn.net/joy_zhao988/article/details/8684283


6、實現一個struts2 CRUD

  所謂CRUD,是Create、Remove、Update、Delete 4個英文單詞的縮寫,這表明着咱們的網站再也不只是一個可以顯示Hello World的靜態網站了,而必須可以根據用戶的操做,在網頁上反應出對應的結果。

  CRUD操做的對象是數據庫裏面的數據,所以咱們的網站必須可以鏈接到數據庫。CRUD指令是用戶在前端網頁發出的請求,所以咱們的後臺java程序將發揮用處,一個個action類將根據用戶輸入的數據,訪問數據庫取出數據,通過處理後將結果從新存到數據庫裏,並返回咱們但願用戶看到的結果。

  筆者的另外一篇博客記錄瞭如何實現一個具備CRUD功能的圖書管理系統,內附有大量的配置與代碼截圖,但願可以對讀者有所幫助。

  

  struts2 CRUD 入門 配置 - zhangnf - 博客園  http://www.cnblogs.com/zhangnf/p/struts2.html

  

  與以前的Hello World相比,大量的技術細節問題將逐漸暴露出來。筆者認爲,最關鍵的問題是前端頁面與後臺java類的數據傳遞。再次附上連接:

 

  struts2中action接收參數的方法 - 大陶陶 - 博客園  www.cnblogs.com/bukudekong/archive/2012/03/29/2423064.html

  struts2從action向jsp傳參數 - saobchj - 博客園  www.cnblogs.com/saobchj/archive/2012/05/09/2491641.html

 

  其次即是jsp的如何有效顯示數據。對jsp以及struts2背後的servlet的深刻了解,能夠參考如下教程:

  

  Servlet和JSP開發入門教程 | 天碼營 - 新一代技術學習服務平臺  https://course.tianmaying.com/servlet-and-jsp

  

  這篇文章也提供了jsp顯示數據的有用信息:

  

  Struts2 數據標籤(四)s:param標籤的三種賦值方法 - - ITeye技術網站  wl-ldy.iteye.com/blog/860169

 

  固然,還會有不少的技術問題出現,請各位讀者用好手邊的書和手上的搜索引擎,自力更生,豐衣足食。


7、struts進階——攔截器

  有人說攔截器是struts2框架的核心,不假。攔截器提供了在前端頁面與後臺action類之間施加額外操做的重要手段。一個最典型的例子即是非法登錄瀏覽頁面檢測:

 

  防止未登陸用戶操做—struts2攔截器簡單實現 - - 博客頻道 - CSDN.NET  blog.csdn.net/zhutulang/article/details/38351629

 

  有關struts2攔截器的相關知識覆蓋了struts2的整套工做原理,感興趣的讀者能夠自行查閱資料學習。


 

8、web進階

  想要作好一個網站,天然能夠從web運做流程中的每一個環節都加以考慮。好比,一個十分賞心悅目的前端,定會更加吸引別人的眼球。bootstrap即是一個十分優秀的前端框架,爲前端開發者提供了許多有用的佈局、組件、插件支持。使用bootstrap做爲前端框架,能夠實現現代化的網站佈局,效果十分美觀。

 

  bootstrap中文文檔  http://v3.bootcss.com/

 

  如何高效實現一個動態響應的網站呢?jQuery是Javascript的封裝,被譽爲寫的更少,作的更多的Javascript。值得一提的是,jQuery中還封裝了ajax,能夠實如今不刷新網頁的前提下執行後臺action類操做,並更新網頁內容的強大功能。jQuery的編寫十分容易上手,且功能強大,強烈推薦學習。

 

  jQuery教程  http://www.w3school.com.cn/jquery/

  利用JQuery實現Struts2的Ajax功能 - 編程記錄 - 博客頻道 - CSDN.NET  blog.csdn.net/yongh701/article/details/44279635


9、小結

  近三個月的學習,我從web小白一步步變成中白,期間推進我不斷學習的動力,正是來自於網上流傳各處的豐富的前人經驗。出於此,我纔有了將本身學習經驗發表出來的想法。因此在此,向我文中引用到的各位做者表示感謝。

相關文章
相關標籤/搜索