日本在线免费观看一区,99热这里都是精品,99综合视频http://blogjava.net/youngturk/category/51648.htmlThe world is a fine place , and worth fighting for it.zh-cnMon, 08 Jul 2013 07:54:26 GMTMon, 08 Jul 2013 07:54:26 GMT60Tomcat部署Web應用方法總結 .http://www.aygfsteel.com/youngturk/archive/2013/07/07/401284.htmlyoungturkyoungturkSun, 07 Jul 2013 03:45:00 GMThttp://www.aygfsteel.com/youngturk/archive/2013/07/07/401284.htmlhttp://www.aygfsteel.com/youngturk/comments/401284.htmlhttp://www.aygfsteel.com/youngturk/archive/2013/07/07/401284.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/401284.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/401284.htmlTomcat部署Web應用方法總結
在Tomcat中部署Java Web應用程序有兩種方式:靜態部署和動態部署。

在下文中$CATALINA_HOME指的是Tomcat根目錄。

一、靜態部署 


靜態部署指的是我們在服務器啟動之前部署我們的程序,只有當服務器啟動之后,我們的Web應用程序才能訪問。

以下3種方式都可以部署:(以PetWeb項目為例說明,PetWeb目錄假設是F:
/PetWeb)

1.利用Tomcat自動部署 


將PetWeb目錄拷貝到$CATALINA_HOME
/webapps下,然后啟動服務器就可以了,Tomcat啟動時將自動加載應用。

訪問地址如下:http:
//localhost:8080/PetWeb/ 

這種方式比較簡單,但是web應用程序必須在webapps目錄下。Tomcat的Webapps目錄是Tomcat默認的應用目錄,當服務器啟動時,會加載所有這個目錄下的應用。

2.修改Server.xml文件部署 


這種方式可以不必將PetWeb目錄拷貝到webapps下,直接在F:
/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,

找到以下內容:

Xml代碼:

1.<Context  path ="/Pet"  reloadable ="false"  docBase ="F:/PetWeb"  workDir ="d:/Mywebapps/emp"  /> 
path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程序地址如下:http:
//localhost:8080/Pet/ 

reloadable:表示可以在運行時在classes與lib文件夾下自動加載類包。其中reloadable
="false"表示當應用程序中的內容發生更改之后服務器不會自動加載,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設置為false,提高應用程序的訪問速度。

docbase:表示應用程序的路徑,注意斜杠的方向“
/”。 docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對于webapps。

workdir:表示緩存文件的放置地址

3.增加自定義web部署文件(推薦使用,不需要重啟Tomcat ) 


這種方式和方法2差不多,但不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME
/conf /Catalina/localhost中添加一個xml文件,如Pet.xml.在Tomcat安裝目錄conf/Catalina /localhost下,里面有Tomcat自帶的三個應用,隨意復制其中的一個XML文件,然后修改docbase指向你自己的應用程序,并把文件名改名,各參數參見方法2中的<Context>標簽的參數,或者你也可以自己新建一個XML文件。(注意此文件名將作為Context中的path屬性值,不管文件里的path屬性值如何設置也是無效的 ),將以下內容復制過去,修改相應路徑即可。

Xml代碼:

1.<Context  path ="/Pet"  docBase ="F:/PetWeb"   
2.        debug ="0"  privileged ="true"  reloadable ="false"  >   
3.</Context> 
訪問地址如下:http:
//localhost:8080/Pet/   

 

 

注: Web應用以.war文件的形式部署 



可以將JSP程序打包成一個war包放在目錄下,服務器會自動解開這個war包,并在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個Web程序的所有內容進行壓縮得到。

我們剛才是將PetWeb文件夾部署在了服務器中,我們知道可以將Web應用程序的內容打成.war 包,然后在部署在服務器上。打包請參考如下步驟: 
    
1、打開命令提示符(cmd) 
    
2、設置jdk環境變量  
    
3、在命令提示符中進入項目文件夾F:/PetWeb后,鍵入如下命令:jar cvf Pet.war */ .   (注意最后有個“. ”)。這樣在F:/PetWeb下應該有Pet.war文件。 (也可以打包到指定的地方,命令如下:jar cvf d:/Pet.war */ . )

部署Pet.war文件非常簡單,將剛才xml文件中的docBase 
="F:/PetWeb" 更改為docBase ="F:/Pet.war" 或者直接將其拷貝到webapps目錄下就可以。然后重新啟動服務器就可以將Pet.war部署為一個Web應用程序了。

如果你夠細心的話你會發現,服務器將Pet.war文件解開,并且在webapps下面又生成了一個Pet文件夾,然后把Pet.war的內容拷貝到里面去了。我們可以通過以下方式取消自動解壓縮,將xml配置文件中的unpackWAR 屬性設置為
"false" 即可。

 

 

二、動態部署 


動態部署是指可以在服務器啟動之后部署web應用程序,而不用重新啟動服務器。動態部署要用到服務器提供的manager.war文件,如果在$CATALINA_HOME
/webapps/下沒有該文件,你必須去重新下載tomcat,否則不能完成以下的功能。要想使用該管理程序必須首先編輯$CATALINA_HOME/conf/tomcat-users.xml文件,內容如下:(關于這個文件的更多內容,請參考 Java Web應用程序的安全模型二 )

<tomcat-users> 
<role rolename="tomcat"/> 
<role rolename="role1"/> 
<role rolename="manager"/> 
<user username="coresun" password="coresun" roles="manager"/> 
<user username="tomcat" password="tomcat" roles="tomcat"/> 
<user username="both" password="tomcat" roles="tomcat,role1"/> 
<user username="role1" password="tomcat" roles="role1"/> 
</tomcat-users> 


youngturk 2013-07-07 11:45 發表評論
]]>
web頁面檢索數據庫中的字段是亂碼問題http://www.aygfsteel.com/youngturk/archive/2013/05/03/398720.htmlyoungturkyoungturkFri, 03 May 2013 02:33:00 GMThttp://www.aygfsteel.com/youngturk/archive/2013/05/03/398720.htmlhttp://www.aygfsteel.com/youngturk/comments/398720.htmlhttp://www.aygfsteel.com/youngturk/archive/2013/05/03/398720.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/398720.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/398720.html//  this.databaseEncoding = "ISO8859-1";
  this.platformEncoding = "GBK";

獲得數據庫字符時候需要轉換

youngturk 2013-05-03 10:33 發表評論
]]>
web應用從tomat向weblogic8中遷移遇到的三個問題http://www.aygfsteel.com/youngturk/archive/2013/01/09/394000.htmlyoungturkyoungturkWed, 09 Jan 2013 01:00:00 GMThttp://www.aygfsteel.com/youngturk/archive/2013/01/09/394000.htmlhttp://www.aygfsteel.com/youngturk/comments/394000.htmlhttp://www.aygfsteel.com/youngturk/archive/2013/01/09/394000.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/394000.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/394000.html一、系統環境

1、web應用在tomcat上運行,一切正常。

2、OS:windows XP sp3

3、weblogic version:8.1.3.0

二 、問題及解決方法

1 、 weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamIOException: 在web應用的WEB-INF目錄下新增(如果沒有)weblogic.xml文件,寫入下面內容:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" 
                  "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> 
<weblogic-web-app> 
  <session-descriptor> 
  </session-descriptor> 

  <jsp-descriptor> 
    <jsp-param> 
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value> 
    </jsp-param> 
    <jsp-param> 
      <param-name>pageCheckSeconds</param-name> 
      <param-value>-1</param-value> 
    </jsp-param> 
<jsp-param> 
   <param-name>compilerSupportsEncoding</param-name> 
      <param-value>true</param-value> 
    </jsp-param> 
    <jsp-param> 
      <param-name>verbose</param-name> 
      <param-value>false</param-value> 
    </jsp-param> 
  </jsp-descriptor> 
<charset-params>  
    <input-charset>  
       <resource-path>/*</resource-path>  
       <java-charset-name>UTF-8</java-charset-name>  
     </input-charset>  
   </charset-params> 
</weblogic-web-app> 

  保存,重新deploy應用 

2、 sun.io.MalformedInputException:修改區域和語言選型。

控制面板->區域和語言選型->高級->代碼頁轉換表,去掉54936(GB18030簡體中文)前面的對勾,保存更改。重新deploy應用。

3 、weblogic.servlet.jsp.JspException: (line 1): page directive contentType at /unieap/ria3.3/pages/config.jsp:1 previously defined :修改jsp文件,不能重復定義:<%@ page contentType="text/html; charset=UTF-8"%>

      在含有<%@ include file="/unieap/ria3.3/pages/config.jsp"%>這樣的代碼的JSP文件中,如果在文件頭部已經定義了contentType,那么在被包含的文件中如果重復定義contentType,盡管相同,weblogoic也會報錯,只能改JSP文件,保證一個頁面中只有一個contentType的定義。這個問題在tomcat中是不存在的,可能是兩個應用服務器的解析機制不同。



youngturk 2013-01-09 09:00 發表評論
]]>
eclipse 使用tomcat需要首先安裝其插件,然后下載服務器,最后部署, Eclipse Tomcat插件的配置, 及 Tomcat 的配置http://www.aygfsteel.com/youngturk/archive/2012/11/22/391787.htmlyoungturkyoungturkThu, 22 Nov 2012 13:43:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/11/22/391787.htmlhttp://www.aygfsteel.com/youngturk/comments/391787.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/11/22/391787.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/391787.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/391787.html

首先下載 對應 eclipse 版本的 tomcat 插件版本,(這里要注意: Tomcat 插件是Tomcat 插件,Tomcat 是 Tomcat, 兩者不能混淆!)

下載地址:http://www.eclipsetotale.com/tomcatPlugin.html

然后將得到的壓縮包解壓,放入 eclipse 的 plugins 目錄中重啟 eclipse, Tomcat 插件安裝成功!

當然安裝成功不并代表能使用,這里還要配置 Tomcat, 才能正常使用 Tomcat 插件,

配置過程:

首先下載當前 Eclipse 能使用的 Tomcat 版本,

下載地址:http://tomcat.apache.org/ 

然后解壓到指定的目錄,然后配置

Eclipse - toolsbar  ->  Window  ->  Prefences  ->  Tomcat  -> 指向剛才 Tomcat 解壓的目錄,

到此配置完成,使用 Tomcat 插件可以啟動、關閉 Tomcat.

使用 Eclipse 建立 Dynamic Web Project 如:HelloProject

右鍵 Run As –>  Run On Server  ->  如圖:

HelloProject

彈出如圖界面配置:

HelloProject.ConfigSever

配置完成,會在看到這樣效果項目目錄下會有 Servers 一個目錄,是專屬 HelloProject 項目的 Tomcat 配置,

還會在控制臺那塊看到 Servers 如圖:

finish

這時已經可以使用 Tomcat , Start、Stop、Restart 等.

重點要說的,也是下邊要講的是:

對于上圖紅圈中的 server.xml 和 Tomcat/conf/server.xml  文件,

我們說過了紅圈中的 server.xml 是針對 HelloProject 生成的配置文件,當然多個項目也可以共用 一個 Servers 目錄下的配置!這個暫時先不講。

而 Tomcat/conf/server.xml  是 Tomcat 本身所有,有更大的通用性。

為了便于區分我們把紅圈中的 server.xml 叫 project.server.xml, 把 Tomcat/conf/server.xml 叫 tomcat.server.xml。

本次主要講 server.xml 中的 <Context … />

來看 project.server.xml 中的  <Context docBase="HelloProject" path="/HelloProject" reloadable="true" source="org.eclipse.jst.jee.server:HelloProject"/>

docBase 指的是 相對 Servers 目錄 平級的 HelloProject 目錄 即項目目錄,如圖:

dir 

path 指的是 網站訪問路徑,如:http://locahost:8080/HelloProject

像這樣生成的這個 project.server.xml 我們一般不要動.

而對于 tomcat.server.xml 中 <Content … />

我們看這兩配置都是對的:

<!--<Context path="/HP" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject\WebContent" workDir=”D:\worDir” /> -->
      <Context path="/HelloProject" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject" workDir=”C:\workDir” />

   <Context path="/HPT" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject" workDir=”C:\workDir” />

網站訪問路徑分別是

http://localhost:8080/HP

http://localhost:8080/HelloProject

對于上邊的 HPT 我們可以這樣訪問:

http://localhost:8080/HPT/WebContent

這樣可以看到 如果是 docBase 指到了 WebContent 下則可用自己定義的 path,

如果 docBase 指到的是項目目錄則必須使用項目原來的 path, 或者路徑訪問做下修改

最后的 workDir 是部署后 jsp 發布的目錄,可以自己隨便指定,或不指定.



youngturk 2012-11-22 21:43 發表評論
]]>
js讀取XML文件 JS讀寫XML文件http://www.aygfsteel.com/youngturk/archive/2012/11/09/391095.htmlyoungturkyoungturkFri, 09 Nov 2012 07:21:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/11/09/391095.htmlhttp://www.aygfsteel.com/youngturk/comments/391095.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/11/09/391095.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/391095.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/391095.htmlJavaScript

<script type="text/javascript">
    //<![CDATA[
    //嵌入CDATA段可以防止不兼容Javacript的瀏覽器不產生錯誤信息
    //增加正則表達式 
    String.prototype.getQueryString = function(name) {
        var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)"), r;
        if (r = this.match(reg)) return unescape(r[2]);
        return null;
    };
    var address = location.search.getQueryString("address"); //通過表達式獲得傳遞參數
    //針對兩種瀏覽器,分別獲取xmlDocument對象// 讀取XML文件   
    function loadXML(xmlFile) {
        var xmlDoc;
        if (window.ActiveXObject) {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        }
        else if (document.implementation && document.implementation.createDocument) {
            xmlDoc = document.implementation.createDocument("", "", null);
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        } else {
            alert('您的瀏覽器不支持該系統腳本!');
        }
        return xmlDoc;
    }   
    //調用地圖
    var map; //全局GMap GOOGLE 地圖 API
    function load() {
        if (GBrowserIsCompatible()) //檢查瀏覽器兼容性
        {
            map = new GMap2(document.getElementById("map")); //地圖加栽到ID為map的DIV中。
            map.addControl(new GSmallMapControl());   //添加Gcontrol控件//放大縮小的那個
            map.setCenter(new GLatLng(26.577014, 104.877977), 15); //設置地圖中心
            //創建多個坐標點(從INFO.XML文件中讀取)
            var xmlDoc = loadXML("Info.xml"); 
            var members = xmlDoc.getElementsByTagName("number");
            var maxRes = members.length;
            for (var i = 0; i <= maxRes; i++) {                       //XML中記錄了多個坐標點,要每個點都標記一下
                var oName = members[i].getElementsByTagName("name");
                var oLongitude = members[i].getElementsByTagName("Longitude");
                var oLatitude = members[i].getElementsByTagName("Latitude");

                var name = oName[0].firstChild.nodeValue
                var Longitude = oLongitude[0].firstChild.nodeValue
                var Latitude = oLatitude[0].firstChild.nodeValue        
                
                var marker = new GMarker(new GLatLng(Longitude, Latitude), { title: name });     //對每個點添加標記
                marker.openInfoWindowHtml("<div style=line-height:20px;text-align:center;font-size:12px;'><a href=Left.aspx?info=" + name + " target=framLeft>" + name + ",點擊查看信息</a></div>"); 
                map.addOverlay(marker);
            }
        }
    }
    //]]>
</script>

XML文件

<?xml version="1.0" encoding="GB2312"?>   
<earth>   
<number id='1'>    
<name>213211212213213</name>   
<Longitude>26.577014</Longitude>   
<Latitude>104.877977</Latitude></number>   
<number id='2'>    
<name>112312332131212</name>   
<Longitude>26.586685</Longitude>   
<Latitude>104.863815</Latitude></number>   
<number id='3'>    
<name>123123121323112</name>   
<Longitude>26.572101</Longitude>   
<Latitude>104.866905</Latitude></number>   
<number id='4'>    
<name>123132123123321</name>   
<Longitude>26.572254</Longitude>   
<Latitude>104.891624</Latitude></number>   
</earth>

youngturk 2012-11-09 15:21 發表評論
]]>
外網訪問虛擬機MYSQLhttp://www.aygfsteel.com/youngturk/archive/2012/11/09/391084.htmlyoungturkyoungturkFri, 09 Nov 2012 03:41:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/11/09/391084.htmlhttp://www.aygfsteel.com/youngturk/comments/391084.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/11/09/391084.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/391084.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/391084.html第一步是要創建一個可以遠程連接的 MySQL 用戶
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'%'  IDENTIFIED BY 'userPWD'  WITH GRANT OPTION;
mysql> flush privileges;
### "%"表示任意IP,如果要為特定的user指定從特定的IP訪問,方法如下:
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'ip'  IDENTIFIED BY 'userPWD'  WITH GRANT OPTION;
mysql> flush privileges;

第二步是要修改 mysql 的配置文件 /etc/mysql/my.cnf

在舊版本中找到 skip-networking,把它注釋掉就可以了
#skip-networking

在新版本中:
# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure.
bind-address           = 127.0.0.1

bind-address           = 127.0.0.1 這一行要注釋掉
#bind-address           = 127.0.0.1

或者把允許訪問的ip 填上
bind-address       = 192.168.1.100

然后重啟 MySQL 
/etc/init.d/mysql restart

以上方法只完成了外網訪問的配置,它只允許從主機上訪問MYSQL,如果要完全從外網訪問則需要將主機的3306端口映射到虛擬機的3306上(當然其它的端口也是可以的)


虛擬機端口映射:
http://wenku.baidu.com/view/b01c2ccca1c7aa00b52acb62.html###

youngturk 2012-11-09 11:41 發表評論
]]>
框架搭建好后,沒有詳細的錯誤信息,主頁無法訪問.用tomcat去調試,沒有詳細log..http://www.aygfsteel.com/youngturk/archive/2012/11/08/391032.htmlyoungturkyoungturkThu, 08 Nov 2012 08:19:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/11/08/391032.htmlhttp://www.aygfsteel.com/youngturk/comments/391032.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/11/08/391032.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/391032.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/391032.html這兩天在搭建struts2+spring+hibernate框架的過程中遇到如題的錯誤,在百度和谷歌上查了兩天,以致快到了崩潰的邊緣。最后還是解決了。這個問題的出現,原因有很多,在這總結如下,以供分享:



框架搭建好后,啟動服務器出現如下的信息:

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).

log4j:WARN Please initialize the log4j system properly.

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

嚴重: Error listenerStart

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

嚴重: Context startup failed due to previous errors

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /tomcat-docs from URL file:D:/server/Tomcat 5.0/webapps/tomcat-docs

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav

。。。。



可能出錯的地方:

1.web.xml文件 web應用部署描述符,里面的部署的xml文件或者類,如果這些找不到就會發生startup failed due to previous errors錯誤。

2.如果在應用spring的話,在配置文件applicationContext.xml中定義的類、xml文件找不到也會報這個錯誤。

3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一點錯誤都可能引起上面的這個問題,而不僅僅是附帶的文件錯誤導致。

4.如果使用ibatis的話,在SqlMapConfig.xml中定義的xml文件找不到也會報這個錯誤。(hibernate的配置在整合spring的時候使用spring的配置文件)

5.JDK的版本問題,最好使用JDK5.0 或者更高的版本。

6.Eclipse和tomcat的版本兼容問題

7.框架整合的過程中在導入到lib下的jar包沖突也可能產生該錯誤。

8.jar包的缺少以及jar包的版本也可產生該錯誤。

9.其他的原因



解決該問題的途徑:

由于上面問題可能已經是web服務器內部產生了錯誤,而且IDE中的Log信息較少,問題的解決很難入手。

而該問題的產生經常會導致頁面跳轉尋找不到文件的 Http 404 錯誤。。。。。

可以通過在tomcat中添加log文件來讓log信息提示的更精確一些,即設置log輸出的等級。

1.tomcat的安裝路徑下tomcat home下的common文件夾下的classes文件夾中創建log4j.properties文件,即

。。。Apache Software Foundation/Tomcat 5.5/common/classes

log4j.properties配置如下(配置是轉載):

log4j.rootLogger=info,Console,R

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n



log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=${catalina.home}/logs/tomcat.log

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n



log4j.logger.org.apache=info,R

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R

log4j.logger.org.apache.catalina.core=info,R

log4j.logger.org.apache.catalina.session=info,R



2.將log4j-1.2.15.jar和commons-logging.jar包拷貝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。



做好上面兩步,啟動服務器的時候,會在tomcat的安裝路徑下的。。Apache Software Foundation/Tomcat 5.5/logs下自動的

生成tomcat.log文件以記錄日志信息。

注:tomcat.log文件中的日志信息會記載很多,如果過大就可能產生磁盤空間不足的問題,建議定時的清除日志信息。


通過上面的日志文件信息可以定位到比較具體的問題根源,在仔細的查看問題一一攻破即可解決。


我在搭建框架之后,在web.xml文件中配置的歡迎頁面顯示的時候報404的錯誤,通過上面的途徑找到了兩個錯誤,雖然花了兩天的時間,最終還是解決了。



youngturk 2012-11-08 16:19 發表評論
]]>
struts2-java.lang.NullPointerException at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java http://www.aygfsteel.com/youngturk/archive/2012/11/06/390865.htmlyoungturkyoungturkTue, 06 Nov 2012 05:30:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/11/06/390865.htmlhttp://www.aygfsteel.com/youngturk/comments/390865.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/11/06/390865.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/390865.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/390865.html1.strtus.xml

    在struts.xml中配置了<constant name="struts.devMode" value="true"/> (據說配置了<constant name="struts.configuration.xml.reload" value="true"/>也會報錯,這個我沒試過)
時啟動tomcat報錯。
org.apache.catalina.core.StandardContext filterStart
嚴重: Exception starting filter struts2
java.lang.NullPointerException
    at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
    at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:168)
    at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:191)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
嚴重: Error filterStart
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
嚴重: Context [/Struts2Demo2] startup failed due to previous errors

網上解決辦法:devMode模式是開發模式,開啟它則默認開啟了i18n.reload、 configuration.xml.reload。這個錯誤是由于configuration.xml.reload設置為true倒置的,但是網上的資料沒有說明原因及解決辦法,倒是一個國外的apache相關BBS上有人說這是216版本的BUG,并且附上了一個.patch修正文件,說217版本會修正。。。可我不會用也不知道是不是這個原因,這個問題就一直擱置在這里了。過了幾個月,也就是最近網上查了下發現在apache的一個郵件列表中有關于這個的解釋,原因很簡單,tomcat的安裝路徑包含空格我的成功的辦法:據說這是struts2.1.6的bug,換新版本2.1.8就ok,當然還要相應的xwork版本,好像是xwork2.1.6,我將原來的2個舊jar包換成新的就ok了。。。。無語啊。。。一試果然如此。

注意:2個jar包換了之后重啟tomcat可能會報錯, Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar,這個錯誤是開始那個引起的,把tomcat中相應項目刪除了,重新部署就沒問題了

   下面是4個開發模式常用配置的簡介---(來自http://hi.baidu.com/12261016/blog/item/1d7f6ccaded7248ec91768ec.html)
    <!-- 開啟使用開發模式,詳細錯誤提示 -->
    <!-- <constant name="struts.devMode" value="true"/>-->
    <!-- 指定每次請求到達,重新加載資源文件 -->
    <!-- <constant name="struts.i18n.reload" value="true"/>-->
    <!-- 指定每次配置文件更改后,自動重新加載 -->
    <!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
    <!-- 指定XSLT Result使用樣式表緩存 -->
    <!-- <constant name="struts.xslt.nocache" value="true"/>-->



youngturk 2012-11-06 13:30 發表評論
]]>
解決jdk高版本向低版本配置問題.. tomcat服務器可以用jdk1.5啟動,編譯環境向下兼容 jdk1.5,jdk1.4之間轉換http://www.aygfsteel.com/youngturk/archive/2012/10/29/390413.htmlyoungturkyoungturkMon, 29 Oct 2012 09:32:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/10/29/390413.htmlhttp://www.aygfsteel.com/youngturk/comments/390413.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/10/29/390413.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/390413.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/390413.html這事為了tomcat jdk5環境能適應jdk1.4的編譯環境,向下兼容..

youngturk 2012-10-29 17:32 發表評論
]]>
tomcat 不同版本之間轉換問題 報java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory錯http://www.aygfsteel.com/youngturk/archive/2012/10/15/389568.htmlyoungturkyoungturkMon, 15 Oct 2012 05:49:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/10/15/389568.htmlhttp://www.aygfsteel.com/youngturk/comments/389568.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/10/15/389568.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/389568.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/389568.html1.屬性preferences目錄tomcat屬性下version和tomcat home需要設置對應版本
2.comcat advanced目錄下對應的tomcat base也需要對應相應版本

tomcat 6在使用redio進行
DeliveryMainIndex obj = (DeliveryMainIndex)this.bindRequestToBean(DeliveryMainIndex.class);
反射時候取值會有問題.

youngturk 2012-10-15 13:49 發表評論
]]>
Tomcat設置虛擬目錄的方法, 不修改server.xml http://www.aygfsteel.com/youngturk/archive/2012/10/10/389276.htmlyoungturkyoungturkWed, 10 Oct 2012 01:16:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/10/10/389276.htmlhttp://www.aygfsteel.com/youngturk/comments/389276.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/10/10/389276.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/389276.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/389276.html在tomcat文件夾的conf\catalina\localhost增加project .xml文件
文件內容: 
<Context path="/project" reloadable="true" docBase="E:\javastudio\oob" workDir="E:\javastudio\oob\work" />
docBase是項目文件夾的web
-inf文件夾的上一層目錄
workDir是指Tomcat解析Jsp轉換為Java文件,并編譯為class存放的文件夾,設置 在項目文件夾里面,可以避免移植到其他地方首次讀取jsp文件需要重新解析 。一般格式:項目文件夾\work
reloadable是指可以重新加載,一般設置為true,方便使用,不需要經常重啟Tomcat。 
以后啟動Tomcat,在瀏覽器輸入http:
//localhost:8080/project就能訪問該項目的welcome文件。
 
***************
為什么要不修改server.xml呢?在Tomcat6的doc幫助文檔中,官方是不提倡修改 server.xml來添加虛擬目錄的!
       而我認為,以上使用的方法,非常方便于項目的移植,移植后,只有修改docBase和workDir的值就行了,甚至可以去掉workDir這個屬性!
 
***************


代碼 

<Context path="/ucshop" reloadable="true" docBase="G:\UCshop\ucshop"  workDir="G:\UCshop\ucshop\work">

<Resource name="jdbc/ucshop" auth="Container"
            type
="javax.sql.DataSource"
            driverClassName
="com.microsoft.jdbc.sqlserver.SQLServerDriver"
            url
="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ucshop"
            username
="sa"
            password
="sa"
            maxIdle
="5"
            maxWait
="5000"
            maxActive
="10"/>

</Context>

注:如果不需要數據源,可以不寫resource標簽的部分。




youngturk 2012-10-10 09:16 發表評論
]]>
tomcate 報 PermGen space 錯誤Exception in thread "main" java.lang.OutOfMemoryError: PermGen spacehttp://www.aygfsteel.com/youngturk/archive/2012/07/22/383729.htmlyoungturkyoungturkSun, 22 Jul 2012 12:25:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/07/22/383729.htmlhttp://www.aygfsteel.com/youngturk/comments/383729.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/07/22/383729.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/383729.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/383729.html設置:

-Xmx256m
-Xms256m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-verbose:gc


youngturk 2012-07-22 20:25 發表評論
]]>
導入SVN工程到myEclipse中http://www.aygfsteel.com/youngturk/archive/2012/07/04/382232.htmlyoungturkyoungturkWed, 04 Jul 2012 15:12:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/07/04/382232.htmlhttp://www.aygfsteel.com/youngturk/comments/382232.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/07/04/382232.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/382232.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/382232.html1,改名包為可編譯的source包
2,新建WEB-INF/src 為source包
3.將工程右鍵點擊,發布為j2ee web工程

youngturk 2012-07-04 23:12 發表評論
]]>
國際化http://www.aygfsteel.com/youngturk/archive/2012/06/07/380275.htmlyoungturkyoungturkThu, 07 Jun 2012 14:22:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/06/07/380275.html

一:準備資源文件,資源文件的命名格式如下:

                   baseName_language_country.properties

                   baseName_language.properties

                   baseName.properties

其中baseName是資源文件的基本名,我們可以自定義,但languagecountry必須是java支持的語言和國家。如:

                   中國大陸:baseName_zh_CN.properties

                   美國:baseName_en_US.properties

現在為應用添加兩個資源文件:

二:準備好資源文件后:配置struts.xml文件

struts.custom.i18n.resources常量把資源文件定義為全局資源文件,

<constant name="struts.custom.i18n.resources" value="itcast"/>

Itcast為資源文件的基本名。

三:后面我們可以在頁面或action中訪問國際化信息:

         1JSP頁面中使用<s:text name=””/>標簽輸出國際化信息。

          name為資源文件中的key

         2action 類中,可以繼承ActionSupport,使用getText(“key”)方法得到國際

化信息,該方法的第一個參數用于指定資源文件中的key

         3在表單標簽中,通過key屬性指定資源文件中的key,如:

                   <s:textfield name=”realname” key=”user”/>




想取得國際化內容:1繼承action 類中,可以繼承ActionSupport,2使用this.getText方法

ActionContext.getContext().put("message"為jsp頁面中變量,
this.getText獲得baseName_zh_CN.properties文件中對應key值("welcome"));

中英文環境修改: 工具---》選項---》語言,進行修改..


youngturk 2012-06-07 22:22 發表評論
]]>
修改myEclipse自帶的tomcat發布端口http://www.aygfsteel.com/youngturk/archive/2012/05/29/379480.htmlyoungturkyoungturkTue, 29 May 2012 13:52:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/05/29/379480.htmlhttp://www.aygfsteel.com/youngturk/comments/379480.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/05/29/379480.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/379480.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/379480.htmlMyEclipse文件下去搜索server.xml 這個文件

修改這個文件里面的一個參數

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />


2.在Myeclipse中,在(工具欄吧叫做,就是有File Edit 的那一行),選window -> Preferences -> Myeclipse -> Servers -> Integrated Sandbox -> Myeclipse Tomcat 6修改相應端口號

youngturk 2012-05-29 21:52 發表評論
]]>
同一項目重新引入tomcathttp://www.aygfsteel.com/youngturk/archive/2012/05/18/378522.htmlyoungturkyoungturkFri, 18 May 2012 11:17:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/05/18/378522.htmlhttp://www.aygfsteel.com/youngturk/comments/378522.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/05/18/378522.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/378522.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/378522.htmlservice.xml中重建項目context配置.

youngturk 2012-05-18 19:17 發表評論
]]>
tomcat目錄下的service.xml解析http://www.aygfsteel.com/youngturk/archive/2012/05/17/378367.htmlyoungturkyoungturkThu, 17 May 2012 02:05:00 GMThttp://www.aygfsteel.com/youngturk/archive/2012/05/17/378367.htmlhttp://www.aygfsteel.com/youngturk/comments/378367.htmlhttp://www.aygfsteel.com/youngturk/archive/2012/05/17/378367.html#Feedback0http://www.aygfsteel.com/youngturk/comments/commentRss/378367.htmlhttp://www.aygfsteel.com/youngturk/services/trackbacks/378367.htmltomcat server.xml配置詳解
2011-03-08 16:34

元素名
屬性
解釋
server
port
指定一個端口,這個端口負責監聽關閉tomcat的請求
shutdown
指定向端口發送的命令字符串
service
name
指定service的名字
Connector(表示客戶端和service之間的連接)
port
指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求
minProcessors
服務器啟動時創建的處理請求的線程數
maxProcessors
最大可以創建的處理請求的線程數
enableLookups
如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
redirectPort
指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
acceptCount
指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
connectionTimeout
指定超時的時間數(以毫秒為單位)
Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求)
defaultHost
指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
Context(表示一個web應用程序,通常為WAR文件,關于WAR的具體信息見servlet規范)
docBase
應用程序的路徑或者是WAR文件存放的路徑
path
表示此web應用程序的url的前綴,這樣請求的urlhttp://localhost:8080/path/****
reloadable
這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib /WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序
host(表示一個虛擬主機)
name
指定主機名
appBase
應用程序基本目錄,即存放應用程序的目錄
unpackWARs
如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序
Logger(表示日志,調試和錯誤信息)
className
指定logger使用的類名,此類必須實現org.apache.catalina.Logger 接口
prefix
指定log文件的前綴
suffix
指定log文件的后綴
timestamp
如果為true,則log文件名中要加入時間,如下例:localhost_log.2001-10-04.txt
Realm(表示存放用戶名,密碼及role的數據庫)
className
指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口
Valve(功能與Logger差不多,其prefixsuffix屬性解釋和Logger 中的一樣)
className
指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程序的訪問信息
directory
指定log文件存放的位置
pattern
有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多

<Server>元素


它代表整個容器,是Tomcat實例的頂層元素.由org.apache.catalina.Server接口來定義.它包含一個
<Service>元素.并且它不能做為任何元素的子元素.

<Server port="8005" shutdown="SHUTDOWN" debug="0">

1>className指定實現org.apache.catalina.Server接口的類.默認值為
org.apache.catalina.core.StandardServer
2>port指定Tomcat監聽shutdown命令端口.終止服務器運行時,必須在Tomcat服務器所在的機器上發出
shutdown命令.該屬性是必須的.
3>shutdown指定終止Tomcat服務器運行時,發給Tomcat服務器的shutdown監聽端口的字符串.該屬性必須設


<Service>元素


該元素由org.apache.catalina.Service接口定義,它包含一個<Engine>元素,以及一個或多個
<Connector>,這些Connector元素共享用同一個Engine元素
   
<Service name="Catalina">
   
<Service name="Apache">

   第一個<Service>處理所有直接由Tomcat服務器接收的web客戶請求.
   第二個<Service>處理所有由Apahce服務器轉發過來的Web客戶請求
1>className 指定實現org.apahce.catalina.Service接口的類.默認為
org.apahce.catalina.core.StandardService
2>name定義Service的名字

<Engine>元素


每個Service元素只能有一個Engine元素.元素處理在同一個<Service>中所有<Connector>元素接收到的客
戶請求.由org.apahce.catalina.Engine接口定義.
<Engine name="Catalina" defaultHost="localhost" debug="0">
1>className指定實現Engine接口的類,默認值為StandardEngine
2>defaultHost指定處理客戶的默認主機名,在<Engine>中的<Host>子元素中必須定義這一主機
3>name定義Engine的名字
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

<Host>元素


它由Host接口定義.一個Engine元素可以包含多個<Host>元素.每個<Host>的元素定義了一個虛擬主機.它
包含了一個或多個Web應用.
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
1>className指定實現Host接口的類.默認值為StandardHost
2>appBase指定虛擬主機的目錄,可以指定絕對目錄,也可以指定相對于<CATALINA_HOME>的相對目錄.如果
沒有此項,默認為<CATALINA_HOME>/webapps
3>autoDeploy如果此項設為true,表示Tomcat服務處于運行狀態時,能夠監測appBase下的文件,如果有新有
web應用加入進來,會自運發布這個WEB應用
4>unpackWARs如果此項設置為true,表示把WEB應用的WAR文件先展開為開放目錄結構后再運行.如果設為
false將直接運行為WAR文件
5>alias指定主機別名,可以指定多個別名
6>deployOnStartup如果此項設為true,表示Tomcat服務器啟動時會自動發布appBase目錄下所有的Web應用
.如果Web應用中的server.xml沒有相應的<Context>元素,將采用Tomcat默認的Context
7>name定義虛擬主機的名字
在<Host>元素中可以包含如下子元素
<Logger>, <Realm>, <Value>, <Context>

<Context>元素


它由Context接口定義.是使用最頻繁的元素.每個<Context元素代表了運行在虛擬主機上的單個Web應用.
一個<Host>可以包含多個<Context>元素.每個web應用有唯一
的一個相對應的Context代表web應用自身.servlet容器為第一個web應用創建一個
ServletContext對象.
<Context path="/sample" docBase="sample" debug="0" reloadbale="true">
1>className指定實現Context的類,默認為StandardContext類
2>path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
3>reloadable如果這個屬性設為true, Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-
INF/lib目錄CLASS文件的改運.如果監視到有class文件被更新,服務器自重新加載Web應用
3>cookies指定是否通過Cookies來支持Session,默認值為true
4>useNaming指定是否支持JNDI,默認值為了true
在<Context>元素中可以包含如下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>

<Connector>元素


由Connector接口定義.<Connector>元素代表與客戶程序實際交互的給件,它負責接收客戶請求,以及向客
戶返回響應結果.
<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75"
enableLookups
="false" redirectPort="8443" acceptCount="100" debug="0"
connectionTimeout
="20000" disableUploadTimeout="true" />
<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0"
protocol
="AJP/1.3" />
第一個Connector元素定義了一個HTTP Connector,它通過8080端口接收HTTP請求;第二個Connector元素定
義了一個JD Connector,它通過8009端口接收由其它服務器轉發過來的請求.
Connector元素共用屬性
1>className指定實現Connector接口的類
2>enableLookups如果設為true,表示支持域名解析,可以把IP地址解析為主機名.WEB應用中調用
request.getRemoteHost方法返回客戶機主機名.默認值為true
3>redirectPort指定轉發端口.如果當前端口只支持non-SSL請求,在需要安全通信的場命,將把客戶請求轉
發至SSL的redirectPort端口
HttpConnector元素的屬性
1>className實現Connector的類
2>port設定Tcp/IP端口,默認值為8080,如果把8080改成80,則只要輸入http://localhost即可
因為TCP/IP的默認端口是80
3>address如果服務器有二個以上ip地址,此屬性可以設定端口監聽的ip地址.默認情況下,端口會監聽服務
器上所有的ip地址
4>bufferSize設定由端口創建的輸入流的緩存大小.默認值為2048byte
5>protocol設定Http協議,默認值為HTTP/1.1
##############################################
忍無可忍了,決定做個全面的測試,環境為mysql5+tomcat5.5,框架基于spring+hibernate+struts,測試工具為jmeter,loadruner。     
    直接部署工程,運行jmeter,確實,不到30的并發,工程當了。。    
     優化tomcat         編輯bin目錄下catalina.bat,加入以下語句      
   set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m    
     內存的設置于系統內存大小有關,一般取50%         編輯conf下server.xml,     
   <Connector port="8080" maxHttpHeaderSize="8192"             
    maxThreads="1000" minSpareThreads="250" maxSpareThreads="500"            
     enableLookups="false" redirectPort="8443" acceptCount="1100"               
  connectionTimeout="20000" disableUploadTimeout="true" />      
   優化mysql         我主要修改了一個最大連接數,修改my.ini       
  max_connections=1024        優化連接池設置  
 jdbc.maxActive=2048  jdbc.maxIdle=1024  jdbc.minIdle=5  jdbc.maxWait=8000  
jdbc.removeAbandonedTimeout=8  jdbc.removeAbandoned=true       
  在loadruner下設置300并發,輕松愉快,小試牛刀;接著做穩定性測試,設置300人同時在線,運行時間為無限次,到今天為止已經有36小時了,監控系統的cpu,內存使用情況,一切良好。  
########################################
1)
<Context path="/hh" docBase="D:\aaa"  reloadable="true" debug="0"/>
當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/hh/a.html可以訪問到d:\aaa下的a.html.

(2)
<Context path="/" docBase="D:\aaa"  reloadable="true" debug="0"/>
當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/a.html,訪問到卻是 tomcat 安裝目錄下的 ROOT 下的a.html.

(3)
<Context path="" docBase="D:\aaa"  reloadable="true" debug="0"/>
當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/a.html,訪問到D:\下的a.html.


youngturk 2012-05-17 10:05 發表評論
]]>
主站蜘蛛池模板: 天全县| 夹江县| 蒲城县| 亳州市| 宁阳县| 青龙| 莱芜市| 浦北县| 隆昌县| 东兴市| 德江县| 鹤壁市| 始兴县| 清镇市| 连州市| 蕲春县| 耒阳市| 大新县| 龙泉市| 宾川县| 荔浦县| 双辽市| 湾仔区| 巴东县| 芜湖市| 江达县| 吴江市| 甘肃省| 太谷县| 丘北县| 额尔古纳市| 修文县| 平果县| 凤庆县| 白山市| 遂川县| 班戈县| 定边县| 兴海县| 上杭县| 丹阳市|