建立Spring Boot項目 勾選Aspects(Spring AOP)、Freemarker、JPA、Mysql 。
在pom中手動添加熱部署jar和對應的插件。
鏈接池使用druid,添加druid的依賴。
添加fastjson的依賴,用來處理JSON數據。
添加fileupload的依賴,用來上傳文件、圖片上傳。
添加spring-boot-starter-aop的依賴,用來實現攔截器。spring
WebMVCConfig配置:sql
WebMVCConfig經過繼承WebMvcConfigurerAdapter來配置MVC,添加@Configuration註解,讓boot知道它是配置文件。
1.經過重寫addViewControllers來設置首頁,設置優先級最高,當訪問「/」下目錄時,自動跳轉設置的contrller
2.Spring Boot默認會把靜態頁所有屏蔽 因此在config中要對靜態資源進行處理,重寫addResourceHandler方法對靜態資源放行。設置resourceChain爲true。
3.過濾器 Spring提供的FilterRegistrationBean類,提供setFilter、setName、setOrder等方法。數據庫
File.separator 跨平臺的分隔符json
Crud:描述數據庫或持久層的基本操做功能。create,retrieve(查詢),update,delete
dao層繼承CrudRepository接口
CrudRepository<Bbsuser,Integer> 對Bbsuser表進行操做 遵循JPA規範,主鍵類型
經過@Query註解實現查詢服務器
1 登陸:@Query("select c from Bbsuser c where username=:u and password=:p") 2 Bbsuser login(@Param("u") String username,@Param("p") String password) 3 顯示頭像:@Query("select s from Bbsuser s where userid=:id") 4 Bbsuser getPic(@Param("id" Integer id)) 5 顯示主帖:@Query("select c from Article c where rootid=:id") 6 Page<Article> queryAll(Pageable pageable,@Param("id") Integer id)
Pageable是接口,PageRequest是接口實現spring-boot
注意——————————————————————————————
@WebServlet中的urlPatterns中的名字前需加「/」,不然可能會找不到頁,404。ui
作到顯示用戶頭像時,出現NumberFormatException: For input string: "" ,是由於原模板中有兩處傳id參數,用戶頭像和帖子頭像(在table頁中),刪除後者便可。url
註冊新用戶時,必須在數據庫中設置頁數。否則會出現null指針異常。spa
註冊用戶時,需在服務器端創建upload文件夾來存放圖片,而後才能讀取服務器中的文件並轉爲字節形式存在數據庫中。插件
註冊用戶時,vmap集合若是是全局的,那麼應該設爲null,在具體請求中進行實例化,不然在全局中只實例一次,若是在遊客註冊前,有用戶登陸過,那麼vmap中含有登陸的用戶,則註冊後顯示的是上一個登陸用戶的信息。
在開發Web應用程序時,容許用戶利用multipart請求將本地文件上的文件傳到服務器。
Spring經過對ServletAPI的HttpServletRequest接口進行擴展,使其可以很好地處理文件上傳。
enctype屬性的屬性值設爲multipart/form-data
type屬性值設爲file
存儲過程:
delimiter //
create procedure p_2 (
in in_id int, /* 主帖id 根據它進行從帖查詢*/
out out_title varchar(50) /* 主帖標題 */
)
begin
/* 根據參數查主帖(rootid=0)或從帖信息 */
select *from article where rootid=in_id order by id;
/* 根據參數查主帖標題*/
select title into out_title from article where id=in_id;
end //
delimiter ;
show頁參數:
id:帖子id
uid:當前登陸用戶id
duid:發本主帖的用戶id
rootid:從帖所屬主帖id
仍存在的bug :登陸時沒有檢測用戶名和密碼正確性,若錯誤直接轉到了遊客頁面。 已經存在的用戶,仍能夠繼續註冊。 點擊了有從帖的帖子後,再點擊沒從帖的帖子,其標題會是有從帖的帖子標題。 登陸後不能繼續登錄 應先退出。顯示頭像時的bug莫名其妙就行了。