<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 60, comments - 116, trackbacks - 1, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    5. web.xml 配置

    5.1. 基本配置

       web.xml 采用 servlet2.4 規(guī)范,默認(rèn)配置了會(huì)話過(guò)期時(shí)間和網(wǎng)站首頁(yè)文件。

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app id="WebApp_ID" version="2.4"

    ?????? xmlns="http://java.sun.com/xml/ns/j2ee"

    ?????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    ?????? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    ?

    ??? <!-- 會(huì)話的時(shí)間 -->

    ? ??<session-config>

    ????????????? <session-timeout>30</session-timeout>

    ?????? </session-config>

    ?

    ?????? <!-- 歡迎頁(yè)面 -->

    ?????? <welcome-file-list>

    ????????????? <welcome-file>index.jsp</welcome-file>

    ?????? </welcome-file-list>

    ??????

    </web-app>

    5.2. 加載 spring 監(jiān)聽(tīng)

       在 web.xml 文件中加入如下配置:

    <!-- 設(shè)置環(huán)境變量,將 web 應(yīng)用根目錄存儲(chǔ)到環(huán)境變量中 -->

    <context-param>

    ??? <param-name>webAppRootKey</param-name>

    ??? <param-value>webapp.root</param-value>

    </context-param>?

    ?

    <!-- 設(shè)置環(huán)境變量指定 applicationContext.xml 配置文件 -->

    <context-param>

    ??? <param-name>contextConfigLocation</param-name>

    ??? <param-value>

    ??????? /WEB-INF/applicationContext.xml

    ??????? /WEB-INF/applicationContext-admin.xml

    ??????? /WEB-INF/applicationContext-quartz.xml

    ??? </param-value>

    </context-param>???

    ?

    <!-- 設(shè)置 context 的監(jiān)聽(tīng),啟動(dòng)時(shí)加載 applicationContext.xml 文件,初始化 applicationContext 實(shí)例 -->

    <listener>

    ??? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    5.3. Log4j 日志

       首先,在 web.xml 文件中加入如下配置:

    <!-- 設(shè)置環(huán)境變量指定 log4j 的配置文件 -->

    <context-param>

    ??? <param-name>log4jConfigLocation</param-name>

    ??? <param-value>/WEB-INF/log4j.properties</param-value>

    </context-param>

    ?

    <!-- 設(shè)置 log4j 的監(jiān)聽(tīng),使日志組件能夠使用,調(diào)用 log4jConfigLocation 中設(shè)置的環(huán)境變量 -->

    <listener>

    ??? <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

    </listener>

     log4j.properties 文件放在 /WEB-INF/ 目錄下, 文件內(nèi)容如下例,其中根日志級(jí)別為 warn ,而在包 cn.idtag 中的類(lèi)的日志級(jí)別為 info

    # 定義根日志的級(jí)別和輸出路徑 fatal, error, warn, info, debug

    log4j.rootCategory=warn, stdout, logfile

    ?

    # 在包 cn.idtag 中的類(lèi)的日志級(jí)別

    log4j.logger.cn.idtag=info

    ?

    # 日志輸出參數(shù)

    #%c: 日志信息所在類(lèi)名

    #%d: 日志信息產(chǎn)生時(shí)間

    #%p: 日志信息級(jí)別

    #%m: 產(chǎn)生的日志具體信息

    #%n: 輸出日志信息換行

    log4j.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %c%n%m%n%n

    ?

    # 控制臺(tái)輸出

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender

    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

    log4j.appender.stdout.layout.ConversionPattern=${log4j.ConversionPattern}

    ?

    # 日志文件輸出

    log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/log.txt

    log4j.appender.logfile.Append = true

    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

    log4j.appender.logfile.layout.ConversionPattern=${log4j.ConversionPattern}

    5.4. 解決中文亂碼

     在 web.xml 文件中加入如下配置,可以解決表單提交的編碼,不需要在每個(gè) *.jsp *.htm 等頁(yè)面上編寫(xiě)代碼“ <%@ page contentType="text/html; charset=gbk" language="java"%> ”了,并且為瀏覽器端設(shè)置的“ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ”代碼也不需要寫(xiě)了,瀏覽器會(huì)自動(dòng)識(shí)別,注意建立文件時(shí)一定要使用 UTF-8 字符集。

    <!-- 設(shè)置字符串過(guò)濾器,解決表單 Post 提交中的亂碼問(wèn)題 -->

    <filter>

    ??? <filter-name>characterEncoding</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>characterEncoding</filter-name>

    ??? <url-pattern>/*</url-pattern>

    </filter-mapping>

    ?

    <!-- 設(shè)置 jsp,htm,html 頁(yè)面的字符集,是否使用標(biāo)簽,是否使用 jsp 腳本等,頭尾載入頁(yè)面等 -->

    <jsp-config>

    ??? <jsp-property-group>

    ??????? <description> 指定 JSP 文件的配置屬性 </description>

    ??????? <display-name>jspConfiguration</display-name>

    ??????? <url-pattern>*.jsp</url-pattern>

    ??????? <el-ignored>false</el-ignored>

    ??????? <page-encoding>utf-8</page-encoding>

    ??????? <scripting-invalid>false</scripting-invalid>

    ??????? <include-prelude></include-prelude>

    ??????? <include-coda></include-coda>

    ??? </jsp-property-group>

    ?

    ??? <jsp-property-group>

    ??????? <description> 指定 htm 文件的配置屬性 </description>

    ??????? <display-name>jspConfiguration</display-name>

    ??????? <url-pattern>*.htm</url-pattern>

    ??????? <el-ignored>false</el-ignored>

    ??????? <page-encoding>utf-8</page-encoding>

    ??????? <scripting-invalid>false</scripting-invalid>

    ??????? <include-prelude></include-prelude>

    ??????? <include-coda></include-coda>

    ??? </jsp-property-group>

    ?

    ??? <jsp-property-group>

    ??????? <description> 指定 html 文件的配置屬性 </description>

    ??????? <display-name>jspConfiguration</display-name>

    ??????? <url-pattern>*.html</url-pattern>

    ??????? <el-ignored>false</el-ignored>

    ??????? <page-encoding>utf-8</page-encoding>

    ??????? <scripting-invalid>false</scripting-invalid>

    ??????? <include-prelude></include-prelude>

    ??????? <include-coda></include-coda>

    ??? </jsp-property-group>

    ?

    </jsp-config>

     如果應(yīng)用服務(wù)器是 Tomcat ,編輯 Tomcat 根目錄下的“ /conf/server.xml ”文件,找到 Connector 配置部分,在配置結(jié)尾加入“ URIEncoding="utf-8" ”:

    <Connector port="8080" maxThreads="150" …… disableUploadTimeout="true"/>

    改為:

    <Connector port="8080" maxThreads="150" …… disableUploadTimeout="true" URIEncoding="UTF-8"/>

     可解決系統(tǒng)內(nèi)部 GET 方法傳遞中文字符參數(shù)的亂碼問(wèn)題,但是在外部 URL 請(qǐng)求中參數(shù)值帶有中文的,必須使用 URLEncode 編碼。

    5.5. 配置 servlet

     在 web.xml 文件中配置 servlet 請(qǐng)求路徑和實(shí)現(xiàn)類(lèi):

    <servlet>

    ??? <servlet-name>sendSms</servlet-name>

    ??? <servlet-class>cn.idtag.test.servlet.SendSmsServlet</servlet-class>

    </servlet>

    <servlet-mapping>

    ??? <servlet-name>sendSms</servlet-name>

    ??? <url-pattern>/servlet/sendsms</url-pattern>

    </servlet-mapping>

     而 SendSmsServlet.java 文件需要繼承 HttpServlet 類(lèi),如果 response 要輸出內(nèi)容并包含非英文字符,要設(shè)置輸出的字符集為 UTF-8

    package cn.idtag.test.servlet;

    ?

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.ServletException;

    import java.io.IOException;

    ?

    public class SendSmsServlet extends HttpServlet

    {

    ??? public void doGet(HttpServletRequest request, HttpServletResponse response)

    ??????????? throws ServletException, IOException

    {

    ??????? response.setContentType("text/html;charset=utf-8");

    ??????? PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "utf-8"));

    ??????? try

    ??????? {

    ??????? //do something…

    ??????? } finally

    ??????? {

    ??????????? out.close();

    ??????? }

    ??? }

    ?

    ??? public void doPost(HttpServletRequest request, HttpServletResponse response)

    ??????????? throws ServletException, IOException

    ?? ?{

    ??????? doGet(request, response);

    ??? }

    }


    主站蜘蛛池模板: 少妇中文字幕乱码亚洲影视| 国产亚洲人成A在线V网站| 亚洲黄色网址在线观看| 精品视频一区二区三区免费| 国产亚洲av人片在线观看| 边摸边脱吃奶边高潮视频免费| 日本媚薬痉挛在线观看免费| 亚洲av永久无码一区二区三区| 午夜一级免费视频| 美女被爆羞羞网站在免费观看| www亚洲一级视频com| 九九热久久免费视频| 亚洲国产第一站精品蜜芽| 免费av片在线观看网站| 亚洲福利秒拍一区二区| 无码人妻久久一区二区三区免费丨| 亚洲AV综合色区无码二区爱AV| 女性自慰aⅴ片高清免费| 精品亚洲av无码一区二区柚蜜| 免费a级毛片在线观看| 中文字幕免费在线看| 亚洲精品自产拍在线观看动漫| 4hu四虎最新免费地址| 亚洲高清国产拍精品熟女| 亚洲高清偷拍一区二区三区| 182tv免费视频在线观看 | 永久免费的网站在线观看| 亚洲高清乱码午夜电影网| 77777亚洲午夜久久多人| 少妇无码一区二区三区免费| 亚洲国产日韩精品| 亚洲精品动漫人成3d在线| 免费人成视频在线观看网站| 亚洲一区二区三区在线观看网站| 免费大黄网站在线看| 一级毛片免费观看不卡视频| 亚洲国产精品无码观看久久| 久久精品九九亚洲精品天堂| 亚洲精品免费网站| 9i9精品国产免费久久| 亚洲人成人77777在线播放|