2017-01-02 62 views
0

我对Tomcat中的连接器进行了一些配置。配置在server.xml完成。但是,不建议直接编辑此文件。所以我的问题是,我可以把我的配置放在其他地方吗?例如,我有一个自定义的context.xml,我已经放置了我的资源配置。该文件中的设置将覆盖默认的context.xmlTomcat 8:在自定义文件中配置连接器

这可以以同样的方式完成,但对于连接器?

+0

是什么让你说不建议直接编辑'server.xml'? –

+0

根据Tomcat文档,为应用程序上下文设置应放在: - 在以/META-INF/context.xml 单个文件 - 在单个文件(带有名为“.xml”扩展名)在$ CATALINA_BASE/conf/[enginename]/[hostname]/directory - 在conf/server.xml主文件中的主机元素内 不建议将元素直接放在server.xml文件中。 但是,这个建议是针对上下文元素的。是否有可能在单个文件中放置元素? – Paul

回答

0

A <Connector>不是特定于应用程序的。将<Connector>直接放在Tomcat的conf/server.xml文件中是完全合适的。这就是Tomcat附带的stock server.xml文件包含连接器的原因。

为了回答这个问题,最初的措辞是,Tomcat没有明确的机制在conf/server.xml中包含“额外”文件,但是您可以使用XML机制来实现它。

我不会推荐这种技术,因为它需要您的服务器启用外部实体处理,它可以decrease the security of your environment

这将是这个样子:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE Server [ 
    <!ENTITY extcfg SYSTEM "extra.xml"> 
]> 
<Server port="8005" shutdown=SHUTDOWN"> 

    ... 
    ... 

    <Service name="Catalina"> 
    ... 
    ... 
    &extcfg; <!-- This will import extra.xml to this location --> 
    </Service> 
</Server> 

然后你只需要在你的extra.xml此内容:

<Connector port="8009" ... /> 

同样,我不会推荐这种技术,但它应该管用。

相反,只需将<Connector> s直接放入conf/server.xml即可。