MVC2 項目實踐


MVC2 項目實踐

前言

  • 新聞的發布修改刪除以及添加,在前面學習的基礎上其實並不難實現,界面也可以用現有的框架進行美化,這次項目比較麻煩的就是配置好富文本編輯器UEditor(出現問題盡量查看官方文檔,比較詳細且正確)。
  • 新聞列表的顯示部分代碼已經在上一篇博客中完成(https://www.cnblogs.com/luomei/p/13124130.html
  • UEditor下載地址:http://ueditor.baidu.com/website/download.html (需要哪種類型的就下那種類型的),這里我們需要的是jsp,編碼UTF-8

新聞的刪除

  1. 思路:網頁向服務器傳遞需要刪除的新聞id,服務器的servlet接收到該參數后,調用service的刪除新聞的服務,刪除后通過顯示新聞列表的servlet重新刷新網頁。
  2. 關鍵代碼:

 

 

 

新聞的修改

  1. 思路:
    • 網頁向服務器傳遞需要修改的新聞id,服務器的servlet接收到該參數后,調用service獲得某條新聞的服務並得到返回的新聞實例,將實例傳遞給修改新聞的界面,利用el表達式在界面中顯示信息。
    • 界面顯示完畢后,進行相應的修改后,通過表單將數據提交到服務器的servlet,完成后再次調用顯示新聞列表的servlet重新刷新網頁。
  1. 關鍵代碼:

  

新聞的添加

  1. 思路:
    • 網頁向服務器的添加新聞的servlet發送請求,進入添加新聞界面。
    • 界面顯示完畢后,進行相應的信息填寫后,通過表單將數據提交到服務器的servlet,完成后再次調用顯示新聞列表的servlet重新刷新網頁。
  2. 關鍵代碼:

     

新聞的查看

  1. 思路:
    • 網頁向服務器傳遞需要顯示的新聞id,服務器的servlet接收到該參數后,調用service獲得某條新聞的服務並得到返回的新聞實例,將實例傳遞給顯示新聞的界面,利用el表達式在界面中顯示信息。
  1. 關鍵代碼:

 

 

 

 

 

 

新聞的發布

  1. 思路:
    • 網頁向服務器發送顯示新聞主頁的請求,服務器的servlet接收請求后,調用service獲得所有新聞的實例,並進行一定的處理,新聞主界面每個版本最多顯示6個新聞,再將實例傳遞給新聞主頁的界面,利用el表達式在界面中顯示信息。
    • 點擊某新聞后,直接調用新聞的查看相關servlet進行處理即可。
  2. 關鍵代碼:

 

 

 

 

UEditor圖片地址的問題

  首先我們需要按照官網的文檔將基礎的前后端信息配置好,然后我這里就介紹一些我遇到的問題以及解決辦法。

  編輯器中圖片上傳的功能可以正常使用,但是上傳的圖片無法正常加載(錯誤404),這時可以先用官網(http://fex.baidu.com/ueditor/#dev-request_specification)中提到的請求listimage去查看我們的圖片地址,出現文件資源不存在或者未公開的錯誤,一般就是文件未保存在我們的項目里,我的項目報錯是因為保存在了項目的out文件下,而不是項目的web文件下,所以導致無法加載

  然后我去查上傳路徑的配置(http://fex.baidu.com/ueditor/#server-path),我們要注意到這么一條

 

 

   所以我選擇了添加返回路徑的前綴這一項,將前綴修改成了我圖片的絕對路徑前綴

   嘗試運行了一下,這次報錯不再是文件不存在或者資源未公開的錯誤,而是資源不允許訪問,經過查詢一些資料,發現tomact不允許瀏覽器直接讀取本地路徑,可以通過映射的方式解決。

   我們首先找到tomcat安裝路徑下conf文件里的service.xml

   用記事本打開,找到Host,在中間添加一個Context,其中path是映射的路徑,docBase是我們的本地路徑,這里需要注意,我們采用映射的方式后,那文件上傳返回的路徑前綴就可以不需要添加了,改回原來的空字符串即可。

   這時候我們再運行試試,發現又一次出現了文件資源不存在或者未公開的404錯誤,經過查詢資料,發現是服務器的配置中少勾選了一個選項,勾選上以后,不僅可以成功解決路徑問題,還發現項目運行的速度上升了,之前請求一次大概需要兩三秒,現在很快就得到了響應。

 

 演示

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 碼雲地址

https://gitee.com/MavisLuo/mvc2_project_practice

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM