1. 程式人生 > >bbs論壇中的問題和心得。(更新)

bbs論壇中的問題和心得。(更新)

handle 論壇 首頁 sele chain show druid pattern 刪除

創建Spring Boot項目 勾選Aspects(Spring AOP)、Freemarker、JPA、Mysql 。
在pom中手動添加熱部署jar和對應的插件。
連接池使用druid,添加druid的依賴。
添加fastjson的依賴,用來處理JSON數據。
添加fileupload的依賴,用來上傳文件、圖片上傳。
添加spring-boot-starter-aop的依賴,用來實現攔截器。

WebMVCConfig配置:

WebMVCConfig通過繼承WebMvcConfigurerAdapter來配置MVC,添加@Configuration註解,讓boot知道它是配置文件。
1.通過重寫addViewControllers來設置首頁,設置優先級最高,當訪問“/”下目錄時,自動跳轉設置的contrller
2.Spring Boot默認會把靜態頁全部屏蔽 所以在config中要對靜態資源進行處理,重寫addResourceHandler方法對靜態資源放行。設置resourceChain為true。
3.過濾器 Spring提供的FilterRegistrationBean類,提供setFilter、setName、setOrder等方法。


File.separator 跨平臺的分隔符

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是接口實現


註意——————————————————————————————
@WebServlet中的urlPatterns中的名字前需加“/”,否則可能會找不到頁,404。

做到顯示用戶頭像時,出現NumberFormatException: For input string: "" ,是因為原模板中有兩處傳id參數,用戶頭像和帖子頭像(在table頁中),刪除後者即可。

註冊新用戶時,必須在數據庫中設置頁數。不然會出現null指針異常。

註冊用戶時,需在服務器端建立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莫名其妙就好了。

bbs論壇中的問題和心得。(更新)