在eclipse 把Modle1和Model2架構改爲MVC架構開發Jsp遇到的種種問題

     這裏只是總結了一下我的遇到的問題,最近在使用eclipse學習jsp的開發,一開始利用Model1的架構寫了很多,逐漸的也是發現modle1的問題頗多,尤其是html和java片段混合狠不清晰而且對於數據庫操作每次都要重新寫一遍代碼很是麻煩,後來遇到了Model1+class也就是Model2的架構,就全改了,感覺換一個模式之後思路很是清晰,但是想要完成我的工程感覺還欠缺一點,於是就發現了MVC的架構,但是在使用servlet作爲控制器的轉化以前的代碼遇到了問題,出現了種種的問題,本來以爲幾分鐘就可以搞定的事情,但是出現了種種的bug,結果搞了半天才搞完。好了,廢話不多說,現在來總結一下~

     第一個就是404,這個簡直是從頭到尾的跟隨我,首先,讓大家看一下我的工程的文件結構,也就是因爲這個文件結構才導致我遇到了種種的問題,但是,強迫症的人傷不起啊,我就是要把所有的文件都裝到相應的文件夾下:


我的新建了一個web文件夾然後又在下面建立了相應的文件夾,我的所有的jsp文件都是在jsp文件夾下面的。一開始時候直接建立servlet,但是測試的時候直接就是404,後倆查了一下說是web.xml配置不對,回頭一看,我竟然沒有web.xml,(哦哦上面那個圖是後來的圖了),但是在我的新建的servlet類上面看到了這樣的東西:



於是我就查了一下,結果說這個是Serlvet3.0的新特性註解@WebServlet,說這個簡單方便,我也是爲了學習接受新的技術而學了一下那幾個參數,然後知道了urlPatterns就是負責對應的servlet的地址改了一下爲urlPatterns = { "/Web/jsp/CheckUser" }(CheckUser是我的servlet類)但是並沒有效果(最後按照我發現的問題改了包名和途徑也沒有成功...)。然後又看了許多的問答,於是一個web.xml於是就再建立一個測試文件加入了web.xml其實這個很簡單就是在創建工程的時候這樣:


看到了下面那個勾選項了嗎?勾上就可以,於是終於出現了web.xml然後又建立一個servlet文件,但是對應的web.xml並沒有像他們所說的可以自動配置,一直就是這個界面:


根本就沒有變化,後來才發現,原來是servlet3之前纔會自動配置,於是乎,又得把工程給改成了servlet2.5,本人沒有什麼好的方法只好一直新建瞭如下:


看那個下拉列表就可以選擇的,於是乎,終於配置了,然後又把裏面的路徑改了(看那個url-pattern):


但是又出現了一個新的問題就是HTTP Status 500 - Error instantiating servlet class然後把那個網頁刷新一下就變成了404,我也是瞬間蒙了,於是又開始查,但是大家都在說是包配置錯了,但是我這個包是自動配置的啊?怎麼會錯?然後我也不耐煩了,就把我的包名由三級改成了二級(因爲以前寫java的時候都是com.exapmle.xxx所以這裏也習慣性的寫成了這樣的)如下:


然後改成了src.servlet然後在web.xml裏面改了之後測試一下,竟然ok了~


後來我猜測,我是這麼建包以爲是三級結構但是編譯器可能認爲我的com.tools只是一個名字,而且裏面還有 . 這個標誌符,會導致混亂。 

     ok ,當然了,這個僅限於像我這麼有強迫症的人,如果你不介意直接在WebContent下面建立jsp的話,根本就不會出現這麼多的問題~

     或許,我的解決問題過程中走了很多的彎路,還請指點一下,如果哪位大神可以在servlet3下解決這個問題,還分享一下方法哈~



發佈了40 篇原創文章 · 獲贊 38 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章