SSH三大框架搭建(非常之基礎)
完全的從無到有的搭建一個最基礎的SSH框架。
我們先做一下最開始的基礎工作,先來將一個數據源配置好,然後進行三大框架的完整配置!!!
如圖:
首先我們從右上角來建立一個數據源:
在“2”所指示的空白的地方,我們右鍵然後new一下,然後彈出對話方塊,如下圖:
這裡我是oracle資料庫,所以我選擇了oracle(thin driver),繼續如下圖操作:
按照上面的填寫正確,一定要正確,然後第五步來選擇資料庫驅動jar包!一定要選擇,然後直接 “finish” 即可,然後就完成了資料來源的建立!!
下面就開始SSH的框架搭建之旅!!!!!!
一、首先新建一個專案:new--Web Project。
二、然後填寫專案名稱,選擇開發版本:
點選“finish”
三、得到如下結構的專案:
四、開始先從struts2框架支援開始:
首先右鍵專案------選擇“MyEclipse”-----按照下圖選擇:
選擇之後彈出如下框:
直接執行1,2,3步就行,直接finish,不需要“next”!!!!
將會得到如下的專案結構,包括一個struts.xml對映檔案和一些struts2的jar包(沒有完全截圖),下面的就一樣了:
然後在WebRoot---WEB-INF--lib下面匯入如下包:
struts2-spring-plugin-2.1.8.1.jar,反正是有用的,我反正就是缺少了這個包
五、從spring框架支援繼續:
右鍵專案名稱---選擇“MyEclipse”---選擇如下圖所示選項:
彈出如下對話方塊,進行選擇:
複選框的時候,一定要選完整!!!因為不能截圖完整的原因,所以用兩張圖來表示!!!下面有兩張圖,要在複選框裡面全部選擇的:
上面的,複選框一定要按照上圖來選擇,其他的單選什麼的都是一樣的!!
直接finish即可!!!得到如下結構的專案框架:
六、進行hibernate框架支援:
右鍵專案名稱---選擇“MyEclipse”---按照如下圖進行選擇:
得到如下彈出框,按照下圖進行選擇:
下一步之後,選擇spring對映檔案中配置資料庫,如圖所示:
下一步之後,再如下圖操作::
下一步之後,按照下圖所示:
七、接下來寫配置檔案:
首先寫web.xml配置檔案,如下圖,添加了監聽程式碼:
程式碼如下,你們可以自行復制一下:
<!-- 配置監聽 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
八、接下來,我們建立model層,action層,dao層,service層(採用雙介面操作)
首先建立model層,我們利用MyEclipse反向生成對映檔案(Xxx.hbm.xml)和實體類(Xxx.java)
先找到右上角進入資料庫操作的層,如下圖:
右鍵要匯入的資料庫表,然後如下圖選擇:
然後彈出如下對話方塊:
根據上面對應去選擇即可,然後選擇next下一步,如下圖:
這一步是選擇主鍵的增長策略,自己可以按需選擇!直接finish,然後得到如下結構圖:
此時model層已經建立好,接下來我們分別來建立action層,dao層,service層。
最終建立如下專案結構:
我們這是做一個簡單的登入(Login)操作,然後取名叫做LoginXx型別,然後,這裡我們要來配置一下spring的配置檔案即:applicationContext.xml對映檔案,如下圖:
<bean id="loginDao" class="com.java.dao.LoginDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="loginService" class="com.java.service.LoginService">
<property name="loginDao">
<ref bean="loginDao"/>
</property>
</bean>
這裡我們在applicationContext.xml檔案裡面配置了dao層和service層的一個注入操作,dao層是將SessionFactory注入,service層將dao層的bean物件注入;
此時,寫完上面的,會報錯,報錯原因是dao層的LoginDao.java沒有sessionFactory,而LoginService.java中沒有dao層的bean物件注入,因此需要對LoginDao和LoginService來進行如下圖操作:
上面是dao層類中,需要繼承HibernateDaoSupport類和實現ILoginDao介面(一定要注意)
上面的service層類中,需要繼承ILoginService介面(一定要注意),然後在實體裡面去將ILoginDao的bean物件獲取get和set方法,以此來注入
上面配置完,然後applicationContext.xml配置檔案就不報錯了,接下來我們來配置struts.xml配置檔案:
九、配置struts.xml檔案:
首先我們來建立一個login.jsp頁面,然後在form表單中給出action="login"地址,然後再去配置struts.xml檔案,會更加通俗易懂:
首先檔案頭需要匯入struts2的標籤,然後在body裡面去實現頁面
此時我們看到form表單中給出了一個action="login"的地址,那麼我們再去struts.xml中去配置,然後最後到action中去實現!
struts.xml實現上面程式碼如圖:
上面就是struts.xml的配置檔案了,要把action裡面的name,class,method(可選)寫對,然後,寫完之後,去action層的LoginAction類中去實現!!!如下圖:
十、action實現邏輯:
然後此時,在35行會報錯,因為沒有getEmpInfo(username)這個方法的存在,然後我們可以點選左側報錯的提示,然後系統會自動在ILoginService.java中生成這個方法,如圖:
此時會發現LoginService.java中會報錯,是因為沒有getEmpInfo方法,那麼在LoginService的報錯地方,點選左側紅叉,然後建立生成這個方法:
在LoginService類中實現這個方法後,會發現左側提示報錯,然後如法炮製,是因為ILoginDao下面沒有這個方法,然後點選左側的紅叉,然後建立方法:
此時,生成方法之後,會發現LoginDao層中報錯,這時只需要到LoginDao.java中去實現這個方法即可:
這樣就完成了dao層實現sql的操作,如果dao層sql執行通過了,那麼將會返回到action中繼續邏輯判斷,直到return為止。
釋出專案到tomcat中,可能會報錯,可能的原因是jar包重複導致的衝突,你們可以檢查jar包是否重複!
至此,整個的配置流程就完成了。希望能幫助到大家,謝謝!有什麼還不懂的可以留言然後一起討論!
這裡其實也就是一個思想,把握好一個思想就能夠成功搭建的!
如果有搭建成功的,在下面回覆留言一下呀!