學習完ssm框架的項目總結

項目背景:學習完ssm背景,進行的一次項目(選課系統)實踐,主要目的爲了增強對ssm框架的理解,第二個是練習自己對於項目的熟悉能力,第三是爲了增強自己的編程能力

1、ssm框架簡單介紹:

  • SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容)。常作爲數據源較簡單的web項目的框架
  • Spring就像是整個項目中裝配bean的大工廠,它在配置文件中指定使用特定的參數去掉用實體類的構造方法來實例化對象,Spring的核心思想是IoC(控制反轉),即不需要我們去“new”一個對象,而這個框架就幫我們完成了這一切,我覺得這個功能非常不錯。
  • mybatis是對jdbc的封裝,對於數據的重要數據的封裝和調用,使得數據更加的安全。

 SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介或是前臺這樣的職責;在項目的過程中,可能練習的不夠深入吧,所以對於SpringMVC這個東西瞭解的不夠深入

2、項目工具介紹

框架使用:Spring SSM
開發環境:Eclipse 10.0
開發語言:Java,js
服務器運行:Tomcat 7.0
數據庫:MySQL

3、項目功能介紹

本次項目主要分爲三大模塊:學生後臺管理,教師後臺管理,教務處後臺管理,由於對於基礎知識掌握的不牢靠,所以在有限的10天內,只完成了學生後臺管理,教師後臺管理;

共同功能:個人信息模塊(不可修改和可修改),修改密碼模塊

學生功能:
a、完成必修課的查看(課程編號、課程名稱、課程學分、代課教師、代課教師編號)
b、完成選修課的選課功能(限制最大人數、選課的當前人數,選擇後增加一人,刪除時減少一人)
c、選修課的查看,可以對不想學習的課程進行刪除
d、成績查看模塊,可以查看必修/選修的分數以及獲得的學分

教師功能
a、完成對學生信息的查看功能
b、完成老師對於學習考試之後的打分功能
c、完成查看自己所帶的課程名字

4、項目的收穫與不足

收穫:
a、對於ssm框架有了簡單的瞭解、以及屬性
b、相比於第一次項目,能清楚的知道自己想要完成什麼樣的功能, 以及該怎麼完成
c、對於編寫代碼犯錯,沒有以前那麼恐懼了,逐漸的學會了怎麼去找錯誤
d、學會了要順着代碼的執行順序去找錯誤,而不是想當然的、覺得它的執行順序是什麼,就怎麼找錯誤(寫分頁查詢時,應該是先執行action的,在執行action中調用的普通方法,但是,在做的過程中,會想當然的是執行普通方法,在執行action,所以總是報空指針異常,還好,在和夥伴們討論的時候,明白了錯誤是在哪裏,及時改正了,然後就好了)

不足:
a、相比於第一次,有了計劃性,但是不夠具體,執行的不夠嚴格
b、寫代碼的過程中,思路不夠清晰,有時候能重複使用的代碼,後來還是在寫了一次,因爲不能確定到底能不能用;另一個就是因爲思路不夠清晰,所有導致前期浪費時間過多,後期的很多功能,由於時間關係,無法完成
c、遇到困難還是喜歡一個人在哪兒死磕,直到解決不了了纔會想着問別人(在規定的時間內,完不成,肯定是你那裏有問題的,所以要儘快問問題,打通你的思路,然後更好的理解它,完成它)

5、學到的技術點

a、對於數據在頁面和數據庫的交互(增刪改查),比第一次的項目熟練了許多

b、學會使用previousElementSibling獲取上一個標籤的值進行傳值(這個問題,困擾了一天多的時間才解決,而這個正是體現了對於知識的不牢固)

說一下這個獲取值需要注意的問題
1、

<a href="javascript:void(0)"
                        class=" button border-main
                        icon-search"
                        onclick="changesearch()" id="a" name="aa"> 搜索</a></li>

在a連接href=“”中必須加javascript:void(0),這句話的意思是:讓超鏈接去執行一個js函數,而不是去跳轉到一個地址,而void(0)表示一個空的方法,也就是不執行js函數

2、可能在傳值的過程中會出現亂碼問題,解決方式如下:

j<script type="text/javascript" charset="UTF-8">
        //搜索
        function changesearch() {

            var a = document.getElementById("a");
            /* nodeName */
            var inr = encodeURI(a.previousElementSibling.value);
            inr = encodeURI(inr);
            location.href = "${pageContext.request.contextPath }/foundstudent.action?INR="
                    + inr;
        }

</script>```  

後臺

String inr = request.getParameter("INR");

    inr = URLDecoder.decode(inr, "utf-8");
以上解決方案來自網絡,有更好的解決方案,歡迎討論

3、對於分頁查詢,有了簡單的理解,能做到簡單的分頁
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章