麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

Spring MVC之DispatcherServlet_動力節點Java學院整理

2024-09-05 00:23:20
字體:
來源:轉載
供稿:網友

Spring MVC之DispatcherServlet

使用Spring MVC,配置DispatcherServlet是第一步。

DispatcherServlet是一個Servlet,所以可以配置多個DispatcherServlet。

DispatcherServlet是前置控制器,配置在web.xml文件中的。攔截匹配的請求,Servlet攔截匹配規則要自已定義,把攔截下來的請求,依據某某規則分發到目標Controller(我們寫的Action)來處理。 

“某某規則”:是根據你使用了哪個HandlerMapping接口的實現類的不同而不同。 

先來看第一個例子:

<web-app>      <servlet>          <servlet-name>example</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>          <load-on-startup>1</load-on-startup>      </servlet>      <servlet-mapping>          <servlet-name>example</servlet-name>          <url-pattern>*.form</url-pattern>      </servlet-mapping>  </web-app>  

 <load-on-startup>1</load-on-startup>是啟動順序,讓這個Servlet隨Servletp容器一起啟動。
 <url-pattern>*.form</url-pattern> 會攔截*.form結尾的請求。 

 <servlet-name>example</servlet-name>這個Servlet的名字是example,可以有多個DispatcherServlet,是通過名字來區分的。每一個DispatcherServlet有自己的WebApplicationContext上下文對象。同時保存的ServletContext中和Request對象中,關于key,以后說明。 

在DispatcherServlet的初始化過程中,框架會在web應用的 WEB-INF文件夾下尋找名為[servlet-name]-servlet.xml 的配置文件,生成文件中定義的bean。 

第二個例子:

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

指明了配置文件的文件名,不使用默認配置文件名,而使用springMVC.xml配置文件。

其中<param-value>**.xml</param-value> 這里可以使用多種寫法

1、不寫,使用默認值:/WEB-INF/<servlet-name>-servlet.xml
2、<param-value>/WEB-INF/classes/springMVC.xml</param-value>
3、<param-value>classpath*:springMVC-mvc.xml</param-value>
4、多個值用逗號分隔 

Servlet攔截匹配規則可以自已定義,攔截哪種URL合適? 

當映射為@RequestMapping("/user/add")時,為例:

1、攔截*.do、*.htm, 例如:/user/add.do

這是最傳統的方式,最簡單也最實用。不會導致靜態文件(jpg,js,css)被攔截。 

2、攔截/,例如:/user/add

可以實現現在很流行的REST風格。很多互聯網類型的應用很喜歡這種風格的URL。
弊端:會導致靜態文件(jpg,js,css)被攔截后不能正常顯示。想實現REST風格,事情就是麻煩一些。后面有解決辦法還算簡單。 

3、攔截/*,這是一個錯誤的方式,請求可以走到Action中,但轉到jsp時再次被攔截,不能訪問到jsp。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美中文字幕一区二区 | 国产无遮挡一区二区三区毛片日本 | 亚洲精品无码不卡在线播放he | 国产九九九九 | 国产羞羞视频在线免费观看 | 亚洲片在线 | 草草在线视频 | 黄色片观看 | 国产一极毛片 | 伊人久久电影网 | 久久亚洲春色中文字幕久久 | 亚洲综合视频网 | 午夜视频在线观看免费视频 | 在线播放免费人成毛片乱码 | 欧美a级在线免费观看 | 黄色1级视频 | 免费观看黄色一级视频 | 羞羞视频入口 | 性欧美视频在线观看 | 国产手机在线视频 | 欧美性视频一区二区 | 欧美精品亚洲人成在线观看 | 黄色特级大片 | 调教小男生抽打尿孔嗯啊视频 | 在线看毛片的网站 | 成人毛片网站 | 亚洲欧美天堂 | 视频一区国产精品 | 中文欧美日韩 | 91av在线免费 | 成人免费看毛片 | 成人毛片网站 | 九九热精品视频在线播放 | 四季久久免费一区二区三区四区 | 韩国精品久久久 | 97超视频在线观看 | 91成人精品 | 亚洲午夜精品视频 | 激情97| 麻豆91精品91久久久 | 国产福利视频在线观看 |