<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Spring MVC的web.xml配置詳解(轉(zhuǎn))

      1、spring 框架解決字符串編碼問(wèn)題:過(guò)濾器 CharacterEncodingFilter(filter-name)
      2、在web.xml配置監(jiān)聽(tīng)器ContextLoaderListener(listener-class)
      ContextLoaderListener的作用就是啟動(dòng)Web容器時(shí),自動(dòng)裝配ApplicationContext的配置信息。因?yàn)樗鼘?shí)現(xiàn)了ServletContextListener這個(gè)接口,在web.xml配置這個(gè)監(jiān)聽(tīng)器,啟動(dòng)容器時(shí),就會(huì)默認(rèn)執(zhí)行它實(shí)現(xiàn)的方法。
      3、部署applicationContext的xml文件:contextConfigLocation(context-param下的param-name)
      4、DispatcherServlet是前置控制器,配置在web.xml文件中的。攔截匹配的請(qǐng)求,Servlet攔截匹配規(guī)則要自已定義,把攔截下來(lái)的請(qǐng)求,依據(jù)某某規(guī)則分發(fā)到目標(biāo)Controller(我們寫(xiě)的Action)來(lái)處理。
      DispatcherServlet(servlet-name、servlet-class、init-param、param-name(contextConfigLocation)、param-value)
      在DispatcherServlet的初始化過(guò)程中,框架會(huì)在web應(yīng)用的 WEB-INF文件夾下尋找名為[servlet-name]-servlet.xml 的配置文件,生成文件中定義的bean

      <?xml version="1.0" encoding="UTF-8"?>  
      <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"  
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
      
          <!-- 在Spring框架中是如何解決從頁(yè)面?zhèn)鱽?lái)的字符串的編碼問(wèn)題的呢?
          下面我們來(lái)看看Spring框架給我們提供過(guò)濾器CharacterEncodingFilter  
           這個(gè)過(guò)濾器就是針對(duì)于每次瀏覽器請(qǐng)求進(jìn)行過(guò)濾的,然后再其之上添加了父類(lèi)沒(méi)有的功能即處理字符編碼。  
            其中encoding用來(lái)設(shè)置編碼格式,forceEncoding用來(lái)設(shè)置是否理會(huì) request.getCharacterEncoding()方法,設(shè)置為true則強(qiáng)制覆蓋之前的編碼格式。-->  
          <filter>  
              <filter-name>characterEncodingFilter</filter-name>  
              <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
              <init-param>  
                  <param-name>encoding</param-name>  
                  <param-value>UTF-8</param-value>  
              </init-param>  
              <init-param>  
                  <param-name>forceEncoding</param-name>  
                  <param-value>true</param-value>  
              </init-param>  
          </filter>  
          <filter-mapping>  
              <filter-name>characterEncodingFilter</filter-name>  
              <url-pattern>/*</url-pattern>  
          </filter-mapping>  
          <!-- 項(xiàng)目中使用Spring 時(shí),applicationContext.xml配置文件中并沒(méi)有BeanFactory,要想在業(yè)務(wù)層中的class 文件中直接引用Spring容器管理的bean可通過(guò)以下方式-->  
          <!--1、在web.xml配置監(jiān)聽(tīng)器ContextLoaderListener-->  
          <!--ContextLoaderListener的作用就是啟動(dòng)Web容器時(shí),自動(dòng)裝配ApplicationContext的配置信息。因?yàn)樗鼘?shí)現(xiàn)了ServletContextListener這個(gè)接口,在web.xml配置這個(gè)監(jiān)聽(tīng)器,啟動(dòng)容器時(shí),就會(huì)默認(rèn)執(zhí)行它實(shí)現(xiàn)的方法。  
          在ContextLoaderListener中關(guān)聯(lián)了ContextLoader這個(gè)類(lèi),所以整個(gè)加載配置過(guò)程由ContextLoader來(lái)完成。  
          它的API說(shuō)明  
          第一段說(shuō)明ContextLoader可以由 ContextLoaderListener和ContextLoaderServlet生成。  
          如果查看ContextLoaderServlet的API,可以看到它也關(guān)聯(lián)了ContextLoader這個(gè)類(lèi)而且它實(shí)現(xiàn)了HttpServlet這個(gè)接口  
          第二段,ContextLoader創(chuàng)建的是 XmlWebApplicationContext這樣一個(gè)類(lèi),它實(shí)現(xiàn)的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->  
          BeanFactory這樣一來(lái)spring中的所有bean都由這個(gè)類(lèi)來(lái)創(chuàng)建  
           IUploaddatafileManager uploadmanager = (IUploaddatafileManager)    ContextLoaderListener.getCurrentWebApplicationContext().getBean("uploadManager");
           -->  
          <listener>  
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
          </listener>  
          <!--2、部署applicationContext的xml文件-->  
          <!--如果在web.xml中不寫(xiě)任何參數(shù)配置信息,默認(rèn)的路徑是"/WEB-INF/applicationContext.xml,  
          在WEB-INF目錄下創(chuàng)建的xml文件的名稱(chēng)必須是applicationContext.xml。  
          如果是要自定義文件名可以在web.xml里加入contextConfigLocation這個(gè)context參數(shù):  
          在<param-value> </param-value>里指定相應(yīng)的xml文件名,如果有多個(gè)xml文件,可以寫(xiě)在一起并以“,”號(hào)分隔。  
          也可以這樣applicationContext-*.xml采用通配符,比如這那個(gè)目錄下有applicationContext-ibatis-base.xml,  
          applicationContext-action.xml,applicationContext-ibatis-dao.xml等文件,都會(huì)一同被載入。  
          在ContextLoaderListener中關(guān)聯(lián)了ContextLoader這個(gè)類(lèi),所以整個(gè)加載配置過(guò)程由ContextLoader來(lái)完成。-->  
          <context-param>  
              <param-name>contextConfigLocation</param-name>  
              <param-value>classpath:spring/applicationContext.xml</param-value>  
          </context-param>  
      
          <!--如果你的DispatcherServlet攔截"/",為了實(shí)現(xiàn)REST風(fēng)格,攔截了所有的請(qǐng)求,那么同時(shí)對(duì)*.js,*.jpg等靜態(tài)文件的訪問(wèn)也就被攔截了。-->  
          <!--方案一:激活Tomcat的defaultServlet來(lái)處理靜態(tài)文件-->  
          <!--要寫(xiě)在DispatcherServlet的前面, 讓 defaultServlet先攔截請(qǐng)求,這樣請(qǐng)求就不會(huì)進(jìn)入Spring了,我想性能是最好的吧。-->  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.css</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.swf</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.gif</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.jpg</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.png</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.js</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.html</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.xml</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.json</url-pattern>  
          </servlet-mapping>  
          <servlet-mapping>  
              <servlet-name>default</servlet-name>  
              <url-pattern>*.map</url-pattern>  
          </servlet-mapping>  
          <!--使用Spring MVC,配置DispatcherServlet是第一步。DispatcherServlet是一個(gè)Servlet,,所以可以配置多個(gè)DispatcherServlet-->  
          <!--DispatcherServlet是前置控制器,配置在web.xml文件中的。攔截匹配的請(qǐng)求,Servlet攔截匹配規(guī)則要自已定義,把攔截下來(lái)的請(qǐng)求,依據(jù)某某規(guī)則分發(fā)到目標(biāo)Controller(我們寫(xiě)的Action)來(lái)處理。-->  
          <servlet>  
              <servlet-name>DispatcherServlet</servlet-name><!--在DispatcherServlet的初始化過(guò)程中,框架會(huì)在web應(yīng)用的 WEB-INF文件夾下尋找名為[servlet-name]-servlet.xml 的配置文件,生成文件中定義的bean。-->  
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
              <!--指明了配置文件的文件名,不使用默認(rèn)配置文件名,而使用dispatcher-servlet.xml配置文件。-->  
              <init-param>  
                  <param-name>contextConfigLocation</param-name>  
                  <!--其中<param-value>**.xml</param-value> 這里可以使用多種寫(xiě)法-->  
                  <!--1、不寫(xiě),使用默認(rèn)值:/WEB-INF/<servlet-name>-servlet.xml-->  
                  <!--2、<param-value>/WEB-INF/classes/dispatcher-servlet.xml</param-value>-->  
                  <!--3、<param-value>classpath*:dispatcher-servlet.xml</param-value>-->  
                  <!--4、多個(gè)值用逗號(hào)分隔-->  
                  <param-value>classpath:spring/dispatcher-servlet.xml</param-value>  
              </init-param>  
              <load-on-startup>1</load-on-startup><!--是啟動(dòng)順序,讓這個(gè)Servlet隨Servletp容器一起啟動(dòng)。-->  
          </servlet>  
          <servlet-mapping>  
              <!--這個(gè)Servlet的名字是dispatcher,可以有多個(gè)DispatcherServlet,是通過(guò)名字來(lái)區(qū)分的。每一個(gè)DispatcherServlet有自己的WebApplicationContext上下文對(duì)象。同時(shí)保存的ServletContext中和Request對(duì)象中.-->  
              <!--ApplicationContext是Spring的核心,Context我們通常解釋為上下文環(huán)境,我想用“容器”來(lái)表述它更容易理解一些,ApplicationContext則是“應(yīng)用的容器”了:P,Spring把Bean放在這個(gè)容器中,在需要的時(shí)候,用getBean方法取出-->  
              <servlet-name>DispatcherServlet</servlet-name>  
              <!--Servlet攔截匹配規(guī)則可以自已定義,當(dāng)映射為@RequestMapping("/user/add")時(shí),為例,攔截哪種URL合適?-->  
              <!--1、攔截*.do、*.htm, 例如:/user/add.do,這是最傳統(tǒng)的方式,最簡(jiǎn)單也最實(shí)用。不會(huì)導(dǎo)致靜態(tài)文件(jpg,js,css)被攔截。-->  
              <!--2、攔截/,例如:/user/add,可以實(shí)現(xiàn)現(xiàn)在很流行的REST風(fēng)格。很多互聯(lián)網(wǎng)類(lèi)型的應(yīng)用很喜歡這種風(fēng)格的URL。弊端:會(huì)導(dǎo)致靜態(tài)文件(jpg,js,css)被攔截后不能正常顯示。 -->  
              <url-pattern>/</url-pattern> <!--會(huì)攔截URL中帶“/”的請(qǐng)求。-->  
          </servlet-mapping>  
      
          <welcome-file-list><!--指定歡迎頁(yè)面-->  
              <welcome-file>login.html</welcome-file>  
          </welcome-file-list>  
          <error-page> <!--當(dāng)系統(tǒng)出現(xiàn)404錯(cuò)誤,跳轉(zhuǎn)到頁(yè)面nopage.html-->  
              <error-code>404</error-code>  
              <location>/nopage.html</location>  
          </error-page>  
          <error-page> <!--當(dāng)系統(tǒng)出現(xiàn)java.lang.NullPointerException,跳轉(zhuǎn)到頁(yè)面error.html-->  
              <exception-type>java.lang.NullPointerException</exception-type>  
              <location>/error.html</location>  
          </error-page>  
          <session-config><!--會(huì)話超時(shí)配置,單位分鐘-->  
              <session-timeout>360</session-timeout>  
          </session-config>  
      </web-app>

       

       
      posted @ 2017-03-23 15:28  飛雷神  閱讀(202)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲AVAV天堂AV在线网阿V| 国产精品男女午夜福利片| 亚洲国产成人片在线观看无码| 干老熟女干老穴干老女人| 亚洲高清免费在线观看| 我要看亚洲黄色太黄一级黄| 久久综合亚洲鲁鲁九月天| 欧美成本人视频免费播放| 久久天天躁狠狠躁夜夜躁2012| 亚洲一区在线成人av| 亚洲精品亚洲人成在线| 欧美黑人又粗又大又爽免费| 深田えいみ禁欲后被隔壁人妻| 一本久道中文无码字幕av | 人成午夜免费大片| 国产啪视频免费观看视频| 猫咪网网站免费观看| 久久永久视频| 精品国产一区二区三区av片| 亚洲熟妇乱色一区二区三区| 酒泉市| 亚洲香蕉伊综合在人在线| 啊┅┅快┅┅用力啊岳网站| 丝袜a∨在线一区二区三区不卡 | 麻豆精产国品一二三区区| 男女性高爱潮免费网站| 中国china体内裑精亚洲日本| 亚洲一区二区三区自拍偷拍| 最新国产精品亚洲| 舟山市| 亚洲人成亚洲人成在线观看| 久久人人97超碰爱香蕉| 精品国产一区二区三区香蕉| 国产自国产自愉自愉免费24区| 开心五月激情综合久久爱| 日本久久久免费高清| 樱桃视频影院在线播放| 成人亚欧欧美激情在线观看| 亚洲欧美一区二区三区在线| 久久综合伊人| 日韩精品人妻中文字幕|