1.設(shè)置環(huán)境變量
          Linux系統(tǒng),修改catalina.sh和catalina.50.sh
          JAVA_HOME=/usr/local/j2sdk1.4.2_06
          JAVA_OPTS='-Xms512m -Xmx512m'
          CATALINA_HOME=/usr/local/jakarta-tomcat-5.0.28
          Windows系統(tǒng),修改catalina.bat和catalina.50.bat
          set JAVA_HOME=D:j2sdk1.4.2_06
          set CATALINA_HOME=D:jakarta-tomcat-5.0.28

          ?

          2. 如何加大tomcat連接數(shù)
          在tomcat配置文件server.xml中的<Connector />配置中,和連接數(shù)相關(guān)的參數(shù)有:
          minProcessors:最小空閑連接線程數(shù),用于提高系統(tǒng)處理性能,默認(rèn)值為10
          maxProcessors:最大連接線程數(shù),即:并發(fā)處理的最大請(qǐng)求數(shù),默認(rèn)值為75
          acceptCount:允許的最大連接數(shù),應(yīng)大于等于maxProcessors,默認(rèn)值為100
          enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應(yīng)設(shè)置為false
          connectionTimeout:網(wǎng)絡(luò)連接超時(shí),單位:毫秒。設(shè)置為0表示永不超時(shí),這樣設(shè)置有隱患的。通常可設(shè)置為30000毫秒。
          其中和最大連接數(shù)相關(guān)的參數(shù)為maxProcessors和acceptCount。如果要加大并發(fā)連接數(shù),應(yīng)同時(shí)加大這兩個(gè)參數(shù)。
          web server允許的最大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置,通常Windows是2000個(gè)左右,Linux是1000個(gè)左右。tomcat5中的配置示例:
          ??? <Connector port="8080"
          ?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
          ?????????????? enableLookups="false" redirectPort="8443" acceptCount="100"
          ?????????????? debug="0" connectionTimeout="20000"
          ?????????????? disableUploadTimeout="true" />
          對(duì)于其他端口的偵聽配置,以此類推。

          ?

          3.?tomcat中如何禁止列目錄下的文件
          在{tomcat_home}/conf/web.xml中,把listings參數(shù)設(shè)置成false即可,如下:
          <init-param>
          <param-name>listings</param-name>
          <param-value>false</param-value>
          </init-param>

          ?

          4.如何加大tomcat可以使用的內(nèi)存
          tomcat默認(rèn)可以使用的內(nèi)存為128MB,在較大型的應(yīng)用項(xiàng)目中,這點(diǎn)內(nèi)存是不夠的,需要調(diào)大。
          Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設(shè)置:
          JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】'
          需要把這個(gè)兩個(gè)參數(shù)值調(diào)大。例如:
          JAVA_OPTS='-Xms256m -Xmx512m'
          表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為512MB

          ?

          5. 如何添加默認(rèn)訪問頁面
          修改文件web.xml,在welcome-file里面加入需要的頁面即可。
          <welcome-file-list>
          ??? <welcome-file>index.html</welcome-file>
          ??? <welcome-file>index.htm</welcome-file>
          ??? <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>

          ?

          6. 如何添加出錯(cuò)頁面

          修改文件web.xml,在location里面加入出錯(cuò)頁面
          ?<error-page>
          ??<error-code>404</error-code>
          ??<location>/error.jsp</location>
          ?</error-page>
          ?<error-page>
          ??<error-code>500</error-code>
          ??<location>/error.jsp</location>
          ?</error-page>

          ?

          7.如何配置虛擬主機(jī)
          為了實(shí)現(xiàn)基于域名(IP地址)的虛擬主機(jī),修改文件server.xml,加入以下內(nèi)容:
          ????? <Host appBase="C:/webapp1" name="www.test1.com" unpackWARs="true" autoDeploy="true"
          ?????? xmlValidation="false" xmlNamespaceAware="false">
          ????? <Alias>www.test1.com</Alias>
          ????? <Alias>192.168.1.110</Alias>
          ????? </Host>
          ????? <Host appBase="C:/webapp2" name="www.test2.com" unpackWARs="true" autoDeploy="true"
          ?????? xmlValidation="false" xmlNamespaceAware="false">
          ????? <Alias>www.test2.com</Alias>
          ????? <Alias>192.168.1.120</Alias>
          ????? </Host>
          在confCatalina目錄下建立文件夾,文件夾的名稱為”www.test1.com”和“www.test2.com”,然后在這兩個(gè)目錄下建立文件ROOT.xml,其“www.test1.com“目錄下ROOT.xml內(nèi)容為:
          <?xml version='1.0' encoding='utf-8'?>
          <!--
          ?Context configuration file for the?test1 App
          -->
          <Context displayName=www.test1.com path="/"? docBase="" useNaming="false">
          ??????? debug="0" privileged="true" reloadable="true">
          ??? <Logger className="org.apache.catalina.logger.FileLogger"
          ???????????????? directory="C:/webapp1/WEB-INF/logs"?prefix="test1_log."
          ???????????????? suffix=".txt" timestamp="true"/>
          ??? <Valve className="org.apache.catalina.valves.AccessLogValve"
          ???????????????? directory="logs"? prefix="test1_access_log." suffix=".txt"
          ???????????????? pattern="combined" resolveHosts="false"/>
          </Context>

          ?

          8. 如何配置mysql數(shù)據(jù)源
          在本機(jī)建立數(shù)據(jù)庫test,將mysql的JDBC驅(qū)動(dòng)mysql-connector-java-3.0.9-stable-bin.jar拷貝到目錄commonlib下,
          修改文件web.xml,加入以下內(nèi)容:
          <resource-ref>
          ??<description>MySQL Datasource example</description>
          ??<res-ref-name>jdbc/test</res-ref-name>
          ??<res-type>javax.sql.DataSource</res-type>
          ??<res-auth>Container</res-auth>
          ?</resource-ref>

          在WEB應(yīng)用的配置文件里加入以下內(nèi)容:
          <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
          ?<ResourceParams name="jdbc/test">??
          ??<parameter>
          ???<name>factory</name>??
          ???<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>??
          ??</parameter>??
          ?<!-- Class name for mm.mysql JDBC driver -->?
          ??<parameter>???
          ???<name>driverClassName</name>?????
          ???<value>org.gjt.mm.mysql.Driver</value>??
          ??</parameter>
          ?<!-- The JDBC connection url for connecting to your MySQL dB.??????
          ??The autoReconnect=true argument to the url makes sure that the mm.mysql JDBC Driver will automatically reconnect if mysqld closed the connection.? mysqld by default closes idle connections after 8 hours.?-->?
          ??<parameter>?
          ???<name>url</name>
          ???<value>jdbc:mysql://localhost:3306/test?autoReconnect=true</value>
          ??</parameter>
          ?<!-- MySQL dB username and password for dB connections? -->?
          ??<parameter>?
          ???<name>username</name>??
          ???<value>root</value>??
          ??</parameter>??
          ??<parameter>??
          ???<name>password</name>
          ???<value></value>??
          ??</parameter>
          ?<!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. ?-->
          ??<parameter>???
          ???<name>maxActive</name>??
          ???<value>100</value>??
          ??</parameter>?
          ?<!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. -->?
          ??<parameter>?
          ???<name>maxIdle</name>
          ???<value>30</value>
          ??</parameter>
          ?<!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded.? Set to -1 to wait indefinitely. ?-->??
          ??<parameter>????
          ???<name>maxWait</name>
          ???<value>10000</value>?
          ??</parameter>
          </ResourceParams><resource-ref>
          ??<description>MySQL Datasource example</description>
          ??<res-ref-name>jdbc/test</res-ref-name>
          ??<res-type>javax.sql.DataSource</res-type>
          ??<res-auth>Container</res-auth>
          ?</resource-ref>

          在WEB應(yīng)用的配置文件里加入以下內(nèi)容:
          <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
          ?<ResourceParams name="jdbc/test">??
          ??<parameter>
          ???<name>factory</name>??
          ???<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>??
          ??</parameter>??
          ?<!-- Class name for mm.mysql JDBC driver -->?
          ??<parameter>???
          ???<name>driverClassName</name>?????
          ???<value>org.gjt.mm.mysql.Driver</value>??
          ??</parameter>
          ?<!-- The JDBC connection url for connecting to your MySQL dB.??????
          ??The autoReconnect=true argument to the url makes sure that the mm.mysql JDBC Driver will automatically reconnect if mysqld closed the connection.? mysqld by default closes idle connections after 8 hours.?-->?
          ??<parameter>?
          ???<name>url</name>
          ???<value>jdbc:mysql://localhost:3306/test?autoReconnect=true</value>
          ??</parameter>
          ?<!-- MySQL dB username and password for dB connections? -->?
          ??<parameter>?
          ???<name>username</name>??
          ???<value>root</value>??
          ??</parameter>??
          ??<parameter>??
          ???<name>password</name>
          ???<value></value>??
          ??</parameter>
          ?<!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. ?-->
          ??<parameter>???
          ???<name>maxActive</name>??
          ???<value>100</value>??
          ??</parameter>?
          ?<!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. -->?
          ??<parameter>?
          ???<name>maxIdle</name>
          ???<value>30</value>
          ??</parameter>
          ?<!-- Maximum time to wait for a dB connection to become available in ms, in this example 10 seconds. An Exception is thrown if this timeout is exceeded.? Set to -1 to wait indefinitely. ?-->??
          ??<parameter>????
          ???<name>maxWait</name>
          ???<value>10000</value>?
          ??</parameter>
          </ResourceParams>

          ?

          9. tomcat連接池的配置

          <Resource name="jdbc/testDB" auth="Container"
          ?????????????? type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/testDB">
          ?? <parameter>
          ???? <name>factory</name>
          ???? <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>driverClassName</name>
          ???? <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>url</name>
          ????

          <value>jdbc:microsoft:sqlserver://218.246.85.65:1433;DatabaseName=ZCMIS</v

          alue>
          ?? </parameter>
          ?? <parameter>
          ???? <name>username</name>
          ???? <value>sa</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>password</name>
          ???? <value>sa</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>maxActive</name>
          ???? <value>30</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>maxIdle</name>
          ???? <value>10</value>
          ?? </parameter>
          ?? <parameter>
          ???? <name>maxWait</name>
          ???? <value>1000</value>
          ?? </parameter>
          </ResourceParams>


          把下面的東西加到web.xml中
          ?? <resource-ref>
          ????? <description>DB Connection</description>
          ????? <res-ref-name>jdbc/testDB</res-ref-name>
          ????? <res-type>javax.sql.DataSource</res-type>
          ????? <res-auth>Container</res-auth>
          ? </resource-ref>
          類的內(nèi)部實(shí)現(xiàn)

          ?try{
          ?????????????????????
          ????????? Context initCtx = new InitialContext();
          ????????? Context ctx = (Context) initCtx.lookup("java:comp/env");
          ??????????????? //獲取連接池對(duì)象
          ????????? Object obj = (Object) ctx.lookup("jdbc/testDB");???
          ????????? javax.sql.DataSource ds = (javax.sql.DataSource)obj;
          ????????? Connection conn = ds.getConnection();

          ??? }
          ?catch(Exception e)
          ?{??
          ?? System.out.print(e.toString());
          ?}



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=646544

          posts - 4, comments - 5, trackbacks - 0, articles - 60

          Copyright © ikingqu

          主站蜘蛛池模板: 通山县| 岳阳市| 区。| 惠东县| 广昌县| 正蓝旗| 柳州市| 上虞市| 天水市| 珠海市| 丰宁| 嘉善县| 建德市| 忻城县| 上思县| 攀枝花市| 泽州县| 固阳县| 涟水县| 太康县| 郴州市| 南康市| 荆州市| 余干县| 阿拉善右旗| 佛冈县| 牙克石市| 井陉县| 独山县| 普兰店市| 澎湖县| 莱州市| 怀柔区| 浦县| 太白县| 香河县| 顺昌县| 内乡县| 称多县| 正定县| 遵化市|