1. 程式人生 > >SpringMVC的解釋與搭建Maven私有代理伺服器

SpringMVC的解釋與搭建Maven私有代理伺服器

SpringMVC靜態資源處理

通常會配置SpringMVC攔截所有請求

   即將DisptcherServleturl-pattern設定為 /

   此時會導致SpringMVC同時攔截.css   .jpg  .js等靜態資源

        而我們並不會為這些靜態資源新增相應的@RequestMapping

        就會導致靜態資源404錯誤

解決方法:

   方法一:讓SpringMVC攔截的範圍縮小,

即設定url-pattern*.do *.action或者*.spr

 

 

方法二:

在springmvc-servlet.xml中

<!--啟用預設Servlet

處理靜態資源,以便支援 Restful URL -->

     <mvc:default-servlet-handler/>  

方法三:

在springmvc-servlet.xml中

  <!--靜態檔案對映 -->

<mvc:resources mapping="/static/**" location="/static/"/>

處理靜態資源,通常會把靜態資源放到static資料夾統一管理

方法四:使用動靜分離的方案,將靜態檔案都放在其它伺服器上

        1.靜態資源移走後,springmvc伺服器可以專門處理業務請求,

不必再為靜態資源消耗處理能力(

CPU/記憶體)

更重要的是不必為靜態資源浪費頻寬

可以使業務伺服器能夠併發處理更多請求

              2.靜態資源可以放在更便宜的伺服器上,節省開支

              3.靜態資源消耗的頻寬和磁碟都很大,可以藉助CDN加速,

              CDN即內容分發網路,是專業從事靜態資源網際網路級快取業務的公司提供的

SpringMVC收集瀏覽器傳過來資料

   方法一:直接在請求處理方法中新增相應的引數,

SpringMVC會自動將請求體/URL中的引數繫結到請求方法的引數上

 要求名字必須相同

如果名字不同,可以加@RequestParam(“表單中的名字”)

 

SpringMVC請求URL與方法對映

      @RequestMapping()

       既可以寫在控制器類上,也可以寫在請求處理方法上

        如果類上和方法上都有,url將會連線在一起

 

SpringMVC的的重定向和轉發

Servlet中  重定向        response.sendRedirect(通常寫成絕對url)

             轉發          request.getRequestDisptcher(url).forword(req,res);

SpringMVC中 重定向  “redirect:url”    Spring 會自動新增應用路徑

 

                轉發   “forword:url”

SpringMVC從控制器向檢視傳資料

Servlet中       呼叫request.setAttribute(“name”,value);

                  然後轉發請求到JSP頁面

SpringMVC中    

① 先拿到model,可以通過在引數中新增ModelModelAndView等引數拿到


② 呼叫addObject()  addAtrribute() 方法,將資料設定進去

 

一句話:通過Model傳過去!

Maven私有代理伺服器

       簡稱Maven私服

       使用私服的原因

            1.Maven中央伺服器或其它互聯代理伺服器速度都不如區域網速度快

               所以在區域網內搭建一臺Maven伺服器將會大大

                   提高jar包的下載速度和穩定性

            2.可以把把公司公用的jar(公司自有框架、工具類)包釋出到私服上,

公司內部程式設計師使用時,只需要新增座標即可

搭建Maven私服

1) senotype下載安裝包(推薦使用2.x)

2) 安裝成windows服務(在bin中執行 nexus install

3) 啟動nexus服務

4) 使用 localhost:8081/nexus訪問

5) 登入   賬號admin/密碼admin123

6) 開啟central的索引下載(repositories -> central -> config -> download remote index

 central這一行點右鍵,repaire  index  update index

7) 新增阿里雲映象(可選)

repositories -> add  在表單中填寫 名字、阿里雲地址)

8) 設定 public

(repositories -> public.... ->把需要公開的倉庫加到左側

9) 在程式設計師自己的電腦上把私服的public url設定為映象

SpringMVC Form標籤庫

<form:form modelAttribute=”modelName”>

   <form:label path=”屬性名”>

   <form:input path=”屬性名”>

</form:form>   

   modelAttribute 指向資料模型物件,需要在控制器中建立一個模型物件,通過Model傳到頁面上

使用Form標籤庫的好處是,可以簡化表單,使表單與模型物件的繫結更方便                                                   

SpringMVC的表單與模型物件的繫結

 1.使用form標籤庫的modelAttribute可以指明表單與Model中哪個物件繫結

    2.在請求處理方法中可以直接寫一個模型類引數,這個模型類引數將被SpringMVC自動填充

    3.而且這個模型類引數實際上也存在於Model中,這樣如果再次返回這個JSP,則資料會直接傳過去,不需要往Model中新增!