日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC_3.请求映射与静态资源处理

發(fā)布時間:2024/10/8 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC_3.请求映射与静态资源处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.請求映射

介紹:

????????請求到 web.xml ,經(jīng)過 SpringMVC的分發(fā)器對象 [ DispatcherServlet ]? ,將請求轉(zhuǎn)到 SpringMVC 框架中,通過 @RequestMapping 注解實現(xiàn)了請求到控制器 [ 方法 ] 的映射.
?

@RequestMapping注解:

作用:

????????用于將Web請求 映射到 特定的處理程序或處理程序的方法.
格式:

????????@RequestMapping ( [ 參數(shù).. ] )
說明:

? ? ? ? 1. 該注解可以編寫在類聲明或方法聲明的上面

? ? ? ? 2. @RequestMapping編寫在類聲明上面,提供初步的請求映射信息,編寫在方法聲明上面,提供進(jìn)一步的請求映射信息 , 示例代碼 , 輔助理解 :

? ? ? ? ? ? ? ? (1).第一種寫法和第二種寫法效果是一樣的,捕獲的都是?/abc/index 的請求

? ? ? ? ? ? ? ? (2).@RequestMapping 編寫在類聲明上面一般用于這個Action類中的方法捕獲的請求都有共同的開頭(如: /abc/index1 , /abc/add1 , /abc/delete1),才在類上聲明

? ? ? ? ? ? ? ? (3).@RequestMapping 編寫在類聲明上后,@RequestMapping 編寫在方法上的聲明的路徑會和編寫在類聲明上的拼接,格式 : 類聲明上的路徑參數(shù)+方法上的聲明路徑參數(shù)

//第一種寫法,編寫在類聲明上 @RequestMapping("/abc") public class TestAction {@RequestMapping("/index")public String index(){System.out.println("index()!");return "index";// /WEB-INF/jsp/index.jsp} }//第二種寫法,普通寫法 public class TestAction {@RequestMapping("/abc/index")public String index(){System.out.println("index()!");return "index";// /WEB-INF/jsp/index.jsp} }

? ? ? ? 3. 含有6個參數(shù),常用的有value [ 默認(rèn) ] ( 路徑 ) , method ( 請求方式 ) ,params.

? ? ? ? 4. 參數(shù)都為數(shù)組類型,格式: 參數(shù)名={值1,值2,..}.若參數(shù)只有1個值,可以省略"{}".

常用屬性(參數(shù)):

????????value: 設(shè)置當(dāng)前方法映射的請求資源.若只有1個參數(shù)值,可以省略此參數(shù)名.@RequestMapping("映射路徑")

????????method: 設(shè)置當(dāng)前方法映射請求資源時,對請求方式的要求 ( 即設(shè)置接收?GET?或?POST?請求,默認(rèn)GET , method 的兩個值?RequestMethod.POST , RequestMethod.GET?) .

提示 : 除設(shè)置默認(rèn)參數(shù)不需要加屬性名外,設(shè)置多個參數(shù)都需要加屬性名=" ",多個參數(shù)設(shè)置逗號隔開

@PostMapping 和 @GetMapping注解:

介紹:
????????SpringMVC提供了@GetMapping, @PostMapping,@PutMapping等一系列注解,用于簡化@RequestMapping.這些注解相比RequestMapping,屬于組合注解,即設(shè)置請求映射路徑,又要求請求方式.

用法:
? ? ? ? (1). @GetMapping("/請求映射路徑")等價于
? ? ? ? ? ? ? ?@RequestMapping(value="/請求映射路徑" , method=RequestMethod.GET)


? ? ? ? (2). @PostMapping("/請求映射路徑")等價于
? ? ? ? ? ? ? ?@RequestMapping(value="/請求映射路徑" , method=RequestMethod.POST)

2.靜態(tài)資源處理

為什么配置靜態(tài)資源映射:
????????DispatcherServlet?攔截所有非JSP的請求(當(dāng)然也會攔截請求資源的URL請求) , 當(dāng)請求資源URLSpring容器管理的處理程序的映射URL都不匹配時,默認(rèn)不會到(ME是WebRoot,IDEA是Web) WebRoot下尋找資源,而是直接報400或者404錯誤.

目的 :?

????????(我們要做到在容器管理的處理程序的映射URL都不匹配時,讓他在Web文件下尋找資源)

要求:

????????而大多數(shù)靜態(tài)資源是沒有請求映射配置 , 通過配置 " 默認(rèn)Servlet請求處理器 " 實現(xiàn)靜態(tài)資源的響應(yīng).
處理方式:
????????SpringMVC靜態(tài)資源的處理方式有很多種(只說兩種,夠用了):

  • ? ? <mvc:resouces>
  • ?? ?配置tomcat默認(rèn)servlet
  • ?? ?注冊SpringMVC時攔截帶有后綴的請求
  • ?? ?.......
  • <mvc:resouces>?處理方式 :

    ? ? ? ? 要求:在springmvc配置文件中編寫?標(biāo)簽及其相關(guān)內(nèi)容

    ? ? ? ? 機(jī)制: 在容器管理的處理程序(Action方法)的映射URL都不匹配時,回到web下的指定文件下去尋找符合URL需要的文件

    ????????處理方式缺點(diǎn):?所有靜態(tài)資源都要放在web文件下的同一個文件中(一個自定義的文件夾下,如 static ),擁有局限性,所以再介紹第二種方式--配置tomcat默認(rèn)servlet

    <!-- mapping 設(shè)置映射的請求路徑. http://localhost:8080/項目名/static/js/login.js location 設(shè)置資源的位置 --> <mvc:resources mapping="/static/**/" location="/static/" />

    補(bǔ)充:

    ????????localhost和mapping區(qū)別

    • ????????localhost是用來描述位置的,是描述在哪個文件下尋找文件
    • ????????mapping是用來描述請求的約束的,及規(guī)定什么開頭的URL可以訪問該文件下的文件

    ????????localhost和mapping路徑問題

    • ? ? ? ? mapping寫的是相對路徑,即是從http://localhost:8080/項目名后開始算的
    • ? ? ? ? localhost寫的也是相對路徑,是從Web文件下開始算的 ( 其實默認(rèn)情況下Web程序找什么文件或者什么請求其實默認(rèn)就是在Web文件下找的 )?

    說明 :

    ???????? *表示任意資源 , ** 表示任意資源下可以有多層任意資源 , 使用 ** 匹配資源路徑要使用 / 閉合

    配置tomcat默認(rèn)servlet處理方式 :?

    ? ? ? ? 要求: 在web.xml配置文件中編寫?標(biāo)簽及其相關(guān)內(nèi)容,固定格式, 中寫要匹配的數(shù)據(jù)類型 *.數(shù)據(jù)類型(任意名字.數(shù)據(jù)格式)

    ? ? ? ? 機(jī)制: 在容器管理的處理程序的映射URL都不匹配時,當(dāng)請求路徑的結(jié)尾是任意一個<url-pattern> 設(shè)置的格式時,讓他在Web文件下尋找資源

    <!--注冊Tomcat默認(rèn)的Servlet--><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.html</url-pattern><url-pattern>*.css</url-pattern><url-pattern>*.js</url-pattern><url-pattern>*.png</url-pattern></servlet-mapping>

    其他方法

    百度搜索,這里推薦一篇CSDN的,只是看了看,沒有試過,點(diǎn)擊這里里

    總結(jié)

    以上是生活随笔為你收集整理的SpringMVC_3.请求映射与静态资源处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。