8.20 8.21?CMSManagerSystem
基本用法,bean的封裝及之后的調(diào)用略贮,上傳甚疟,枚舉
框架搭完后,執(zhí)行一些基本功能的流程:
因為舉例的表比較少逃延,所以沒有使用mybatis的自動生成工具
查詢
1.根據(jù)數(shù)據(jù)庫的表結(jié)構(gòu)創(chuàng)建bean? Ad
2.創(chuàng)建dao接口览妖,里面寫一些基本的方法
3.dao的實現(xiàn)在mapper下的xml中,寫sql揽祥,mybatis的sql寫法在mybatis那章中
4.項目啟動時會先執(zhí)行下面的默認(rèn)的主頁讽膏,但想從主頁直接跳轉(zhuǎn)到項目共通的主頁面,
需要在默認(rèn)的主頁面寫代碼跳轉(zhuǎn)拄丰,然后在controller里接收(所有都要經(jīng)過CTRL)府树,再通過返回值去找到通用的主頁面
需要在默認(rèn)的主頁面引用js料按,然后自執(zhí)行跳轉(zhuǎn)到CTRL
跳轉(zhuǎn)的雙引號里寫的要看controller里@ReqestMapping寫的什么奄侠,因為這個項目細(xì)分了自定義與系統(tǒng),那要在controller里也細(xì)分一下不同的ctrl
在系統(tǒng)級別的ctrl寫了總映射地址载矿,
寫return的路徑里就不用加垄潮,沒有就加
這樣就找到我們需要用的共通的主頁面了。
5.為了能一點廣告管理右邊出現(xiàn)頁面,需要查看jsp代碼弯洗,
當(dāng)onclick時是src的屬性就會被賦值甫题,所以要在CTRL文件夾的AdController里加/ad的頁面跳轉(zhuǎn)
6.封裝bean? service的寫法
在controller里寫查詢調(diào)用service,正常寫service接口時 查詢結(jié)果的返回值List<Ad>的屬性就是bean,
為了不讓用戶根據(jù)查詢的bean猜到表結(jié)構(gòu)涂召,所以要用之前建的AdDto進(jìn)行Ad bean的封裝(大項目用):創(chuàng)建的AdDto類直接繼承普通bean類,可以擴(kuò)充新的一些屬性
之后service就寫成
在service的impl里寫的時候需要注意:正常調(diào)用dao方法的時候敏沉,參數(shù)必須傳入的是沒有封裝之前的bean對象果正,因為封裝了,所以需要查詢前后都要倒一下
7.c:將查到的結(jié)果保存在modelMap里之后在jsp頁面用key取出來顯示就好
添加
1.添加操作是在adList.jsp頁面的盟迟,在添加按鈕處秋泳,添加點擊事件
2.再controller里創(chuàng)建映射地址對應(yīng)的方法
3.根據(jù)return的映射,創(chuàng)建對應(yīng)的jsp
4.文件的上傳
8.24
https://www.runoob.com/servlet/servlet-file-uploading.html
老師的文章:http://www.reibang.com/p/9ccefc0dbd53
注意:
1.表單?method?屬性應(yīng)該設(shè)置為?POST?方法攒菠,不能使用 GET 方法迫皱。
2.表單?enctype?屬性應(yīng)該設(shè)置為?multipart/form-data.
3.需要pom引入的 jar 文件:commons-fileupload-1.3.2、commons-io-2.5.jar
1.寫bean
在bean的dto 中辖众,除了繼承ad的一些屬性以外 還要添加一些新的屬性卓起,
其中有個MultipartFile,spring提供的方法凹炸,上傳文件時戏阅,自動把這個文件的多有信息封存在這個組件中,以后可以用這個組件提供的方法調(diào)用上傳文件的信息
jsp表單當(dāng)中name的屬性元素和bean的屬性都是對應(yīng)的
可以看MultipartFile的源碼有哪些方法:
jsp表單當(dāng)中name的屬性元素和bean的屬性都是對應(yīng)的
2.dao
sql語句:前面是數(shù)據(jù)庫的列名啤它,后面是bean的屬性名
3.service
impl:
3.1 在配置文件 system.properties中奕筐,定義了文件上傳的本地儲存路徑
3.2 service上用注解引用、賦值了一下
4.controller 和 枚舉
添加成功和失敗的信息統(tǒng)一管理变骡,用key來獲取值
管理的類是稱為枚舉
5.文件上傳也有一些配置文件??root-context.xml
6.工作會有專門的服務(wù)器去保存圖片