CATALINA_HOME/conf/web.xml

本文介绍了Tomcat中常用的DefaultServlet和JspServlet。DefaultServlet用于处理Servlet,缺省情况下在web应用启动时加载,目录列表打开,调试开关关闭;JspServlet由Jasper用特定类实现,用于编译Jsp文件,其初始化参数已配置好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$CATALINA_HOME/conf/web.xml

先介绍两种在tomcat中经常要用到的:DefaultServletJspServlet 。前者为处理Servlet后者为编译Jsp文件。 

DefaultServlet

<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>true</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>

 

 

因此缺省情况下,default servletweb应用启动的时候加载,目录列表是打开的,调试开关关闭。

DefaultServlet 允许下面的初始化参数:

debug 

 调试级别。除非你是tomcat开发员,否则这个参数没什么用。到写这篇文档为止,有用的值为01111000

 listings

 如果没有欢迎文件(通常是index文件),是否允许目录被列表。值为truefalse。欢迎文件是servlet api的一部分。

 readmeFile

 如果出现了目录列表,readme文件也将出现在列表中。这个文件可以包含HTML。缺省值为null

 globalXsltFile

 如果你想自己定义目录列表,你可以使用XSL transformation(转型语言)。这个值是一个给所有目录列表使用的绝对文件名。但每个web应用也可以通过在自己的web.xml中声明default servletxml的格式下面会有。

 localXsltFile

 你也可以通过对目录配置localXsltFile来自己定义目录列表。它在将要列表的目录中是一个相对文件名,重载globalXsltFile。如果这个参数赋了值而文件不存在,则使用globalXsltFile参数的定义。如果globalXsltFile文件也不存在,则显示缺省列表。

 input

 当读取要适合的资源时的输入缓冲区(按字节)。[2048]

 output

 写资源的输出缓冲区。[2048]

 readonly

 当为真时,将拒绝HTTP指令PUTDELETE[true]

 

 

JspServlet

Jasperclass org.apache.jasper.servlet.JspServlet实现。

初始化参数被配置好了。

<servlet>

     <servlet-name>jsp</servlet-name>

     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

     <init-param>

          <param-name>logVerbosityLevel</param-name>

          <param-value>WARNING</param-value>

      </init-param>

      <init-param>

          <param-name>fork</param-name>

          <param-value>false</param-value>

      </init-param>

      <load-on-startup>3</load-on-startup>

</servlet>

 

 

<servlet-mapping>

        <servlet-name>jsp</servlet-name>

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

</servlet-mapping>

 

 

checkInterval 

如果"development"属性为false"reloading"true,则使用后台编译。"checkInterval"是查看JSP页面是否需要重新编译的两次检查时间间隔(单位:秒)。缺省值为300

 compiler

Ant将要使用的JSP页面编译器。请查阅Ant文档获得更多信息。缺省为javac

classdebuginfo

编译成class文件时是否附带调试信息。缺省为true

classpath

编译servlet时要使用的class path,缺省情况下,该路径基于你当前的web应用动态生成。

development

是否让Jasper使用开发模式(这将在每次访问时都检查JSP的修改情况)。缺省为true

enablePooling 

决定是否共享标签处理器。缺省为true

ieClassId

当使用<jsp:plugin>标签时,将要发送给Internet Explorerdclass-id的值。缺省为:8AD 9C840-044E-11D1-B3E9 -00805F499D93

 fork

可以在多个JVM上执行AntJSP的编译。缺省为true

javaEncoding

java源文件采用的字符编码。缺省为UTF-8

 keepgenerated

是否保存每个页面生成的java源代码,而不删除。缺省为true

largefile

是否将JSP页面的静态内容保存在外部数据文件中,以减少生成的servlet尺寸。缺省为false

mappedfile

是否对每个输入行都用一条print语句来生成静态内容,以方便调试。缺省为true

reloading

是否让Jasper检查修改过的JSP页面。缺省为true

scratchdir

当编译JSP页面时使用的临时目录。缺省为当前web应用的work目录。

trimSpaces

是否去掉模板文本中行为和指令之间的空格。缺省为false

参考文章:

http://ndog.blogchina.com/226109.html

http://ndog.blogchina.com/224657.html

### Tomcat `web.xml` 配置说明 #### 文件位置与作用范围 在Tomcat环境中,存在两个不同层次的`web.xml`文件。全局级别的`web.xml`位于 `$CATALINA_HOME/conf/` 目录下,用于定义默认设置;而应用级别的则放置于各个Web应用程序下的`WEB-INF/`目录内,专门针对特定的应用程序进行个性化配置[^1]。 #### 关键元素解析 - **<servlet> 和 <servlet-mapping>** 这些标签用来映射URL模式到具体的Servlet类上。例如: ```xml <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>com.example.HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> ``` - **<session-config>** 此部分可以设定会话超时时间以及其他有关HTTP Session的行为参数: ```xml <session-config> <!-- 设置会话过期时间为30分钟 --> <session-timeout>30</session-timeout> </session-config> ``` - **安全约束 (<security-constraint>)** 可以通过该标签实现基于角色的安全控制机制, 对某些资源实施访问权限管理: ```xml <security-constraint> <display-name>Example Security Constraint</display-name> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <description>An example security constraint</description> <url-pattern>/admin/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>manager</role-name> </auth-constraint> </security-constraint> ``` 为了防止敏感信息暴露,在实际生产环境中的`web.xml`应当被妥善保护起来不对外公开访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值