敲碼經驗總結:
之前犯了一個錯誤就是,沒有從底層開始學起,有啥問題,就直接博客園找源碼,去CSDN找源代碼,看到代碼就復制粘貼,結果從新梳理知識點的時候,貌似除了復制粘貼,印象深刻的知識啥也沒學到。
看來代碼這些東西還是得多敲多總結才有效,不要害怕從底層開始學起,因為沒有底層的知識作為支撐,即使你能做出效果也不知道如何做出來,萬不可知其然而不知其所以然。
好了,敲碼經驗總結結束了,現在到了知識點回顧:
總綱分成兩個部分:
一、總體商務平台的構思
二、實現JSP點擊單選按鈕,內容顯示到JSP里
細節:
總體商務平台的構架需要一個框架,比如說MVC,M指的是Model模型,V指的是Vison視圖,C指的是Cotrol
三個層次各司其職,他們的結構呈現上中下,
最頂層是Vison。主要功能是顯示用戶輸入的數據和呈現用戶需要的數據
中間層是Model。主要功能是傳遞作用,當用戶輸入數據后,它便接受數據傳遞給Model,讓他尋找相應的數據處理 方式
最底層是Model。主要功能是處理用戶的數據,其中有個模型稱為數據模型,它和數據庫有着千絲萬縷的聯系
三者之間你可以近似看成是顧客,中間商,供應商的關系,顧客有需求,中間商接受顧客需求告知供應商,供應商尋找用戶需要的產品給中間商,中間商再呈現給顧客,滿足顧客的需要。
重點:MVC只是個復雜的系統,並不是拿手就可用的框架
但MVC系統有多個小弟,其中有個小弟特別突出,他就是SSH,SSH是能力極強的框架,我要介紹的商務系統就是建立在它的基礎上
SSH,S指的是Struts,S指的是Spring,H指的是Hibernate
他們繼承了老大的思維模式,三個層次也是各司其職,他們的結構也是呈現上中下
最頂層是Struts。主要功能是提交數據,通過Action處理,從forward到對應的網頁。采用的技術是Servlet、JSP
中間層是Spring。主要的功能是提供管理業務對象的調用接口。【Spring也稱為Service、Manager】
底層是Hibernate。主要的功能是與數據庫打交道
因此
在我的商務系統的SSH的構造是【從后到前順序】:
實體層(數據庫的數據)
Dao層(服務方法的接口)
服務層(調用Dao層實現各種服務方法的編寫)
Web層(編寫Action和form【主要是對數據進行必要的驗證和轉換】、JSP頁面對業務數據的操作)
對應SSH的框架就是
Hibernate:負責實體層
Spring:負責Dao層和服務層
Struts:負責Web層
按照這樣思路:
對象的調用流程就是:JSP頁面-->通過Acrion等方法-->反映到Service-->尋找相應的DAO接口-->到Hibernate尋找
數據的流向:ActionFormBean接受用戶數據-->Action將數據從中提取出來-->封裝成VO或PO-->調用業務層的Bean類,接受這個PO對象,調用DAO接口方法-->到實體層進行持久化操作
這就是我的商務平台的構建思路,當然這只是萬里長征的第一步,源碼什么的還沒擺出來,不過我會爭取持久更新的(畢竟有時候搞一個方法就花去我一天或者以上),但是路漫漫其修遠兮,吾將上下而求索!
二、實現JSP點擊單選按鈕,內容顯示到JSP上
效果圖先擺上:
【選擇前:】
【選擇后:】
有兩個JSP源碼,
以下是單選前的源碼(select.jsp):
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>選擇</title> 5 </head> 6 <body> 7 8 選擇自己的城市信息 9 <form action="selec_result.jsp" method="post"><!--開始跳轉新的jsp--> 10 選擇你所在的城市<select name="home"><!--相當於引用變量--> 11 <option value="beijing">北京</option><!--value后面是顯示的值,再后面的是界面選擇項--> 12 <option value="shanghai">上海</option> 13 <option value="guangzhou">廣州</option> 14 </select> 15 <input type="submit" value="提交"><!--type是提交操作,value是按鈕名字--> 16 </form> 17 </body> 18 </html>
以下是單選后的源碼(selec_result.jsp):
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <%@ page import="java.io.PrintWriter" %> 3 <html> 4 <body> 5 <% 6 String home=request.getParameter("home"); 7 PrintWriter out1=response.getWriter(); 8 out1.print("你所在的城市是:"+home); 9 %> 10 </body> 11 </html>
源碼已經有了,我就講講在其中要注意什么,有兩點:
一、要導入servlet-api.jar包,只有導入才能響應respone的操作,【在下載的Tomcat的lib文件里可以找到,要是懶得找,筆者這里有鏈接:https://pan.baidu.com/s/16C1GF9cPvo08MC3rxPGmSw;提取碼:q4tq;筆者使用的是Tomcat 8.5】
二、每次修改其中jsp源碼,需要將端口重新啟動才能顯示最新修改的信息【這是缺點,目前筆者沒有找到解決方案】
今天的分享到這里結束了,希望對你有幫助。