大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

Tomcat 默認 Servlet

什么是 DefaultSevelet

DefaultSevelet 是處理靜態資源的 Sevelet。

在什么位置聲明它?

它在 $CATALINA_HOME/conf/web.xml 中被全局聲明。默認形式的聲明是這樣的: $CATALINA_HOME/conf/web.xml

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.DefaultServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

...

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

因此在默認的情況下,默認 servlet 在 Web 應用啟動時被裝載,目錄列表可被使用,日志調試功能被關掉。

What can I Change?

DefaultServlet 允許設置以下初始化參數:

屬性

描述

debug

調試級別。如果不是 tomcat 開發人員,則沒有什么太大的用處。截止本文寫作時,有用的值是 0、1、11、1000。默認值為 0

listings

如果沒有歡迎文件,要不要顯示目錄列表?值可以是true 或 false。
歡迎文件是servlet api的一部分。
警告:目錄列表中含有的很多項目都是非常消耗服務性能的,如果對大型目錄列表多次進行請求,會嚴重消耗服務器資源。

gzip

如果某個文件存在gzip格式的文件(帶有gz后綴名的文件通常就在原始文件旁邊)。如果用戶代理支持 gzip 格式,并且啟用了該選項,Tomcat 就會提供該格式文件的服務。默認為 false。
如果直接請求帶有 gz 后綴名的文件,是可以訪問它們的,所以如果原始資源受安全挾制的保護,則 gzip 文件也同樣是受保護的。

readmeFile

如果提供了目錄列表,那么可能也會提供隨帶的 readme 文件。這個文件是被插入的,因此可能會包含 HTML。默認值是null。

globalXsltFile

如果你希望自定義目錄列表,你可以使用一個 XSL 轉換(transformation)。這個值是一個可用于所有目錄列表的相對路徑文件名(既相對于 CATALINA_BASE/conf/ 也相對于 $CATALINA_HOME/conf/)。》這可以每個上下文或每一目錄》可參看下面介紹的 contextXsltFile 和 localXsltFile。該 xml 文件的格式會在下文介紹。

contextXsltFile

你可以通過contextXsltFile 來自定義你的目錄列表。這必須是一個上下文相對路徑(例如:/path/to/context.xslt),相對于帶有 .xsl 或 .xslt 擴展名的文件。它將覆蓋 globalXsltFile。如果提供了該值,但相對文件卻不存在,則將使用 globalXsltFile。如果 globalXsltFile 也不存在,則顯示默認的目錄列表。

localXsltFile

你還可以在每個目錄通過配置 localXsltFile 定制你的目錄列表。它應該是在產生列表的目錄里的一個相對路徑文件名。它覆蓋 globalXsltFile 和 contextXsltFile。如果該值存在,但是文件不存在,那么就使用 contextXsltFile。如果contextXsltFile 也不存在,那么就會使用 globalXsltFile。如果 globalXsltFile 也不存在,那么默認的目錄列表就會被顯示出來。

input

在讀取用于服務的資源時的輸入緩沖大小(以字節計)。默認為 2048。

output

在修改用于服務的資源時的輸出緩沖大小(以字節計)。默認為 2048。

readonly

上下文是否為“只讀”,從而拒絕執行 PUT 或 DELETE 這樣的 HTTP 命令。默認為 true。

fileEncoding

文件編碼用于讀取靜態資源時。默認取平臺默認值。

sendfileSize

如果所用的連接器支持 sendfile,這個參數表示所用的 sendfile 最小的文件大小(以 KB 計)。使用負數往往表示可以禁止使用 sendfile。默認為 48。

useAcceptRanges

如果為 true,則將設置 Accept-Ranges 報頭,在適于響應時。

showServerInfo

當使用目錄列表,服務器信息是否應該提供給發往客戶端的響應中。默認為 true。

我該如何自定義目錄列表

你可以用自定義實現來覆蓋 DefaultServlet,并將它用在 web.xml 聲明中。如果你能明白剛才所說的是什么意思,我們就認為你能讀懂 DefaultServlet 的代碼并作出適當的調整。(如果不能明白,則說明這種方式不適合你。)

localXsltFile 或 globalXsltFile

格式如下:

<listing>
     <entries>
      <entry type='file|dir' urlPath='aPath' size='###' date='gmt date'>
        fileName1
      </entry>
      <entry type='file|dir' urlPath='aPath' size='###' date='gmt date'>
        fileName2
      </entry>
      ...
     </entries>
     <readme></readme>
    </listing>
  • 如果 type = 'dir',則 size 丟失。
  • Readme 是一個 CDATA 項。

下面是一個能夠模仿 Tomcat 默認行為的范例 xsl 文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="3.0">
  <xsl:output method="html" html-version="5.0"
    encoding="UTF-8" indent="no"
    doctype-system="about:legacy-compat"/>
  <xsl:template match="listing">
   <html>
    <head>
      <title>
        Sample Directory Listing For
        <xsl:value-of select="@directory"/>
      </title>
      <style>
        h1 {color : white;background-color : #0086b2;}
        h3 {color : white;background-color : #0086b2;}
        body {font-family : sans-serif,Arial,Tahoma;
             color : black;background-color : white;}
        b {color : white;background-color : #0086b2;}
        a {color : black;} HR{color : #0086b2;}
        table td { padding: 5px; }
      </style>
    </head>
    <body>
      <h1>Sample Directory Listing For
            <xsl:value-of select="@directory"/>
      </h1>
      <hr style="height: 1px;" />
      <table style="width: 100%;">
        <tr>
          <th style="text-align: left;">Filename</th>
          <th style="text-align: center;">Size</th>
          <th style="text-align: right;">Last Modified</th>
        </tr>
        <xsl:apply-templates select="entries"/>
        </table>
      <xsl:apply-templates select="readme"/>
      <hr style="height: 1px;" />
      <h3>Apache Tomcat/<version-major-minor/></h3>
    </body>
   </html>
  </xsl:template>

  <xsl:template match="entries">
    <xsl:apply-templates select="entry"/>
  </xsl:template>

  <xsl:template match="readme">
    <hr style="height: 1px;" />
    <pre><xsl:apply-templates/></pre>
  </xsl:template>

  <xsl:template match="entry">
    <tr>
      <td style="text-align: left;">
        <xsl:variable name="urlPath" select="@urlPath"/>
        <a href="{$urlPath}">
          <pre><xsl:apply-templates/></pre>
        </a>
      </td>
      <td style="text-align: right;">
        <pre><xsl:value-of select="@size"/></pre>
      </td>
      <td style="text-align: right;">
        <pre><xsl:value-of select="@date"/></pre>
      </td>
    </tr>
  </xsl:template>
</xsl:stylesheet>

如何保證目錄列表的安全性

在每一個單獨的 Web 應用中使用 web.xml。可查看 Servlet 規范的安全性部分的內容。

全部教程
主站蜘蛛池模板: 欧美在线成人免费国产 | 午夜精品久久久久久久99 | 日韩中文字幕在线观看视频 | 天天夜干 | 国产欧美在线观看 | 久久视热这只是精品222 | 色吧五月婷婷 | 玖玖爱免费 | 欧美影院一区二区 | 午夜在线社区视频 | 国产色网址 | 国产精品亚洲综合 | 特黄特级a级黄毛片免费观看多人 | www.夜夜操 | 黄色毛片小视频 | 中文字幕亚洲综合久久202 | 欧美一级爱爱视频 | 亚洲视频在线免费观看 | 国产精品久久久久精 | 日本中文字幕一区二区 | 精品视频一区二区三区在线播放 | 在线观看欧美视频 | 国产欧美精品专区一区二区 | 69午夜| 欧美成人怡红院在线观看 | 四虎永久免费观看紧急入口 | 中文国产成人精品久久无广告 | 青久草视频 | 欧美专区在线观看 | 日韩成a人片在线观看日本 日韩成人 | 啪啪免费网站入口链接 | 一区二区高清视频 | 日本一区二区免费视频 | 亚洲高清二区 | 日本黄色aa | 久久天天躁狠狠躁夜夜躁 | 日韩欧美在线播放视频 | 亚洲另类视频在线观看 | 国产成人在线视频观看 | 五月激情六月婷婷 | 五月天婷婷在线观看高清 |