• Tomcat配置 —— server.xml


    Tomcat的核心组件是servlet容器。

    Tomcat各个组件之间的嵌套关系

    server.xml配置如下:

    <Server port="8005" shutdown="SHUTDOWN">
      <Service name="Catalina">
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
         <Context docBase="D:\work\alaEclipse\workspace\iptvsys\webapps\lcsmp" path="/" workDir="workCatalinaportal\_"></Context>
        </Host>
        </Engine>
      </Service>
    </Server>

    <Server>

    代表整个servlet容器组件。里面可以有一个或多个Service

    参数:

    className:必须实现org.apache.catalina.Server接口

    addressServer等待关闭命令的TCP/IP地址,默认localhost

    port:Server等待关闭命令的TCP/IP端口号

    shutdown:关闭命令,必须从上面指定的TCP/IP地址和端口获取

    <Service>

    包含一个Engine和多个Connector。

    参数:

    className:必须实现org.apache.catalina.Service接口

    name:同一个Server里的Service的name必须唯一

    <Connector>

    代表和客户交互的组件,负责接收客户请求和返回响应结果。HTTP Connector代表一个支持HTTP协议的组件,它可以使Catalina作为一个单独的web
    server起作用。参数:

    port:Connector建立web socket等待外部连接的TCP端口号

    protocol:设置处理传入数据的协议

    URIEcoding:指定解码URI数据的编码,默认为ISO-8859-1

    <Engine>

    Engine用于处理同一个Service中所有Connector接收到的客户请求。

    参数:

    defaultHost:默认主机名,它标识将处理的所有该主机的请求。该值必须匹配它内置元素其中一个Host的name值。

    <Host>

    定义一个虚拟主机,可以包含一个或多个应用。

    参数:

    appBase:默认为webapps,表示appBase目录下的所有的子目录都将自动部署为web应用

    name:通常使用已在DNS注册的虚拟主机的网络名,多个Host中必须有一个的name与Engine的defaultHost的值匹配。

    <Context>

    每一个该元素都代表一个Web应用。

    参数:

    path:虚拟路径,浏览器访问的url,比如:http://localhost:8080/path

    docBase:web应用的实际物理路径,若该路径是相对路径的话,则是相对于appBase而言,若是绝对路径,则与appBase无关。

    reloadable:当/WEB_INF/classes或/WEB_INF/lib发生改变,则自动重新加载应用。

    <GlobalNamingResources>

    常量配置

    如果我们想为某个web应用配置常量,可以在WEB-INF/web.xml中配置如下:

    <env-entry>
        <env-entry-name>maxExemptions</env-entry-name>
        <env-entry-value>10</env-entry-value>
        <env-entry-type>java.lang.Integer</env-entry-type>  
    </env-entry>

    在java程序中,读取方式如下:

    Context initCtx = null;
    initCtx = new InitialContext();
    Context envCtx = (Context)initCtx.lookup("java:comp/env");
    Integer n = (Integer)envCtx.lookup("maxExemptions");

    如果我们想为所有web应用配置相同的常量,可以在tomcat/conf/server.xml下配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <Server port="8005" shutdown="SHUTDOWN">
    
      <GlobalNamingResources>
        <Environment name="maxExemptions" value="10"
             type="java.lang.Integer" override="true"/>
      </GlobalNamingResources>
      
      <Service name="Catalina">
      
        <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
        
        <Engine defaultHost="localhost" name="Catalina">
        
          <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
          
              <Context docBase="project01" path="/project01" reloadable="true" source="org.eclipse.jst.jee.server:project01">
                  <ResourceLink name="maxExemptions" global="maxExemptions" type="java.lang.Integer"/>
              </Context>
            
          </Host>
          
        </Engine>
        
      </Service>
      
    </Server>

    GlobalNamingResources下定义一个Environment,在具体应用Context下,使用ResourceLink指定该Environment资源,global名字就是该Environment的名字。在java中的读取方式和前面相同。

    数据源配置

    在tomcat/conf/server.xml中配置数据源如下:

    <GlobalNamingResources>       
        <Resource 
          name="LCSMP116" 
          username="amsdevelop"
          password="amsdevelop123" 
          maxIdle="30" 
          maxActive="50"
          maxWait="5000"
          type="javax.sql.DataSource"
          driverClassName="com.sybase.jdbc3.jdbc.SybDriver" 
          url="jdbc:sybase:Tds:10.21.17.20:5100/LCSMP?charset=cp936" />
    </GlobalNamingResources>

    并在Context下引用该数据源,也可以在tomcat/conf/Context.xml,tomcatwebapps应用名META-INFcontext.xml 或者在tomcat/conf/localhost/应用名.xml下加入ResourceLink 

    <Context docBase="D:\work\alaEclipse\workspace\iptvsys\webapps\lcsmp" path="/" workDir="workCatalinaportal\_">
            <ResourceLink global="LCSMP116" name="DBSERVER_DS" type="javax.sql.DataSource"/>
    </Context>

    此时便可以在SpringapplicationContext.xml配置dataSource

    <beans>
      <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:/comp/env/DBSERVER_DS</value>
        </property> 
      </bean>
    </beans>

    也可以使用以下方式获取数据源

    //获得对数据源的引用:
    Context ctx = new InitalContext();
    DataSource ds = (DataSource)ctx.lookup("java:comp/env/DBSERVER_DS");
    //获得数据库连接对象:
    Connection con = ds.getConnection();
    //返回数据库连接到连接池:
    con.close();
  • 相关阅读:
    Struts的ONGL
    深度解析 Qt 中动态链接库
    QTcpSocket 发送数据的几种方法
    QT GUI总结
    Qt 插件学习(一)
    Qt自定义窗口部件
    Qt事件机制浅析
    VS2008 Qt Designer 中自定义信号槽
    Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
    QT中窗口刷新事件的学习总结
  • 原文地址:https://www.cnblogs.com/wuchaodzxx/p/5988374.html
Copyright © 2020-2023  润新知