亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

springmvc?html資源請求404的問題解決并分析

 更新時間:2023年09月04日 11:16:25   作者:王威振的csdn  
這篇文章主要介紹了springmvc?html資源請求404的問題解決并分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

springmvc html資源請求404問題

<servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>context</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

相比大家都對url-pattern 路徑/和/*都有所困擾。

網(wǎng)上說,/不對(.jsp,.html等)進行攔截。/*對(.jsp,.html等)進行攔截。其實不是這樣的。這兩個都會進行攔截,只是不同點就是,

/路徑會先被Tomcat下web.xml里面的servlet攔截。/*規(guī)則

會覆蓋所有默認(rèn)的servlet,會將所有請求都攔截了下來

如果是請求的是html文件。配置成<url-pattern>/</url-pattern>會出現(xiàn)404 。如果是jsp則可以請求200

接下來看下tomcat web.xml文件。原因就是tomcat下的web.xml配置了.jsp文件。所以可以正常訪問。

 <!-- The mapping for the default servlet -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!-- The mappings for the JSP servlet -->
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>

解決方案

1.那么對于html文件咋辦?可以在自己項目下web.xml加入

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

2.或者在tomcat下web.xml加入 <url-pattern>*.html</url-pattern>不建議這樣做,不靈活

3.還可以在spring-mvc.xml中針對資源文件加入以下,也可以解決<mvc:default-servlet-handler/>

springmvc中對請求的處理

請求參數(shù)處理

在之前的servlet中我們可以通過request.getParameter()來獲取請求中的參數(shù),但是在我們編寫的SpringMVC的應(yīng)用程序中,在具體請求的方法中并不包含request參數(shù),那么我們應(yīng)該如何獲取請求中的參數(shù)呢?

需要使用以下幾個注解:

  • @RequestParam:獲取請求的參數(shù)
  • @RequestHeader:獲取請求頭信息
  • @CookieValue:獲取cookie中的值

復(fù)雜數(shù)據(jù)類型處理

JavaBean數(shù)據(jù)綁定

使用userDTO對user和Role兩個javaBean對象進行包裝

使用@RequestHeader注解來獲取請求頭信息

使用@CookieValue注解來獲取cookie對象的值

使用原來的servlet獲取請求參數(shù)的值

注意:我們在獲取這些參數(shù)的值的時候,有可能會遇到亂碼問題

亂碼問題的解決

我們在表單或者發(fā)送請求的時候,經(jīng)常會遇到中文亂碼的問題,那么

如何解決亂碼問題呢?

GET請求:在server.xml文件中,添加URIEncoding=“UTF­8”

POST請求:編寫過濾器進行實現(xiàn)

注意:如果配置了多個過濾器,那么字符編碼過濾器一定要在最前面,否則失效。

web.xml基本配置

spring-mvc.xml的配置

請求映射處理

@RequestMapping

@RequestMapping用來匹配客戶端發(fā)送的請求,可以在方法上使用,也可以在類上使用。

方法:表示用來匹配要處理的請求

類上:表示為當(dāng)前類的所有方法的請求地址添加一個前置路徑,訪問的時候必須要添加此路徑

@RequestMapping的使用

注意:在整個項目的不同方法上不能包含相同的

@RequestMapping值params : 設(shè)置請求必須攜帶某些參數(shù)

headers: 設(shè)置請求頭必須包含某個值

consumes: 當(dāng)前請求的內(nèi)容類型必須為指定值

produces:設(shè)置當(dāng)前響應(yīng)的內(nèi)容類型

映射的URL還可以支持通配符

注意:

/ant 匹配ant 如http://localhost:8080/springmvc/mapping/ant

/ant* 匹配多個字符 如http://localhost:8080/springmvc/mapping/ant123

/ant? 只能匹配單個字符 如http://localhost:8080/springmvc/mapping/ant1

/**/ant 可以匹配多層目錄 如http://localhost:8080/springmvc/mapping/1/2/ant

@PathVariable

如果需要在請求路徑中的參數(shù)像作為參數(shù)應(yīng)該怎么使用呢?

可以使用@PathVariable注解,此注解就是提供了對占位符URL的支持,就是將URL中占位符參數(shù)綁定到控制器處理方法的參數(shù)中。

注意:如果是javaBean可以省略@PathVariable,要保證占位符的名字和javaBean的屬性名字一樣。

REST

REST:客戶端映射到服務(wù)器資源的一種架構(gòu)設(shè)計。

我們?nèi)绻茏尣煌恼埱蠓绞奖硎静煌恼埱箢愋途涂梢院喕覀?/p>

的查詢,改成名詞:

面向資源

看URL就知道要什么, 看http method就知道干什么

  • 查詢用戶: http://localhost:8080/xxx/user/1 GET ­­查詢
  • 查詢多個用戶: http://localhost:8080/xxx/users GET
  • 新增用戶: http://localhost:8080/xxx/user POST ­­­新增
  • 修改用戶: http://localhost:8080/xxx/user/1 PUT ­­修改
  • 刪除用戶:http://localhost:8080/xxx/user/1 DELETE ­­刪除

代碼實現(xiàn)

注意:

使用@PutMapping和@DeleteMapping的時候,因為HTML5不支持這兩種方式,所以應(yīng)當(dāng)在其HTML頁面中加上****同時也要在web.xml中使用過濾器對HiddenHttpMethodFilter進行過濾。

靜態(tài)資源的訪問

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java文件與Base64之間的轉(zhuǎn)化方式

    Java文件與Base64之間的轉(zhuǎn)化方式

    這篇文章介紹了如何使用Java將文件(如圖片、視頻)轉(zhuǎn)換為Base64編碼,以及如何將Base64編碼轉(zhuǎn)換回文件,通過提供具體的工具類實現(xiàn),作者希望幫助讀者更好地理解和應(yīng)用這一過程
    2025-02-02
  • windows上nacos自啟動的三種方法小結(jié)

    windows上nacos自啟動的三種方法小結(jié)

    本文主要給大家介紹了windows上nacos自啟動的三種方法,借助WinSW.exe添加到服務(wù)列表,修改nacos啟動配置以及以開機"啟動"方式——啟動Nacos的startup.cmd這三種方法,文中通過圖文講解的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Spring?Bean創(chuàng)建流程分析講解

    Spring?Bean創(chuàng)建流程分析講解

    很多時候我們需要根據(jù)不同的條件在容器中加載不同的Bean,或者根據(jù)不同的條件來選擇是否在容器中加載某個Bean,這就是Bean的加載控制,一般我們可以通過編程式或注解式兩種不同的方式來完成Bean的管理
    2023-01-01
  • IDEA如何配置本地tomcat啟動項目

    IDEA如何配置本地tomcat啟動項目

    這篇文章主要介紹了IDEA如何配置本地tomcat啟動項目問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java 獲取當(dāng)前函數(shù)名的實現(xiàn)代碼

    java 獲取當(dāng)前函數(shù)名的實現(xiàn)代碼

    以下是對使用java獲取當(dāng)前函數(shù)名的實現(xiàn)代碼進行了介紹。需要的朋友可以過來參考下
    2013-08-08
  • Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    這篇文章主要介紹了Java的面相對象編程思想,包括類對象方法和封裝繼承多態(tài)等各個方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對你有所幫助
    2021-07-07
  • Java泛型<T> T與T的使用方法詳解

    Java泛型<T> T與T的使用方法詳解

    這篇文章主要介紹了Java泛型<T> T與T的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 淺談Java關(guān)閉線程池shutdown和shutdownNow的區(qū)別

    淺談Java關(guān)閉線程池shutdown和shutdownNow的區(qū)別

    本文主要介紹了Java關(guān)閉線程池shutdown和shutdownNow的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Mybatis是這樣防止sql注入的

    Mybatis是這樣防止sql注入的

    本文詳細(xì)講解了Mybatis是如何防止sql注入的,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值。需要的朋友可以收藏下,方便下次瀏覽觀看
    2021-12-12
  • hadoop中實現(xiàn)java網(wǎng)絡(luò)爬蟲(示例講解)

    hadoop中實現(xiàn)java網(wǎng)絡(luò)爬蟲(示例講解)

    下面小編就為大家?guī)硪黄猦adoop中實現(xiàn)java網(wǎng)絡(luò)爬蟲(示例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論