zoukankan      html  css  js  c++  java
  • 关于【apache tomcat 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)

    转自:http://xiaotot.blog.163.com/blog/static/10546506720120954920485/

    最近在做web项目时,总是和 tomcat5.5 目录下面的

    /conf /Catalina/localhost这里面的关于项目的配置文件打交道。

    他具体是什么呢?

    从网上获取信息整理如下:

    (3)在 C:/Tomcat 5.5/webapps/下建立abc目录,在/CONF/CATALINA/LOCALHOST

           下建立文 件sxzlc.xml,sxzlc.xml文件内容如下:

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

    <Context path ="/sxzlc" docBase ="c:/workspace/abc/webapps"
            
    workDir =“ /workspace/abc/work ”  reloadable= "true" >

    </Context>

    path代表虚拟目录的名称,其实根本不用写,默认使用文件名作为虚拟目录名称

    docBase指定本地目录。

    如何部署web项目:

     

    (这是我之前一直使用的方法)

    1.  把这个web应用(是一个文件夹或一个war文件)拷贝到appbBase下,无需再在任何
        地方  写关于这个web应用的context,访问时按文件夹的 名字(或war文件的名字)
         就可访问。
     
    2.  把这个web应用放在除了appbase文件夹下的任何地方,然后写一个随便什么名字的xml
        文件(当然还是建议你写一个和应用同名的),放在安装目录 /server/conf/Catalina/
        你的host下,xml文件中要定义这个应用的访问路径path和物理路径docbase,访问时
        按照 path定义的路径来访问。
     
    (第三点是从网上查到的,没有实践过) 
    3.在Tomcat的server.xml文件中Host节点下添加:

       Context path="/wPoliceSeeker" docBase="C:/wPoliceSeeker/WebContent" />

    关于context的属性:

     

    backgroundProcessorDelay 这个值代表在context 及其子容器(包括所有的wrappers )上调用backgroundProcess 方法的延时,以秒为单位。如果延时值非负,子容器不会被调用,

    也就是说子容器使用自己的处理线程。如果该值为正,会创建一个新的线程。在等待指定的时间以后,该线程在主机及其 子容器上调用backgroundProcess 方法。context利用后台

    处理session 过期,监测类的变化用于重新载入。如果没有指定,该属性的缺省值是-1,说明context 依赖其所属的Host 的后台处理。


    className 
    实现的Java 类名。该类必须实现org.apache.catalina.Context 接口。如果没有指定,使用标准实现(在下面定义)。 
    cookies 
    如果想利用cookies 来传递session identifier (需要客户端支持cookies),设为ture 。否则为false ,这种情况下只能依靠URL Rewriting 传递session identifier 。

     

    crossContext 如果想在应用内调用ServletContext.getContext() 来返回在该虚拟主机上运行的其他web application 的request dispatcher, 设为true 。在安全性很重要的环境中

    ,设为false ,使得getContext() 总是返回null 。缺省值为false 。

     

    docBase web 应用的文档基准目录(Document Base ,也称为Context Root),或者是WAR 文件的路径。可以使用绝对路径,也可以使用相对于context 所属的Host 的appBase 路径。

     

    override 如果想利用该Context 元素中的设置覆盖DefaultContext 中相应的设置,设为true 。缺省情况下使用DefaultContext 中的设置。

    privileged 设为true ,允许context 使用container servlets ,比如manager servlet 。

    path web 应用的context 路径。catalina 将每个URL 的起始和context path 进行比较,选择合适的web 应用处理该请求。特定Host 下的context path 必须是惟一的。如果context path

    为空字符串("" ),这个context 是所属Host 的缺省web 应用, 用来处理不能匹配任何context path 的请求。

     

    reloadable 如果希望Catalina 监视/WEB-INF/classes/ 和/WEB-INF/lib 下面的类是否发生变化,在发生变化的时候自动重载web application ,设为true 。这个特征在开发阶段很有

    用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。但是,你可以使用Manager 应用在必要的时候触发应用的重载。 

    wrapperClass org.apache.catalina.Wrapper 实现类的名称,用于该Context 管理的servlets 。如果没有指定,使用标准的缺省值。

    标准实现


    Context
     的标准实现是org.apache.catalina.core.StandardContext.

    它还支持如下的附加属性:

    属性 描述 
    debug 
    与这个Engine 关联的Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0 。

    swallowOutput 如果该值为true ,System.out 和System.err 的输出被重定向到web 应用的logger 。如果没有指定,缺省值为false

    useNaming 如果希望Catalina 为该web 应用使能一个JNDI InitialContext 对象,设为true 。该InitialialContext 符合J2EE 平台的约定,缺省值为true 。

    workDir Context 提供的临时目录的路径,用于servlet 的临时读/ 写。利用javax.servlet.context.tempdir 属性,servlet 可以访问该目录。如果没有指定,使用

    $CATALINA_HOME/work 下一个合适的目录。

      嵌套组件 
    下列元素可以嵌套在Context 元素中,但每个元素至多只能嵌套一次。

     

    Loader -配置该web 应用用来加载servlet 和javabean 的类加载器。正常情况下,使用缺省的类加载器就足够了;


    L ogger 
    配置用来接收和处理所有日志消息的logger ,包括调用ServletContext.log() 函数记录的所有消息;

    Manager - 配置用于创建,销毁,维持HTTP session 的session manager. 正常情况下,使用缺省的session manager 配置就足够了;


    Realm 
    配置Realm ,该Realm 的用户数据库以及相关的角色仅用于这个特定的web 应用中。如果没有指定,该web 应用使用所属的Host 或Engine 的Realm 。


    Resources 
    配置用于访问与这个web 应用相关联的静态资源。正常情况下,使用缺省的resource manager 就足够了。

     

    专有特征

    访问日志 
    正常情况下,运行web 服务器会生成访问日志。访问日志以标准格式为每个请求输出一行信息。Catalina 包含一个可选的Valve 实现,可以用标准格式生成日志, 还可以使用任意定制

    的格式。

    通过在Engine ,Host 或者Context 中嵌套一个Valve 元素,Catalina 会为该容器处理的所有请求创建访问

    以上属性信息参考来自孙鑫老师的网站:(程序员之家论坛)

    http://www.sunxin.org/forum/thread/23206.html

  • 相关阅读:
    2017-2018-2 20179202《网络攻防技术》第一周作业
    《构建之法(第三版)》第四章
    《深入理解计算机系统(第三版)》第四章
    《文献管理与信息分析》第三章
    我们不一样
    linux centOS 7安装mysql 5.7.24
    centOS 8 使用dnf安装Docker
    centOS7服务器/dev/vda1空间100%,没有可用空间
    深刻理解 Docker 镜像大小
    使用linux docker环境打包Springboot jar包为docker镜像
  • 原文地址:https://www.cnblogs.com/wangpei/p/2916249.html
Copyright © 2011-2022 走看看