學spring security前的知識回顧


    又開始學習一個新的框架了,又開始寫一個helloworld的demo。每一次重新學習java的框架,又會讓自己陷入到一個巨大的知識量當中去。常常看別人搭框架,發現有許許多多的配置自己看不懂,這是十分正常的,因爲你又開始接觸一個別人寫的一款框架,對於不是你寫的代碼,你肯定是感到非常的陌生的,雖然那些文字你都看得懂,但是你依然看得陌生,我想這就是最熟悉的陌生人很能概括的。

     先感慨一句,接下來開始進入一些web 知識的總結。這系列的博客是爲了學習spring security框架的使用來寫的。看別人搭一千遍spring security框架,都不如自己搭一遍框架。千萬不要碰到什麼問題都去深究,這樣你會陷入無窮無盡的時間浪費之中。碰到不懂的地方,最好的方法就是用自己熟悉的知識來類比,或者百度一下,知道是幹什麼的就好,不需要知道爲什麼,你要時刻記住,現在的第一步是爲了能搭出一個能用的hello world框架,這是非常簡單的。說這麼多是告誡他人,也是告誡自己。

先來說下,在自己開始建一個java工程的時候,會有疑問,source folder 和package有什麼不同呢?

知識點一:

在eclipse下,package,source folder,folder都是文件夾.  


它們的區別如下:  
package:當你在建立一個package時,它自動建立到source folder下,也只能建立在這個目錄之下.  


source folder:存放java源代碼的文件夾,當然也包括一些package文件夾,還可以包含其他文件.  
項目構建後,source folder裏面的java自動編譯成class文件到相應的/web-inf/classes文件夾中,其他文件也會移到/web-inf/classes相應的目錄下.


folder:裏面可以放入任何文件.包括java源文件,jar文件,其他文件(例如,圖片,聲音等).在此我說明一下,如果裏面含有java源文件,不管程序是否正確,eclipse都不會報錯,把它們當做普通文件處理.但是項目如果要使用這裏面的文件,情況就不同了. 


好,知道了這3個功能就行了,記住在你的java代碼中要調用xml結尾的配置文件的時候,你要建一個resource名字的source folder文件夾。就可以在java文件裏直接調用了。


知識點二:

url-pattern / 和 /* 的區別

spring用到forward("/WEB-INF/jsp/*.jsp")
而forward當然是又要經過web.xml的映射的,
然後,在URL匹配時,
 <url-pattern>/</url-pattern>  不會匹配到*.jsp,不會進入spring的DispatcherServlet類
 <url-pattern>/*</url-pattern> 會匹配*.jsp,導致進入spring的DispatcherServlet類,然後去尋找controller,接着找不到對應的controller所以報錯。


試驗了一下,改爲 <url-pattern>/</url-pattern> 果然就不會報錯了,唉,還以爲不能解決,爲此還換成了velocity作爲視圖,算了,繼續用velocity吧,簡單點。


總之,關於web.xml的url映射的小知識:
<url-pattern>/</url-pattern>  會匹配到/login這樣的路徑型url,不會匹配到模式爲*.jsp這樣的後綴型url
<url-pattern>/*</url-pattern> 會匹配所有url:路徑型的和後綴型的url(包括/login,*.jsp,*.js和*.html等)


spring security helloworld代碼例子   導入即可運行

csdn下載地址:

http://download.csdn.net/detail/u013897204/9618709


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章