﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-insomnia,politic,proficient ,sensible.-随笔分类-服务器环境部署</title><link>http://blogjava.net/youngturk/category/51648.html</link><description>The world is a fine place , and worth fighting for it.</description><language>zh-cn</language><lastBuildDate>Mon, 08 Jul 2013 07:54:26 GMT</lastBuildDate><pubDate>Mon, 08 Jul 2013 07:54:26 GMT</pubDate><ttl>60</ttl><item><title>Tomcat部署Web应用方法总结 .</title><link>http://www.blogjava.net/youngturk/archive/2013/07/07/401284.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sun, 07 Jul 2013 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/07/07/401284.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/401284.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/07/07/401284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/401284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/401284.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">Tomcat部署Web应用方法总结<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />在Tomcat中部署Java&nbsp;Web应用程序有两种方式：静态部署和动态部署。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />在下文中$CATALINA_HOME指的是Tomcat根目录。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />一、静态部署&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />静态部署指的是我们在服务器启动之前部署我们的程序，只有当服务器启动之后，我们的Web应用程序才能访问。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />以下3种方式都可以部署：（以PetWeb项目为例说明，PetWeb目录假设是F:</span><span style="color: #000000">/</span><span style="color: #000000">PetWeb）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">1</span><span style="color: #000000">.利用Tomcat自动部署&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />将PetWeb目录拷贝到$CATALINA_HOME</span><span style="color: #000000">/</span><span style="color: #000000">webapps下，然后启动服务器就可以了，Tomcat启动时将自动加载应用。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />访问地址如下：http:</span><span style="color: #008000">//</span><span style="color: #008000">localhost:8080/PetWeb/&nbsp;</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />这种方式比较简单，但是web应用程序必须在webapps目录下。Tomcat的Webapps目录是Tomcat默认的应用目录，当服务器启动时，会加载所有这个目录下的应用。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2</span><span style="color: #000000">.修改Server.xml文件部署&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />这种方式可以不必将PetWeb目录拷贝到webapps下，直接在F:</span><span style="color: #000000">/</span><span style="color: #000000">部署。方法如下，更改$CATALINA_HOME</span><span style="color: #000000">/</span><span style="color: #000000">conf</span><span style="color: #000000">/</span><span style="color: #000000">server.xml文件，<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />找到以下内容：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Xml代码：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">1</span><span style="color: #000000">.</span><span style="color: #000000">&lt;</span><span style="color: #000000">Context&nbsp;&nbsp;path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/Pet</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;reloadable&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;docBase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">F:/PetWeb</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;workDir&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">d:/Mywebapps/emp</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />path：是访问时的根地址，表示访问的路径；如上述例子中，访问该应用程序地址如下：http:</span><span style="color: #008000">//</span><span style="color: #008000">localhost:8080/Pet/&nbsp;</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />reloadable：表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">表示当应用程序中的内容发生更改之后服务器不会自动加载，这个属性在开发阶段通常都设为true，方便开发，在发布阶段应该设置为false，提高应用程序的访问速度。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />docbase：表示应用程序的路径，注意斜杠的方向&#8220;</span><span style="color: #000000">/</span><span style="color: #000000">&#8221;。&nbsp;docBase可以使用绝对路径，也可以使用相对路径，相对路径相对于webapps。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />workdir：表示缓存文件的放置地址<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">3</span><span style="color: #000000">.增加自定义web部署文件(推荐使用，不需要重启Tomcat&nbsp;)&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />这种方式和方法2差不多，但不是在Server.xml文件中添加Context标签，而是在$CATALINA_HOME</span><span style="color: #000000">/</span><span style="color: #000000">conf&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">Catalina</span><span style="color: #000000">/</span><span style="color: #000000">localhost中添加一个xml文件，如Pet.xml.在Tomcat安装目录conf</span><span style="color: #000000">/</span><span style="color: #000000">Catalina&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">localhost下，里面有Tomcat自带的三个应用，随意复制其中的一个XML文件，然后修改docbase指向你自己的应用程序，并把文件名改名，各参数参见方法2中的</span><span style="color: #000000">&lt;</span><span style="color: #000000">Context</span><span style="color: #000000">&gt;</span><span style="color: #000000">标签的参数，或者你也可以自己新建一个XML文件。(注意此文件名将作为Context中的path属性值,不管文件里的path属性值如何设置也是无效的&nbsp;)，将以下内容复制过去，修改相应路径即可。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Xml代码：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">1</span><span style="color: #000000">.</span><span style="color: #000000">&lt;</span><span style="color: #000000">Context&nbsp;&nbsp;path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/Pet</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;docBase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">F:/PetWeb</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">2</span><span style="color: #000000">.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">0</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;privileged&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">true</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;reloadable&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">3</span><span style="color: #000000">.</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Context</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />访问地址如下：http:</span><span style="color: #008000">//</span><span style="color: #008000">localhost:8080/Pet/&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />注：&nbsp;Web应用以.war文件的形式部署&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />可以将JSP程序打包成一个war包放在目录下，服务器会自动解开这个war包，并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包，它是将一个Web程序的所有内容进行压缩得到。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />我们刚才是将PetWeb文件夹部署在了服务器中，我们知道可以将Web应用程序的内容打成.war&nbsp;包，然后在部署在服务器上。打包请参考如下步骤：&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">、打开命令提示符（cmd）&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">2</span><span style="color: #000000">、设置jdk环境变量&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">3</span><span style="color: #000000">、在命令提示符中进入项目文件夹F:</span><span style="color: #000000">/</span><span style="color: #000000">PetWeb后，键入如下命令：jar&nbsp;cvf&nbsp;Pet.war&nbsp;</span><span style="color: #000000">*/</span><span style="color: #000000">&nbsp;.&nbsp;&nbsp;&nbsp;（注意最后有个&#8220;.&nbsp;&#8221;）。这样在F:</span><span style="color: #000000">/</span><span style="color: #000000">PetWeb下应该有Pet.war文件。&nbsp;（也可以打包到指定的地方，命令如下：jar&nbsp;cvf&nbsp;d:</span><span style="color: #000000">/</span><span style="color: #000000">Pet.war&nbsp;</span><span style="color: #000000">*/</span><span style="color: #000000">&nbsp;.&nbsp;）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />部署Pet.war文件非常简单，将刚才xml文件中的docBase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">F:/PetWeb</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;更改为docBase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">F:/Pet.war</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;或者直接将其拷贝到webapps目录下就可以。然后重新启动服务器就可以将Pet.war部署为一个Web应用程序了。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />如果你够细心的话你会发现，服务器将Pet.war文件解开，并且在webapps下面又生成了一个Pet文件夹，然后把Pet.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩，将xml配置文件中的unpackWAR&nbsp;属性设置为</span><span style="color: #000000">"</span><span style="color: #000000">false</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;即可。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />二、动态部署&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />动态部署是指可以在服务器启动之后部署web应用程序，而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件，如果在$CATALINA_HOME</span><span style="color: #000000">/</span><span style="color: #000000">webapps</span><span style="color: #000000">/</span><span style="color: #000000">下没有该文件，你必须去重新下载tomcat，否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME</span><span style="color: #000000">/</span><span style="color: #000000">conf</span><span style="color: #000000">/</span><span style="color: #000000">tomcat</span><span style="color: #000000">-</span><span style="color: #000000">users.xml文件，内容如下：（关于这个文件的更多内容，请参考&nbsp;Java&nbsp;Web应用程序的安全模型二&nbsp;）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">tomcat</span><span style="color: #000000">-</span><span style="color: #000000">users</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">role&nbsp;rolename</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">role&nbsp;rolename</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">role1</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">role&nbsp;rolename</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">manager</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">user&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">coresun</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;password</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">coresun</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;roles</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">manager</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">user&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;password</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;roles</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">user&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">both</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;password</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;roles</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat,role1</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">user&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">role1</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;password</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">tomcat</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;roles</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">role1</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">tomcat</span><span style="color: #000000">-</span><span style="color: #000000">users</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/401284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-07-07 11:45 <a href="http://www.blogjava.net/youngturk/archive/2013/07/07/401284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web页面检索数据库中的字段是乱码问题</title><link>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 03 May 2013 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/398720.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/398720.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/398720.html</trackback:ping><description><![CDATA[this.databaseEncoding = "GBK";<br />//&nbsp;&nbsp;this.databaseEncoding = "ISO8859-1";<br />&nbsp;&nbsp;this.platformEncoding = "GBK";<br /><br />获得数据库字符时候需要转换<img src ="http://www.blogjava.net/youngturk/aggbug/398720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-05-03 10:33 <a href="http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web应用从tomat向weblogic8中迁移遇到的三个问题</title><link>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 09 Jan 2013 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/394000.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/394000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/394000.html</trackback:ping><description><![CDATA[<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">一、系统环境</p>
<blockquote style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<p>1、web应用在tomcat上运行，一切正常。</p>
<p>2、OS：windows XP sp3</p>
<p>3、weblogic version：8.1.3.0</p></blockquote>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">二 、问题及解决方法</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1 、 weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamIOException： 在web应用的WEB-INF目录下新增（如果没有）weblogic.xml文件，写入下面内容：</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(0,0,255)">&lt;?</span>xml version="1.0" encoding="UTF-8"<span style="color: rgb(0,0,255)">?&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span>!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">weblogic</span>-<span style="color: rgb(255,0,0)">web</span>-<span style="color: rgb(255,0,0)">app</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">session</span>-<span style="color: rgb(255,0,0)">descriptor</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">session</span>-descriptor<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">descriptor</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>encoding<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>UTF-8<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>pageCheckSeconds<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>-1<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>compilerSupportsEncoding<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>true<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>verbose<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>false<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-descriptor<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">charset</span>-<span style="color: rgb(255,0,0)">params</span><span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input</span>-<span style="color: rgb(255,0,0)">charset</span><span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">resource</span>-<span style="color: rgb(255,0,0)">path</span><span style="color: rgb(0,0,255)">&gt;</span>/*<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">resource</span>-path<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">java</span>-<span style="color: rgb(255,0,0)">charset</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>UTF-8<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">java</span>-charset-name<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">input</span>-charset<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">charset</span>-params<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">weblogic</span>-web-app<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp; 保存，重新deploy应用<span class="Apple-converted-space">&nbsp;</span><br /></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">2、 sun.io.MalformedInputException：修改区域和语言选型。</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">控制面板-&gt;区域和语言选型-&gt;高级-&gt;代码页转换表，去掉54936（GB18030简体中文）前面的对勾，保存更改。重新deploy应用。</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">3 、weblogic.servlet.jsp.JspException: (line 1): page directive contentType at /unieap/ria3.3/pages/config.jsp:1 previously defined ：修改jsp文件，不能重复定义：&lt;%@ page contentType="text/html; charset=UTF-8"%&gt;</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在含有&lt;%@ include file="/unieap/ria3.3/pages/config.jsp"%&gt;这样的代码的JSP文件中，如果在文件头部已经定义了contentType，那么在被包含的文件中如果重复定义contentType，尽管相同，weblogoic也会报错，只能改JSP文件，保证一个页面中只有一个contentType的定义。这个问题在tomcat中是不存在的，可能是两个应用服务器的解析机制不同。</p><img src ="http://www.blogjava.net/youngturk/aggbug/394000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-01-09 09:00 <a href="http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse 使用tomcat需要首先安装其插件，然后下载服务器，最后部署， Eclipse Tomcat插件的配置， 及 Tomcat 的配置</title><link>http://www.blogjava.net/youngturk/archive/2012/11/22/391787.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 22 Nov 2012 13:43:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/22/391787.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391787.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/22/391787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391787.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391787.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body">
<p>首先下载 对应 eclipse 版本的 tomcat 插件版本，(这里要注意: Tomcat 插件是Tomcat 插件，Tomcat 是 Tomcat, 两者不能混淆！)</p>
<p>下载地址：<a href="http://www.eclipsetotale.com/tomcatPlugin.html">http://www.eclipsetotale.com/tomcatPlugin.html</a></p>
<p>然后将得到的压缩包解压，放入 eclipse 的 plugins 目录中重启 eclipse, Tomcat 插件安装成功！</p>
<p>当然安装成功不并代表能使用，这里还要配置 Tomcat, 才能正常使用 Tomcat 插件，</p>
<p>配置过程：</p>
<p>首先下载当前 Eclipse 能使用的 Tomcat 版本，</p>
<p>下载地址：<a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a>&nbsp;</p>
<p>然后解压到指定的目录，然后配置</p>
<p>Eclipse - toolsbar&nbsp; -&gt;&nbsp; Window&nbsp; -&gt;&nbsp; Prefences&nbsp; -&gt;&nbsp; Tomcat&nbsp; -&gt; 指向刚才 Tomcat 解压的目录，</p>
<p>到此配置完成，使用 Tomcat 插件可以启动、关闭 Tomcat.</p>
<p>使用 Eclipse 建立 Dynamic Web Project 如：HelloProject </p>
<p>右键 Run As &#8211;&gt;&nbsp; Run On Server&nbsp; -&gt;&nbsp; 如图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007163478.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HelloProject" border="0" alt="HelloProject" src="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007192624.jpg" width="842" height="561" /></a> </p>
<p>弹出如图界面配置：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007218838.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HelloProject.ConfigSever" border="0" alt="HelloProject.ConfigSever" src="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007241016.jpg" width="504" height="624" /></a> </p>
<p>配置完成，会在看到这样效果项目目录下会有 Servers 一个目录，是专属 HelloProject 项目的 Tomcat 配置，</p>
<p>还会在控制台那块看到 Servers 如图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007252454.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="finish" border="0" alt="finish" src="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007288012.jpg" width="656" height="347" /></a> </p>
<p>这时已经可以使用 Tomcat , Start、Stop、Restart 等.</p>
<p>重点要说的，也是下边要讲的是：</p>
<p>对于上图红圈中的 server.xml 和 Tomcat/conf/server.xml&nbsp; 文件，</p>
<p>我们说过了红圈中的 server.xml 是针对 HelloProject 生成的配置文件，当然多个项目也可以共用 一个 Servers 目录下的配置！这个暂时先不讲。</p>
<p>而 Tomcat/conf/server.xml&nbsp; 是 Tomcat 本身所有，有更大的通用性。</p>
<p>为了便于区分我们把红圈中的 server.xml 叫 project.server.xml, 把 Tomcat/conf/server.xml 叫 tomcat.server.xml。</p>
<p>本次主要讲 server.xml 中的 &lt;Context &#8230; /&gt;</p>
<p>来看 project.server.xml 中的&nbsp; &lt;Context docBase="HelloProject" path="/HelloProject" reloadable="true" source="org.eclipse.jst.jee.server:HelloProject"/&gt; </p>
<p>docBase 指的是 相对 Servers 目录 平级的 HelloProject 目录 即项目目录，如图：</p>
<p><a href="http://images.cnblogs.com/cnblogs_com/jspace/201104/20110404000729488.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dir" border="0" alt="dir" src="http://images.cnblogs.com/cnblogs_com/jspace/201104/201104040007294599.jpg" width="208" height="126" /></a>&nbsp;</p>
<p>path 指的是 网站访问路径，如：<a href="http://locahost:8080/HelloProject">http://locahost:8080/HelloProject</a></p>
<p>像这样生成的这个 project.server.xml 我们一般不要动.</p>
<p>而对于 tomcat.server.xml 中 &lt;Content &#8230; /&gt;</p>
<p>我们看这两配置都是对的：</p>
<p>&lt;!--&lt;Context path="/HP" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject\WebContent" workDir=&#8221;D:\worDir&#8221; /&gt; --&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Context path="/HelloProject" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject" workDir=&#8221;C:\workDir&#8221; /&gt;</p>
<p>&nbsp;　　&lt;Context path="/HPT" reloadable="true" docBase="C:\Documents and Settings\Administrator\workspace\HelloProject" workDir=&#8221;C:\workDir&#8221; /&gt;</p>
<p>网站访问路径分别是 </p>
<p><a href="http://localhost:8080/HP">http://localhost:8080/HP</a></p>
<p><a href="http://localhost:8080/HelloProject">http://localhost:8080/HelloProject</a></p>
<p>对于上边的 HPT 我们可以这样访问：</p>
<p><a href="http://localhost:8080/HPT/WebContent">http://localhost:8080/HPT/WebContent</a></p>
<p>这样可以看到 如果是 docBase 指到了 WebContent 下则可用自己定义的 path,</p>
<p>如果 docBase 指到的是项目目录则必须使用项目原来的 path, 或者路径访问做下修改</p>
<p>最后的 workDir 是部署后 jsp 发布的目录，可以自己随便指定，或不指定.</p></div><img src ="http://www.blogjava.net/youngturk/aggbug/391787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-22 21:43 <a href="http://www.blogjava.net/youngturk/archive/2012/11/22/391787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js读取XML文件 JS读写XML文件</title><link>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 09 Nov 2012 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391095.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391095.html</trackback:ping><description><![CDATA[<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><strong>JavaScript</strong></p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;script type="text/javascript"&gt;<br />&nbsp;&nbsp;&nbsp; //&lt;![CDATA[<br />&nbsp;&nbsp;&nbsp; //嵌入CDATA段可以防止不兼容Javacript的浏览器不产生错误信息<br />&nbsp;&nbsp;&nbsp; //增加正则表达式<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp; String.prototype.getQueryString = function(name) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var reg = new RegExp("(^|&amp;|\\?)" + name + "=([^&amp;]*)(&amp;|$)"), r;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (r = this.match(reg)) return unescape(r[2]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />&nbsp;&nbsp;&nbsp; };<br />&nbsp;&nbsp;&nbsp; var address = location.search.getQueryString("address"); //通过表达式获得传递参数<br />&nbsp;&nbsp;&nbsp; //针对两种浏览器，分别获取xmlDocument对象// 读取XML文件&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; function loadXML(xmlFile) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xmlDoc;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (window.ActiveXObject) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc = new ActiveXObject("Microsoft.XMLDOM");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.async = false;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.load(xmlFile);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (document.implementation &amp;&amp; document.implementation.createDocument) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc = document.implementation.createDocument("", "", null);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.async = false;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.load(xmlFile);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('您的浏览器不支持该系统脚本！');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return xmlDoc;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp; //调用地图<br />&nbsp;&nbsp;&nbsp; var map; //全局GMap GOOGLE 地图 API<br />&nbsp;&nbsp;&nbsp; function load() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (GBrowserIsCompatible()) //检查浏览器兼容性<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new GMap2(document.getElementById("map")); //地图加栽到ID为map的DIV中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addControl(new GSmallMapControl());&nbsp;&nbsp; //添加Gcontrol控件//放大缩小的那个<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.setCenter(new GLatLng(26.577014, 104.877977), 15); //设置地图中心<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建多个坐标点（从INFO.XML文件中读取）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xmlDoc = l<strong>oadXML("Info.xml");<span class="Apple-converted-space">&nbsp;</span></strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var members = xmlDoc.getElementsByTagName("number");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var maxRes = members.length;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var i = 0; i &lt;= maxRes; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //XML中记录了多个坐标点，要每个点都标记一下<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oName = members[i].getElementsByTagName("name");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oLongitude = members[i].getElementsByTagName("Longitude");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oLatitude = members[i].getElementsByTagName("Latitude");</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var name = oName[0].firstChild.nodeValue<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Longitude = oLongitude[0].firstChild.nodeValue<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Latitude = oLatitude[0].firstChild.nodeValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var marker = new GMarker(new GLatLng(Longitude, Latitude), { title: name });&nbsp;&nbsp;&nbsp;&nbsp; //对每个点添加标记<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; marker.openInfoWindowHtml("&lt;div style=line-height:20px;text-align:center;font-size:12px;'&gt;&lt;a href=Left.aspx?info=" + name + " target=framLeft&gt;" + name + ",点击查看信息&lt;/a&gt;&lt;/div&gt;");<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addOverlay(marker);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; //]]&gt;<br />&lt;/script&gt;</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><strong>XML文件</strong></p><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;?xml version="1.0" encoding="GB2312"?&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;earth&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='1'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;213211212213213&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.577014&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.877977&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='2'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;112312332131212&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.586685&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.863815&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='3'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;123123121323112&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.572101&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.866905&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='4'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;123132123123321&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.572254&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.891624&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;/earth&gt;</span><img src ="http://www.blogjava.net/youngturk/aggbug/391095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-09 15:21 <a href="http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>外网访问虚拟机MYSQL</title><link>http://www.blogjava.net/youngturk/archive/2012/11/09/391084.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 09 Nov 2012 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/09/391084.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391084.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/09/391084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391084.html</trackback:ping><description><![CDATA[<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">第一步是要创建一个可以远程连接的 MySQL 用户<br style="line-height: 25px" />mysql&gt; GRANT ALL PRIVILEGES ON dbname.* TO<span class="Apple-converted-space">&nbsp;</span><a style="line-height: 25px; color: rgb(195,163,124); text-decoration: none" href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#39;&#117;&#115;&#101;&#114;&#39;&#64;&#39;&#37;&#39;" rel="nofollow">'user'@'%'</a>&nbsp; IDENTIFIED BY 'userPWD'&nbsp; WITH GRANT OPTION;<br style="line-height: 25px" />mysql&gt; flush privileges;<br style="line-height: 25px" />### "%"表示任意IP，如果要为特定的user指定从特定的IP访问，方法如下：<br style="line-height: 25px" />mysql&gt; GRANT ALL PRIVILEGES ON dbname.* TO<span class="Apple-converted-space">&nbsp;</span><a style="line-height: 25px; color: rgb(195,163,124); text-decoration: none" href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#39;&#117;&#115;&#101;&#114;&#39;&#64;&#39;&#105;&#112;&#39;" rel="nofollow">'user'@'ip'</a>&nbsp; IDENTIFIED BY 'userPWD'&nbsp; WITH GRANT OPTION;<br style="line-height: 25px" />mysql&gt; flush privileges;</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">第二步是要修改 mysql 的配置文件 /etc/mysql/my.cnf</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">在旧版本中找到 skip-networking，把它注释掉就可以了<br style="line-height: 25px" />#skip-networking</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">在新版本中：<br style="line-height: 25px" /># Instead of skip-networking the default is now to listen only on<span class="Apple-converted-space">&nbsp;</span><br style="line-height: 25px" /># localhost which is more compatible and is not less secure.<br style="line-height: 25px" />bind-address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 127.0.0.1</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">bind-address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 127.0.0.1 这一行要注释掉<br style="line-height: 25px" />#bind-address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 127.0.0.1</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">或者把允许访问的ip 填上<br style="line-height: 25px" />bind-address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 192.168.1.100</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">然后重启 MySQL<span class="Apple-converted-space">&nbsp;</span><br style="line-height: 25px" />/etc/init.d/mysql restart</p>
<p style="text-align: left; padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(49,33,0); text-indent: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; font: 14px/25px Arial, Helvetica, simsun, u5b8bu4f53; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(156,123,81); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">以上方法只完成了外网访问的配置，它只允许从主机上访问MYSQL，如果要完全从外网访问则需要将主机的3306端口映射到虚拟机的3306上（当然其它的端口也是可以的）</p><br />虚拟机端口映射:<br /><a href="http://wenku.baidu.com/view/b01c2ccca1c7aa00b52acb62.html">http://wenku.baidu.com/view/b01c2ccca1c7aa00b52acb62.html</a>###<img src ="http://www.blogjava.net/youngturk/aggbug/391084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-09 11:41 <a href="http://www.blogjava.net/youngturk/archive/2012/11/09/391084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>框架搭建好后,没有详细的错误信息,主页无法访问.用tomcat去调试,没有详细log..</title><link>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 08 Nov 2012 08:19:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391032.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391032.html</trackback:ping><description><![CDATA[<p align="left">这两天在搭建s<a href="http://www.linuxso.com/command/tr.html" target="_blank"><u>tr</u></a>uts2+spring+hibernate框架的过程中遇到如题的错误，在百度和谷歌上查了两天，以致快到了崩溃的边缘。最后还是解决了。这个问题的出现，原因有很多，在这总结如下，以供分享：<br /><br /><br /><br />框架搭建好后，启动服务器出现如下的信息：<br /><br />log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).<br /><br />log4j:WARN Please initialize the log4j system properly.<br /><br />2009-11-6 21:39:17 org.apache.<a href="http://www.linuxso.com/command/cat.html" target="_blank"><u>cat</u></a>alina.core.StandardCont<a href="http://www.linuxso.com/command/ex.html" target="_blank"><u>ex</u></a>t start<br /><br />严重: Error listenerStart<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start<br /><br />严重: Context startup failed <a href="http://www.linuxso.com/command/du.html" target="_blank"><u>du</u></a>e to previous errors<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install<br /><br />信息: Installing web application at context path /to<a href="http://www.linuxso.com/command/mc.html" target="_blank"><u>mc</u></a>at-docs from URL <a href="http://www.linuxso.com/command/file.html" target="_blank"><u>file</u></a>:D:/server/Tomcat 5.0/webapps/tomcat-docs<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install<br /><br />信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav<br /><br />。。。。<br /><br /><br /><br />可能出错的地方：<br /><br />1.web.xml文件 web应用部署描述符，里面的部署的xml文件或者类，如果这些找不到就会发生startup failed due to previous errors错误。<br /><br />2.如果在应用spring的话，在配置文件applicationContext.xml中定义的类、xml文件找不到也会报这个错误。<br /><br />3.在web.xml，struts.xml，applicationContext.xml文件中自身有任何一点错误都可能引起上面的这个问题，而不仅仅是附带的文件错误导致。<br /><br />4.如果使用ibatis的话，在SqlMapConfig.xml中定义的xml文件找不到也会报这个错误。（hibernate的配置在整合spring的时候使用spring的配置文件）<br /><br />5.JDK的版本问题，最好使用JDK5.0 或者更高的版本。<br /><br />6.Eclipse和tomcat的版本兼容问题<br /><br />7.框架整合的过程中在导入到lib下的jar包冲突也可能产生该错误。<br /><br />8.jar包的缺少以及jar包的版本也可产生该错误。<br /><br />9.其他的原因<br /><br /><br /><br />解决该问题的途径：<br /><br />由于上面问题可能已经是web服务器内部产生了错误，而且IDE中的Log信息较少，问题的解决很难入手。<br /><br />而该问题的产生经常会导致页面跳转寻找不到文件的 Http 404 错误。。。。。<br /><br />可以通过在tomcat中添加log文件来让log信息提示的更精确一些，即设置log输出的等级。<br /><br />1.tomcat的安装路径下tomcat home下的common文件夹下的classes文件夹中创建log4j.properties文件，即<br /><br />。。。Apache Software Foundation/Tomcat 5.5/common/classes<br /><br />log4j.properties配置如下（配置是转载）：<br /><br />log4j.rootLogger=info,Console,R <br /><br />log4j.appender.Console=org.apache.log4j.ConsoleAppender<br /><br />log4j.appender.Console.layout=org.apache.log4j.PatternLayout<br /><br />#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n<br /><br />log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-<a href="http://www.linuxso.com/command/dd.html" target="_blank"><u>dd</u></a> HH:mm:ss} %5p %c{1}:%L - %m%n<br /><br /><br /><br />log4j.appender.R=org.apache.log4j.DailyRollingFileAppender<br /><br />log4j.appender.R.File=${catalina.home}/logs/tomcat.log <br /><br />log4j.appender.R.layout=org.apache.log4j.PatternLayout<br /><br />log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n <br /><br /><br /><br />log4j.logger.org.apache=info,R<br /><br />log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R <br /><br />log4j.logger.org.apache.catalina.core=info,R<br /><br />log4j.logger.org.apache.catalina.session=info,R<br /><br /><br /><br />2.将log4j-1.2.15.jar和commons-logging.jar包拷贝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。<br /><br /><br /><br />做好上面两步，启动服务器的时候，会在tomcat的安装路径下的。。Apache Software Foundation/Tomcat 5.5/logs下自动的<br /><br />生成tomcat.log文件以记录日志信息。<br /><br />注：tomcat.log文件中的日志信息会记载很多，如果过大就可能产生磁盘空间不足的问题，建议定时的清除日志信息。<br /><br /><br />通过上面的日志文件信息可以定位到比较具体的问题根源，在仔细的查看问题一一攻破即可解决。<br /><br /><br />我在搭建框架之后，在web.xml文件中配置的欢迎页面显示的时候报404的错误，通过上面的途径找到了两个错误，虽然花了两天的时间，最终还是解决了。<br /></p><img src ="http://www.blogjava.net/youngturk/aggbug/391032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-08 16:19 <a href="http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2-java.lang.NullPointerException at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java </title><link>http://www.blogjava.net/youngturk/archive/2012/11/06/390865.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 06 Nov 2012 05:30:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/06/390865.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/390865.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/06/390865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/390865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/390865.html</trackback:ping><description><![CDATA[最近在学习Struts2的时候，总是无法启动Tomcat服务器，报错如下，用6.0、7.0都不行，起初以为是环境的问题，弄了一下午还是不行。我用的Strtus jar是2.16但是前几天做项目还是好好，可切换个工作空间却就老是报如下的错误，甚是烦人。在网上转了好久，用试用了他的很多方法都不能解决问题。 
<p>1.strtus.xml</p>
<p>&nbsp;&nbsp;&nbsp; 在struts.xml中配置了<span style="color: #000000">&lt;constant name="struts.devMode" value="true"/&gt; (据说配置了&lt;constant name="struts.configuration.xml.reload" value="true"/&gt;也会报错，这个我没试过）<br />时启动tomcat报错。<br />org.apache.catalina.core.StandardContext filterStart<br />严重: Exception starting filter struts2<br />java.lang.NullPointerException<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> <strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony<strong style="background-color: #880000; color: white">.xwork2.util</strong>.FileManager$FileRevision.needsReloading(FileManager.java:209)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> <strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony<strong style="background-color: #880000; color: white">.xwork2.util</strong>.FileManager.fileNeedsReloading(FileManager.java:60)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> <strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:168)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> <strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> <strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:191)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:108)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardService.start(StandardService.java:516)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.Catalina.start(Catalina.java:578)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> java.lang.reflect.Method.invoke(Method.java:597)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)<br />&nbsp;&nbsp;&nbsp; <strong style="background-color: #ffff66; color: black">at</strong> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)<br />2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start<br />严重: Error filterStart<br />2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start<br />严重: Context [/Struts2Demo2] startup failed due to previous errors</span> </p>
<p><span style="color: #000000">网上解决办法：devMode模式是开发模式，开启它则默认开启了i18n.reload、 configuration.xml.reload。这个错误是由于configuration.xml.reload设置为true倒置的，但是网上的资料没有说明原因及解决办法，倒是一个国外的apache相关BBS上有人说这是216版本的BUG,并且附上了一个.patch修正文件，说217版本会修正。。。可我不会用也不知道是不是这个原因，这个问题就一直搁置在这里了。过了几个月，也就是最近网上查了下发现在apache的一个邮件列表中有关于这个的解释，</span><span style="background-color: yellow; color: #000000">原因很简单，tomcat的安装路径包含空格我的成功的办法:据说这是struts2.1.6的bug，换新版本2.1.8就ok，当然还要相应的xwork版本，好像是xwork2.1.6，我将原来的2个旧jar包换成新的就ok了。</span><span style="color: #000000">。。。无语啊。。。一试果然如此。<br /></span> </p>
<p><span style="color: #000000">注意:2个jar包换了之后重启tomcat可能会报错，</span> Unable to load bean: type: class:<strong style="background-color: #a0ffff; color: black">com.</strong>opensymphony.xwork2.ObjectFactory - bean - jar，这个错误是开始那个引起的，把tomcat中相应项目删除了，重新部署就没问题了</p>
<p><span style="color: #000000">&nbsp;&nbsp; 下面是4个开发模式常用配置的简介---（来自http://hi.baidu.com/12261016/blog/item/1d7f6ccaded7248ec91768ec.html）<br />&nbsp;&nbsp;&nbsp; &lt;!-- 开启使用开发模式，详细错误提示 --&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- &lt;constant name="struts.devMode" value="true"/&gt;--&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- 指定每次请求到达，重新加载资源文件 --&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- &lt;constant name="struts.i18n.reload" value="true"/&gt;--&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- 指定每次配置文件更改后，自动重新加载 --&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- &lt;constant name="struts.configuration.xml.reload" value="true"/&gt;--&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- 指定XSLT Result使用样式表缓存 --&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- &lt;constant name="struts.xslt.nocache" value="true"/&gt;--&gt;</span> </p><img src ="http://www.blogjava.net/youngturk/aggbug/390865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-06 13:30 <a href="http://www.blogjava.net/youngturk/archive/2012/11/06/390865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决jdk高版本向低版本配置问题.. tomcat服务器可以用jdk1.5启动,编译环境向下兼容 jdk1.5,jdk1.4之间转换</title><link>http://www.blogjava.net/youngturk/archive/2012/10/29/390413.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 29 Oct 2012 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/10/29/390413.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/390413.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/10/29/390413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/390413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/390413.html</trackback:ping><description><![CDATA[但是里面compile的编译环境用jdk1.4的编译<br />这事为了tomcat jdk5环境能适应jdk1.4的编译环境,向下兼容..<img src ="http://www.blogjava.net/youngturk/aggbug/390413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-10-29 17:32 <a href="http://www.blogjava.net/youngturk/archive/2012/10/29/390413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat 不同版本之间转换问题 报java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory错</title><link>http://www.blogjava.net/youngturk/archive/2012/10/15/389568.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 15 Oct 2012 05:49:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/10/15/389568.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/389568.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/10/15/389568.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/389568.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/389568.html</trackback:ping><description><![CDATA[<div>1.属性preferences目录tomcat属性下version和tomcat home需要设置对应版本<br />2.comcat advanced目录下对应的tomcat base也需要对应相应版本<br /><br />tomcat 6在使用redio进行<br />DeliveryMainIndex obj = (DeliveryMainIndex)this.bindRequestToBean(DeliveryMainIndex.class);<br />反射时候取值会有问题.</div> <img src ="http://www.blogjava.net/youngturk/aggbug/389568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-10-15 13:49 <a href="http://www.blogjava.net/youngturk/archive/2012/10/15/389568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat设置虚拟目录的方法, 不修改server.xml </title><link>http://www.blogjava.net/youngturk/archive/2012/10/10/389276.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 10 Oct 2012 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/10/10/389276.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/389276.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/10/10/389276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/389276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/389276.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">在tomcat文件夹的conf\catalina\localhost增加project&nbsp;.xml文件<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />文件内容:&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">Context&nbsp;path</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/project</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;reloadable</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">true</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;docBase</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">E:\javastudio\oob</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;workDir</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">E:\javastudio\oob\work</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />docBase是项目文件夹的web</span><span style="color: #000000">-</span><span style="color: #000000">inf文件夹的上一层目录<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />workDir是指Tomcat解析Jsp转换为Java文件，并编译为class存放的文件夹，设置&nbsp;在项目文件夹里面，可以避免移植到其他地方首次读取jsp文件需要重新解析&nbsp;。一般格式：项目文件夹\work<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />reloadable是指可以重新加载，一般设置为true，方便使用，不需要经常重启Tomcat。&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />以后启动Tomcat，在浏览器输入http:</span><span style="color: #008000">//</span><span style="color: #008000">localhost:8080/project就能访问该项目的welcome文件。</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">***************</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />为什么要不修改server.xml呢？在Tomcat6的doc帮助文档中，官方是不提倡修改&nbsp;server.xml来添加虚拟目录的！<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而我认为，以上使用的方法，非常方便于项目的移植，移植后，只有修改docBase和workDir的值就行了，甚至可以去掉workDir这个属性！<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">***************</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />代码&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">Context&nbsp;path</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/ucshop</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;reloadable</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">true</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;docBase</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">G:\UCshop\ucshop</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;workDir</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">G:\UCshop\ucshop\work</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">Resource&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">jdbc/ucshop</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;auth</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">Container</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">javax.sql.DataSource</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driverClassName</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">com.microsoft.jdbc.sqlserver.SQLServerDriver</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ucshop</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">sa</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">sa</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxIdle</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">5</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxWait</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">5000</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxActive</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">10</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">Context</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />注：如果不需要数据源，可以不写resource标签的部分。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/389276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-10-10 09:16 <a href="http://www.blogjava.net/youngturk/archive/2012/10/10/389276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcate 报 PermGen space 错误Exception in thread "main" java.lang.OutOfMemoryError: PermGen space</title><link>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sun, 22 Jul 2012 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/383729.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/383729.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/383729.html</trackback:ping><description><![CDATA[修改myEclipse中window===&gt;preference===&gt;myeclipse==&gt;tomcat==&gt;jdk===&gt;operation Java VM arguments<br />设置:<br /><br />-Xmx256m <br />-Xms256m <br />-XX:PermSize=512m <br />-XX:MaxPermSize=512m <br />-verbose:gc <br /><img src ="http://www.blogjava.net/youngturk/aggbug/383729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-07-22 20:25 <a href="http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>导入SVN工程到myEclipse中</title><link>http://www.blogjava.net/youngturk/archive/2012/07/04/382232.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 04 Jul 2012 15:12:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/07/04/382232.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/382232.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/07/04/382232.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/382232.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/382232.html</trackback:ping><description><![CDATA[<div>1，改名包为可编译的source包<br />2，新建WEB-INF/src 为source包<br />3.将工程右键点击，发布为j2ee web工程</div><img src ="http://www.blogjava.net/youngturk/aggbug/382232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-07-04 23:12 <a href="http://www.blogjava.net/youngturk/archive/2012/07/04/382232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>国际化</title><link>http://www.blogjava.net/youngturk/archive/2012/06/07/380275.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 07 Jun 2012 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/06/07/380275.html</guid><description><![CDATA[<div>  <p><strong><span style="font-family:宋体;">一：<span style="color:red">准备资源文件，资源文件的命名格式如下：</span></span></strong></p>  <p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baseName_language_country.properties</span></p>  <p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baseName_language.properties</span></p>  <p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baseName.properties</span></p>  <p style="margin-left:21.0pt"><span style="font-family:宋体;">其中</span>baseName<span style="font-family:宋体;">是资源文件的基本名，我们可以自定义，但</span>language<span style="font-family:宋体;">和</span>country<span style="font-family:宋体;">必须是</span>java<span style="font-family:宋体;">支持的语言和国家。如：</span></p>  <p style="margin-left:21.0pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:宋体;">中国大陆：</span>baseName_zh_CN.properties</p>  <p style="margin-left:21.0pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family:宋体;">美国：</span>baseName_en_US.properties</p>  <p style="margin-left:21.0pt"><span style="font-family:宋体; color:red">现在为应用添加两个资源文件：</span></p>  </div><div>  <p style="text-indent:21.0pt"><strong><span style="font-family:宋体;">二：准备好资源文件后：配置</span></strong><strong>struts.xml</strong><strong><span style="font-family:宋体;">文件</span></strong></p>  <p style="margin-left:21.0pt;text-indent:21.0pt">struts.custom.i18n.resources<span style="font-family:宋体;">常量把资源文件定义为全局资源文件，</span></p>  <p style="margin-left:21.0pt;text-indent:21.0pt"><span>&lt;constant name="struts.custom.i18n.resources" value="itcast"/&gt;</span></p>  <p style="margin-left:21.0pt;text-indent:21.0pt">Itcast<span style="font-family:宋体;">为资源文件的基本名。</span></p>  </div><div>  <p style="text-indent:21.0pt"><strong><span style="font-family:宋体;">三：后面我们可以在页面或</span></strong><strong>action</strong><strong><span style="font-family:宋体;">中访问国际化信息：</span></strong></p>  <p style="text-indent:21.0pt"><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong>1<span style="font-family:宋体;">在</span>JSP<span style="font-family:宋体;">页面中使用</span>&lt;s:text name=&#8221;&#8221;/&gt;<span style="font-family:宋体;">标签输出国际化信息。</span></p>  <p style="text-indent:21.0pt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;name</span><span style="font-family:宋体;">为资源文件中的</span>key<span style="font-family:宋体;">。</span></p>  <p style="margin-left:15.75pt; text-indent:5.25pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2</span><span style="font-family:宋体;">在</span>action <span style="font-family:宋体;">类中，可以继承</span>ActionSupport<span style="font-family:宋体;">，使用</span>getText(&#8220;key&#8221;)<span style="font-family: 宋体;">方法得到国际</span></p>  <p style="margin-left:15.75pt; text-indent:36.75pt;"><span style="font-family:宋体;">化信息，该方法的第一个参数用于指定资源文件中的</span>key<span style="font-family:宋体;">。</span></p>  <p style="margin-left:15.75pt; text-indent:5.25pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3</span><span style="font-family:宋体;">在表单标签中，通过</span>key<span style="font-family:宋体;">属性指定资源文件中的</span>key<span style="font-family:宋体;">，如：</span></p>  <p style="margin-left: 15.75pt; text-indent: 5.25pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;s:textfield&nbsp;name=&#8221;realname&#8221;&nbsp;key=&#8221;user&#8221;/&gt;</span></p><p style="margin-left: 15.75pt; text-indent: 5.25pt;"><br /><span></span></p><p style="margin-left: 15.75pt; text-indent: 5.25pt;"><br /><span></span></p><p style="margin-left:15.75pt; text-indent:5.25pt;"><span><br /></span></p>  </div>想取得国际化内容：1继承action <span style="font-family:宋体;">类中，可以继承</span>ActionSupport，2使用this.getText方法<br /><br /><div>ActionContext.getContext().put("message"<sup style="color: red;">为jsp页面中变量</sup>, <br />this.getText<sup style="color: red;">获得</sup><sup style="color: red;">baseName_zh_CN.properties文件中对应key值</sup>("welcome"));<br /><br />中英文环境修改: 工具－－－》选项－－－》语言，进行修改..</div><img src ="http://www.blogjava.net/youngturk/aggbug/380275.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-06-07 22:22 <a href="http://www.blogjava.net/youngturk/archive/2012/06/07/380275.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修改myEclipse自带的tomcat发布端口</title><link>http://www.blogjava.net/youngturk/archive/2012/05/29/379480.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 29 May 2012 13:52:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/29/379480.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/379480.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/29/379480.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/379480.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/379480.html</trackback:ping><description><![CDATA[首先到你的<font face="Times New Roman">MyEclipse</font>文件下去搜索<font face="Times New Roman">server.<font face="Times New Roman"><font face="Times New Roman">xml</font> </font></font>这个文件<br />
<p>修改这个文件里面的一个参数</p>
<p><font face="Times New Roman">&lt;Connector port="8080" protocol="HTTP/1.1"</font></p>
<p><font face="Times New Roman">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> connectionTimeout="20000"</font></p>
<p><font face="Times New Roman">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> redirectPort="8443" /&gt;</font></p><br />2.在<font face="Times New Roman">Myeclipse</font>中，在（工具栏吧叫做，就是有<font face="Times New Roman">File Edit</font> 的那一行），选<font face="Times New Roman">window -&gt; Preferences -&gt; Myeclipse -&gt; Servers -&gt; Integrated Sandbox -&gt; Myeclipse Tomcat 6修改相应端口号</font><img src ="http://www.blogjava.net/youngturk/aggbug/379480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-29 21:52 <a href="http://www.blogjava.net/youngturk/archive/2012/05/29/379480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>同一项目重新引入tomcat</title><link>http://www.blogjava.net/youngturk/archive/2012/05/18/378522.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 18 May 2012 11:17:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/18/378522.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/378522.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/18/378522.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/378522.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/378522.html</trackback:ping><description><![CDATA[去掉tomcat中service.xml中的context配置，建立tomcat的新发布路径new--》other--&gt;java tomcat建立新发布路径<br />service.xml中重建项目context配置.<img src ="http://www.blogjava.net/youngturk/aggbug/378522.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-18 19:17 <a href="http://www.blogjava.net/youngturk/archive/2012/05/18/378522.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat目录下的service.xml解析</title><link>http://www.blogjava.net/youngturk/archive/2012/05/17/378367.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 17 May 2012 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/17/378367.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/378367.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/17/378367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/378367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/378367.html</trackback:ping><description><![CDATA[<div class="tit">tomcat server.xml配置详解</div>
<div class="date">2011-03-08 16:34</div>
<table style="width: 100%; table-layout: fixed">
<tbody>
<tr>
<td>
<div id="blog_text" class="cnt">
<p>
<table style="background: #ffffff" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="19%">
<div><strong><span>元素名</span></strong></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div><strong><span>属性</span></strong></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><strong><span>解释</span></strong></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="2" width="19%">
<div>server</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>port</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定一个端口，这个端口负责监听关闭</span>tomcat<span>的请求</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>shutdown</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">指定向端口发送的命令字符串</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="19%">
<div>service</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>name</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>service<span>的名字</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="7" width="19%">
<div>Connector<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>表示客户端和</span>service<span>之间的连接</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>port</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">指定服务器端要创建的端口号，并在这个断口监听来自客户端的请求</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>minProcessors</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">服务器启动时创建的处理请求的线程数</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>maxProcessors</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">最大可以创建的处理请求的线程数</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>enableLookups</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>如果为</span>true<span>，则可以通过调用</span>request.getRemoteHost()<span>进行</span>DNS<span>查询来得到远程客户端的实际主机名，若为</span>false<span>则不进行</span>DNS<span>查询，而是返回其</span>ip<span>地址</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>redirectPort</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定服务器正在处理</span>http<span>请求时收到了一个</span>SSL<span>传输请求后重定向的端口号</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>acceptCount</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">指定当所有可以使用的处理请求的线程数都被使用时，可以放到处理队列中的请求数，超过这个数的请求将不予处理</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>connectionTimeout</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定超时的时间数</span>(<span>以毫秒为单位</span>)</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="19%">
<div>Engine<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>表示指定</span>service<span>中的请求处理机，接收和处理来自</span>Connector<span>的请求</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>defaultHost</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定缺省的处理请求的主机名，它至少与其中的一个</span>host<span>元素的</span>name<span>属性值是一样的</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="3" width="19%">
<div>Context<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>表示一个</span>web<span>应用程序，通常为</span>WAR<span>文件，关于</span>WAR<span>的具体信息见</span>servlet<span>规范</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>docBase</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>应用程序的路径或者是</span>WAR<span>文件存放的路径</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>path</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>表示此</span>web<span>应用程序的</span>url<span>的前缀，这样请求的</span>url<span>为</span><a href="http://localhost:8080/path/" target="_blank"><span style="color: #095c83">http://localhost:8080/path/</span></a>****</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>reloadable</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>这个属性非常重要，如果为</span>true<span>，则</span>tomcat<span>会自动检测应用程序的</span>/WEB-INF/lib <span>和</span>/WEB-INF/classes<span>目录的变化，自动装载新的应用程序，我们可以在不重起</span>tomcat<span>的情况下改变应用程序</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="3" width="19%">
<div>host<span style="color: #0000ff">(</span><span style="color: #0000ff">表示一个虚拟主机</span>)</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>name</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">指定主机名</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>appBase</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff">应用程序基本目录，即存放应用程序的目录</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>unpackWARs</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>如果为</span>true<span>，则</span>tomcat<span>会自动将</span>WAR<span>文件解压，否则不解压，直接从</span>WAR<span>文件中运行应用程序</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="4" width="19%">
<div>Logger<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>表示日志，调试和错误信息</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>className</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>logger<span>使用的类名，此类必须实现</span>org.apache.catalina.Logger <span>接口</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>prefix</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>log<span>文件的前缀</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>suffix</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>log<span>文件的后缀</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>timestamp</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>如果为</span>true<span>，则</span>log<span>文件名中要加入时间，如下例</span>:localhost_log.2001-10-04.txt</span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="19%">
<div>Realm<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>表示存放用户名，密码及</span>role<span>的数据库</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>className</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>Realm<span>使用的类名，此类必须实现</span>org.apache.catalina.Realm<span>接口</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 19.72%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" rowspan="3" width="19%">
<div>Valve<span style="color: #0000ff">(</span><span style="color: #0000ff"><span>功能与</span>Logger<span>差不多，其</span>prefix<span>和</span>suffix<span>属性解释和</span>Logger <span>中的一样</span>)</span></div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>className</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>Valve<span>使用的类名，如用</span>org.apache.catalina.valves.AccessLogValve<span>类可以记录应用程序的访问信息</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>directory</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>指定</span>log<span>文件存放的位置</span></span></div></td></tr>
<tr>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 18.04%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="18%">
<div>pattern</div></td>
<td style="border-bottom-color: #d4d0c8; padding-bottom: 0cm; background-color: transparent; border-top-color: #d4d0c8; padding-left: 0cm; width: 62.24%; padding-right: 0cm; border-right-color: #d4d0c8; border-left-color: #d4d0c8; padding-top: 0cm" width="62%">
<div><span style="color: #0000ff"><span>有两个值，</span>common<span>方式记录远程主机名或</span>ip<span>地址，用户名，日期，第一行请求的字符串，</span>HTTP<span>响应代码，发送的字节数。</span>combined<span>方式比</span>common<span>方式记录的值更多</span></span></div></td></tr></tbody></table></p>
<div>
<table border="0">
<tbody>
<tr>
<td>
<div class="cnt">
<div>
<h3>&lt;Server&gt;元素</h3><br />它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个</div>
<div>&lt;Service&gt;元素.并且它不能做为任何元素的子元素.</div>
<div><br /></div>
<div>
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/4e5149204e452310ac34de13.jpg"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Server </span><span style="color: #ff0000">port</span><span style="color: #0000ff">="8005"</span><span style="color: #ff0000"> shutdown</span><span style="color: #0000ff">="SHUTDOWN"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #0000ff">&gt;</span></div></div></div>
<div><br />1&gt;className指定实现org.apache.catalina.Server接口的类.默认值为</div>
<div>org.apache.catalina.core.StandardServer<br />2&gt;port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出</div>
<div>shutdown命令.该属性是必须的.<br />3&gt;shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设</div>
<div>置<br /><br />
<h3>&lt;Service&gt;元素</h3><br />该元素由org.apache.catalina.Service接口定义,它包含一个&lt;Engine&gt;元素,以及一个或多个</div>
<div>&lt;Connector&gt;,这些Connector元素共享用同一个Engine元素<br />&nbsp;&nbsp;&nbsp; 
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/d55b794776acdbd6b3b7dc13.jpg"  alt="" /><span style="color: #000000"> </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Service </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="Catalina"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/efb281816f2f52f60df4d213.jpg"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Service </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="Apache"</span><span style="color: #0000ff">&gt;</span></div></div><br />&nbsp;&nbsp; 第一个&lt;Service&gt;处理所有直接由Tomcat服务器接收的web客户请求.<br />&nbsp;&nbsp; 第二个&lt;Service&gt;处理所有由Apahce服务器转发过来的Web客户请求<br />1&gt;className 指定实现org.apahce.catalina.Service接口的类.默认为</div>
<div>org.apahce.catalina.core.StandardService<br />2&gt;name定义Service的名字<br /><br />
<h3>&lt;Engine&gt;元素</h3><br />每个Service元素只能有一个Engine元素.元素处理在同一个&lt;Service&gt;中所有&lt;Connector&gt;元素接收到的客</div>
<div>户请求.由org.apahce.catalina.Engine接口定义.</div>
<div>
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/f03108a1d36cb3f9caefd013.jpg"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Engine </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="Catalina"</span><span style="color: #ff0000"> defaultHost</span><span style="color: #0000ff">="localhost"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #0000ff">&gt;</span></div></div></div>
<div>1&gt;className指定实现Engine接口的类,默认值为StandardEngine<br />2&gt;defaultHost指定处理客户的默认主机名,在&lt;Engine&gt;中的&lt;Host&gt;子元素中必须定义这一主机<br />3&gt;name定义Engine的名字<br />在&lt;Engine&gt;可以包含如下元素&lt;Logger&gt;, &lt;Realm&gt;, &lt;Value&gt;, &lt;Host&gt;<br /></div>
<h3>&lt;Host&gt;元素</h3>
<div><br />它由Host接口定义.一个Engine元素可以包含多个&lt;Host&gt;元素.每个&lt;Host&gt;的元素定义了一个虚拟主机.它</div>
<div>包含了一个或多个Web应用.<br /></div>
<div>
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/4e72e9ae2a77f45d4a36d613.jpg"  alt="" /><span style="color: #000000"> </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Host </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="localhost"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000"> appBase</span><span style="color: #0000ff">="webapps"</span><span style="color: #ff0000"> unpackWARs</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"> autoDeploy</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">&gt;</span></div></div></div>
<div>1&gt;className指定实现Host接口的类.默认值为StandardHost<br />2&gt;appBase指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于&lt;CATALINA_HOME&gt;的相对目录.如果</div>
<div>没有此项,默认为&lt;CATALINA_HOME&gt;/webapps<br />3&gt;autoDeploy如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有</div>
<div>web应用加入进来,会自运发布这个WEB应用<br />4&gt;unpackWARs如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为</div>
<div>false将直接运行为WAR文件<br />5&gt;alias指定主机别名,可以指定多个别名<br />6&gt;deployOnStartup如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用</div>
<div>.如果Web应用中的server.xml没有相应的&lt;Context&gt;元素,将采用Tomcat默认的Context<br />7&gt;name定义虚拟主机的名字<br />在&lt;Host&gt;元素中可以包含如下子元素<br />&lt;Logger&gt;, &lt;Realm&gt;, &lt;Value&gt;, &lt;Context&gt;</div>
<div>
<h3>&lt;Context&gt;元素</h3><br />它由Context接口定义.是使用最频繁的元素.每个&lt;Context元素代表了运行在虚拟主机上的单个Web应用.</div>
<div>一个&lt;Host&gt;可以包含多个&lt;Context&gt;元素.每个web应用有唯一<br />的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个<br />ServletContext对象.</div>
<div>
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/8969ae0aa8ae2efb2fddd413.jpg"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Context </span><span style="color: #ff0000">path</span><span style="color: #0000ff">="/sample"</span><span style="color: #ff0000"> docBase</span><span style="color: #0000ff">="sample"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000"> reloadbale</span><span style="color: #0000ff">="true"</span><span style="color: #0000ff">&gt;</span></div></div></div>
<div>1&gt;className指定实现Context的类,默认为StandardContext类<br />2&gt;path指定访问Web应用的URL入口,注意/myweb,而不是myweb了事<br />3&gt;reloadable如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-</div>
<div>INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用<br />3&gt;cookies指定是否通过Cookies来支持Session,默认值为true<br />4&gt;useNaming指定是否支持JNDI,默认值为了true</div>
<div>在&lt;Context&gt;元素中可以包含如下元素<br />&lt;Logger&gt;, &lt;Realm&gt;, &lt;Resource&gt;, &lt;ResourceParams&gt;<br /><br />
<h3>&lt;Connector&gt;元素</h3><br />由Connector接口定义.&lt;Connector&gt;元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客</div>
<div>户返回响应结果.</div>
<div>
<div style="padding-bottom: 4px; padding-left: 5.4pt; width: 95%; padding-right: 5.4pt;background: #e6e6e6; padding-top: 4px">
<div><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/09b074accb4521987dd92a13.jpg"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Connector </span><span style="color: #ff0000">port</span><span style="color: #0000ff">="8080"</span><span style="color: #ff0000"> maxThread</span><span style="color: #0000ff">="50"</span><span style="color: #ff0000"> minSpareThreads</span><span style="color: #0000ff">="25"</span><span style="color: #ff0000"> maxSpareThread</span><span style="color: #0000ff">="75"</span><span style="color: #ff0000"> <br /><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/6c5b7bcf9b410f4400e92813.jpg"  alt="" />enableLookups</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"> redirectPort</span><span style="color: #0000ff">="8443"</span><span style="color: #ff0000"> acceptCount</span><span style="color: #0000ff">="100"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000"> <br /><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/3e5f5513e871bb55203f2e13.jpg"  alt="" />connectionTimeout</span><span style="color: #0000ff">="20000"</span><span style="color: #ff0000"> disableUploadTimeout</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/436fe102caa73a5a7aec2c13.jpg"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Connection </span><span style="color: #ff0000">port</span><span style="color: #0000ff">="8009"</span><span style="color: #ff0000"> enableLookups</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"> redirectPort</span><span style="color: #0000ff">="8443"</span><span style="color: #ff0000"> debug</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000"> <br /><img align="top" src="http://hiphotos.baidu.com/swj_20100329/pic/item/63b9600d9674d6b337d12213.jpg"  alt="" />protocol</span><span style="color: #0000ff">="AJP/1.3"</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;</span></div></div></div>
<div>第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定</div>
<div>义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.<br />Connector元素共用属性<br />1&gt;className指定实现Connector接口的类<br />2&gt;enableLookups如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用</div>
<div>request.getRemoteHost方法返回客户机主机名.默认值为true<br />3&gt;redirectPort指定转发端口.如果当前端口只支持non-SSL请求,在需要安全通信的场命,将把客户请求转</div>
<div>发至SSL的redirectPort端口<br />HttpConnector元素的属性<br />1&gt;className实现Connector的类<br />2&gt;port设定Tcp/IP端口,默认值为8080,如果把8080改成80,则只要输入<a href="http://localhost/"><span style="color: #108ac6">http://localhost</span></a>即可<br />因为TCP/IP的默认端口是80<br />3&gt;address如果服务器有二个以上ip地址,此属性可以设定端口监听的ip地址.默认情况下,端口会监听服务</div>
<div>器上所有的ip地址<br />4&gt;bufferSize设定由端口创建的输入流的缓存大小.默认值为2048byte<br />5&gt;protocol设定Http协议,默认值为HTTP/1.1</div>
<div>##############################################</div>
<div>忍无可忍了，决定做个全面的测试，环境为mysql5+tomcat5.<span style="color: #c00000">5</span><span>，框架基于spring+hibernate+struts，测试工具为jmeter，loadruner。&nbsp;&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;直接部署工程，运行jmeter，确实，不到</span><span style="color: #c00000">30</span><span>的并发，工程当了。。&nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;优化tomcat &nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编辑bin目录下catalina.bat，加入以下语句&nbsp;&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;set&nbsp;JAVA_OPTS=-Xms1024m&nbsp;-Xmx1024m&nbsp;-XX:MaxNewSize=256m&nbsp;-XX:MaxPermSize=256m&nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内存的设置于系统内存大小有关，一般取</span><span style="color: #c00000">50</span><span>% &nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编辑conf下server.xml，&nbsp;&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&lt;Connector&nbsp;port=</span><span style="color: #0000ff">"8080"</span><span>&nbsp;maxHttpHeaderSize=</span><span style="color: #0000ff">"8192"</span><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;maxThreads=</span><span style="color: #0000ff">"1000"</span><span>&nbsp;minSpareThreads=</span><span style="color: #0000ff">"250"</span><span>&nbsp;maxSpareThreads=</span><span style="color: #0000ff">"500"</span><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enableLookups=</span><span style="color: #0000ff">"false"</span><span>&nbsp;redirectPort=</span><span style="color: #0000ff">"8443"</span><span>&nbsp;acceptCount=</span><span style="color: #0000ff">"1100"</span><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;connectionTimeout=</span><span style="color: #0000ff">"20000"</span><span>&nbsp;disableUploadTimeout=</span><span style="color: #0000ff">"true"</span><span>&nbsp;/&gt;&nbsp;&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;&nbsp;优化mysql &nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我主要修改了一个最大连接数，修改my.ini&nbsp;&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;max_connections=</span><span style="color: #c00000">1024</span><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;优化连接池设置&nbsp;&nbsp;</span></div>
<div><span>&nbsp;</span><span>jdbc.maxActive=</span><span style="color: #c00000">2048</span><span>&nbsp;&nbsp;</span><span>jdbc.maxIdle=</span><span style="color: #c00000">1024</span><span>&nbsp;&nbsp;</span><span>jdbc.minIdle=</span><span style="color: #c00000">5</span><span>&nbsp;&nbsp;</span><span>jdbc.maxWait=</span><span style="color: #c00000">8000</span><span>&nbsp;&nbsp;</span></div>
<div><span></span><span>jdbc.removeAbandonedTimeout=</span><span style="color: #c00000">8</span><span>&nbsp;&nbsp;</span><span>jdbc.removeAbandoned=</span><span><strong><span style="color: #7f0055">true</span></strong></span><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<div><span>&nbsp;&nbsp;在loadruner下设置</span><span style="color: #c00000">300</span><span>并发，轻松愉快，小试牛刀；接着做稳定性测试，设置</span><span style="color: #c00000">300</span><span>人同时在线，运行时间为无限次，到今天为止已经有</span><span style="color: #c00000">36</span><span>小时了，监控系统的cpu，内存使用情况，一切良好。&nbsp;&nbsp;</span></div>
<div><span>########################################</span></div>
<div><span>1)<br />&lt;Context path="/hh" docBase="D:\aaa"&nbsp; reloadable="true" debug="0"/&gt;<br />当是这个配置的时候，再浏览器中输入<a href="http://localhost:8080/hh/a.html" target="_blank">http://localhost:8080/hh/a.html</a>可以访问到d:\aaa下的a.html.<br /><br />(2)<br />&lt;Context path="/" docBase="D:\aaa"&nbsp; reloadable="true" debug="0"/&gt;<br />当是这个配置的时候，再浏览器中输入<a href="http://localhost:8080/a.html" target="_blank">http://localhost:8080/a.html</a>,访问到却是 tomcat 安装目录下的 ROOT 下的a.html.<br /><br />(3)<br />&lt;Context path="" docBase="D:\aaa"&nbsp; reloadable="true" debug="0"/&gt;<br />当是这个配置的时候，再浏览器中输入<a href="http://localhost:8080/a.html" target="_blank">http://localhost:8080/a.html</a>,访问到D:\下的a.html.<br /></span></div></div></td></tr></tbody></table></div></div></td></tr></tbody></table><img src ="http://www.blogjava.net/youngturk/aggbug/378367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-17 10:05 <a href="http://www.blogjava.net/youngturk/archive/2012/05/17/378367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>