最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springmvc?html資源請(qǐng)求404的問題解決并分析

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

springmvc html資源請(qǐng)求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>

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

網(wǎng)上說,/不對(duì)(.jsp,.html等)進(jìn)行攔截。/*對(duì)(.jsp,.html等)進(jìn)行攔截。其實(shí)不是這樣的。這兩個(gè)都會(huì)進(jìn)行攔截,只是不同點(diǎn)就是,

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

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

如果是請(qǐng)求的是html文件。配置成<url-pattern>/</url-pattern>會(huì)出現(xiàn)404 。如果是jsp則可以請(qǐng)求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.那么對(duì)于html文件咋辦?可以在自己項(xiàng)目下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中針對(duì)資源文件加入以下,也可以解決<mvc:default-servlet-handler/>

springmvc中對(duì)請(qǐng)求的處理

請(qǐng)求參數(shù)處理

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

需要使用以下幾個(gè)注解:

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

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

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

使用userDTO對(duì)user和Role兩個(gè)javaBean對(duì)象進(jìn)行包裝

使用@RequestHeader注解來獲取請(qǐng)求頭信息

使用@CookieValue注解來獲取cookie對(duì)象的值

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

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

亂碼問題的解決

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

如何解決亂碼問題呢?

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

POST請(qǐng)求:編寫過濾器進(jìn)行實(shí)現(xiàn)

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

web.xml基本配置

spring-mvc.xml的配置

請(qǐng)求映射處理

@RequestMapping

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

方法:表示用來匹配要處理的請(qǐng)求

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

@RequestMapping的使用

注意:在整個(gè)項(xiàng)目的不同方法上不能包含相同的

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

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

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

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

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

注意:

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

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

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

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

@PathVariable

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

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

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

REST

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

我們?nèi)绻茏尣煌恼?qǐng)求方式表示不同的請(qǐng)求類型就可以簡化我們

的查詢,改成名詞:

面向資源

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

  • 查詢用戶: http://localhost:8080/xxx/user/1 GET ­­查詢
  • 查詢多個(gè)用戶: 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 ­­刪除

代碼實(shí)現(xiàn)

注意:

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

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

總結(jié)

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

相關(guān)文章

  • 解析Java定時(shí)任務(wù)的選型及改造問題

    解析Java定時(shí)任務(wù)的選型及改造問題

    這篇文章主要介紹了Java定時(shí)任務(wù)的選型及改造問題,本文給大家提到了Java主流三大定時(shí)任務(wù)框架優(yōu)缺點(diǎn),通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Java實(shí)戰(zhàn)之實(shí)現(xiàn)在線小說閱讀系統(tǒng)

    Java實(shí)戰(zhàn)之實(shí)現(xiàn)在線小說閱讀系統(tǒng)

    本文主要介紹了一個(gè)通過Java實(shí)現(xiàn)的在線電子書小說閱讀系統(tǒng),文中用到的技術(shù)有Layui、Springboot、SpringMVC、HTML、FTP、JavaScript、JQuery等,感興趣的可以試試
    2022-01-01
  • 關(guān)于dubbo的RPC和RESTful性能及對(duì)比

    關(guān)于dubbo的RPC和RESTful性能及對(duì)比

    這篇文章主要介紹了關(guān)于dubbo的RPC和RESTful性能及對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java進(jìn)階之SPI機(jī)制詳解

    Java進(jìn)階之SPI機(jī)制詳解

    Java SPI機(jī)制在很多大型中間建碼,例如Dubbo中均有采用,屬于高級(jí)Java開發(fā)的進(jìn)階必備知識(shí)點(diǎn),務(wù)必要求掌握.文中有非常詳細(xì)的代碼示例及解釋,需要的朋友可以參考下
    2021-05-05
  • java?Map集合中取鍵和值的4種方式舉例

    java?Map集合中取鍵和值的4種方式舉例

    Java中的Map是一種鍵值對(duì)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),其中每個(gè)鍵都唯一,與一個(gè)值相關(guān)聯(lián),這篇文章主要給大家介紹了關(guān)于java?Map集合中取鍵和值的4種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Spring boot GC實(shí)現(xiàn)過程原理解析

    Spring boot GC實(shí)現(xiàn)過程原理解析

    這篇文章主要介紹了Spring boot GC實(shí)現(xiàn)過程原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java ShardingJDBC實(shí)戰(zhàn)演練

    Java ShardingJDBC實(shí)戰(zhàn)演練

    Sharding-JDBC 采用在 JDBC 協(xié)議層擴(kuò)展分庫分表,是一個(gè)以 jar 形式提供服務(wù)的輕量級(jí)組件,其核心思路是小而美地完成最核心的事情
    2021-11-11
  • Java String類的常用方法匯總

    Java String類的常用方法匯總

    這篇文章主要為大家詳細(xì)匯總了Java String類的常用方法,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Java最全文件操作實(shí)例匯總

    Java最全文件操作實(shí)例匯總

    這篇文章主要介紹了Java最全文件操作,總結(jié)分析了大量實(shí)例,詳細(xì)匯總了Java針對(duì)文件的各種常用操作,需要的朋友可以參考下
    2015-11-11
  • Java 刪除文件及文件夾刪除不了的解決

    Java 刪除文件及文件夾刪除不了的解決

    這篇文章主要介紹了Java 刪除文件及文件夾刪除不了的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

托克逊县| 策勒县| 元谋县| 安达市| 绿春县| 太白县| 南雄市| 密山市| 桃江县| 旌德县| 浦江县| 新龙县| 云阳县| 犍为县| 万源市| 清苑县| 平遥县| 盐山县| 景宁| 河间市| 缙云县| 姜堰市| 竹溪县| 渭南市| 庐江县| 马公市| 上饶市| 盐城市| 贵阳市| 克什克腾旗| 大庆市| 横山县| 太白县| 澳门| 新安县| 安阳县| 雅安市| 枣强县| 慈溪市| 镇平县| 涟源市|