﻿<?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-虎年打老虎-随笔分类-5-TOMCAT/WEBLOGIC/JBOSS</title><link>http://www.blogjava.net/ywj-316/category/42592.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 24 Jun 2010 17:29:25 GMT</lastBuildDate><pubDate>Thu, 24 Jun 2010 17:29:25 GMT</pubDate><ttl>60</ttl><item><title>Tomcat设置404错误页无法正确定向</title><link>http://www.blogjava.net/ywj-316/archive/2010/06/24/324312.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Thu, 24 Jun 2010 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2010/06/24/324312.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/324312.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2010/06/24/324312.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/324312.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/324312.html</trackback:ping><description><![CDATA[<p>在开始动手之前,我一般习惯整体盘算一遍,这样感觉下起手来,比较顺. 只是有时盘算的过于细致,往往会被某个小细节拖住步子. 所以这个时候,老大总会叫我move on,先把架子搭起来,如果什么都考虑,那么永远也无法前进.<br />
做了一些东西之后,真的发现这个理想中成立实际中困难的理论. 设想,最好把目光放在方向上.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先感叹一下.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 404错误页出现这个问题,我在web.xml定义了如下的定义,<br />
&nbsp;&nbsp;&nbsp; &lt;error-page&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;error-code&gt;404&lt;/error-code&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;location&gt;/error_404.htm&lt;/location&gt;<br />
&nbsp; &lt;/error-page&gt;<br />
&nbsp;&nbsp;&nbsp; 路径的是对的,奇怪的是我测试时输入一个不存在的页,出现404错误提示出现的却不是我所定义的页面,这就怪了.我记得在weblogic中我也是这样定义的,所以我首先想到的时服务器的问题. 只是这种问题,不要分析,我试着在javaworld发了一贴,问了一下. 二楼给了一个链接, 我进去才发现这个问题已经有很多人在讨论了.这是实际出问题,要是一直照着课本,应该不会想到这些问题,只是自己实际操作的才发现这些.</p>
<p>通看了所有的帖子,出现这种问题,主要有以下几个因素:<br />
1.使用 tomcat 服务器<br />
2.tomcat服务器版本<br />
3.浏览器问题<br />
4.IE的设置<br />
5.错误页本身的大小</p>
<p>第一点,我想我的经历应该可以算个证明.</p>
<p>第二点.很多人用tomcat5.5可以顺利的找到错误页</p>
<p>第三点.换了一下FF,可以顺利找到指定的错误页</p>
<p>第四点.我设置了 工具--&gt;Internet选项--&gt;高级---&gt;显示http友好错误信息(取消选择) ,可以顺利定向到指定错误页,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明可以</p>
<p>第五点,我试着发狠输了一大堆东西进去, 指定错误页顺利出现了.</p>
<p><br />
下面是提供的解决方法:</p>
<p>1.升级tomcat (换成其它服务器,代价沉重)<br />
2.ie 设定&nbsp;&nbsp; 工具--&gt;Internet选项--&gt;高级---&gt;显示http友好错误信息(取消选择) ,<br />
3. 把错误页做大一点,具体几个字节,没测试,估计三四百足够了, (加一个div块,display设为none就可以了)<br />
4.设置指定错误页页状态为正确,骗过IE的自定义错误页 方法<br />
&lt;%<br />
&nbsp;&nbsp;&nbsp; response.setStatus(200); // 200 = HttpServletResponse.SC_OK<br />
%&gt;</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/leniz/archive/2006/01/18/582765.aspx</p>
感谢这位仁兄
<img src ="http://www.blogjava.net/ywj-316/aggbug/324312.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2010-06-24 10:19 <a href="http://www.blogjava.net/ywj-316/archive/2010/06/24/324312.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决java.lang.OutOfMemoryError: PermGen space(转帖)</title><link>http://www.blogjava.net/ywj-316/archive/2010/04/22/319071.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Thu, 22 Apr 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2010/04/22/319071.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/319071.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2010/04/22/319071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/319071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/319071.html</trackback:ping><description><![CDATA[&nbsp;PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理，所以如果APP会LOAD很多CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。<br />
<br />
&nbsp;在tomcat中redeploy时出现outofmemory的错误. 可以有以下几个方面的原因: <br />
&nbsp;1, 使用了proxool,因为proxool内部包含了一个老版本的cglib. <br />
&nbsp;2, log4j,最好不用,只用common-logging <br />
&nbsp;3, 老版本的cglib,快点更新到最新版。<br />
&nbsp;4, 更新到最新的hibernate3.2 3、
<p><span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;这里以tomcat环境为例，其它WEB服务器如jboss,weblogic等是同一个道理。</span></span></span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;一、java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理，所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。</span></span></span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;解决方法： 手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在&#8220;echo "Using CATALINA_BASE: $CATALINA_BASE"&#8221;上面加入以下行： JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m </span></span></span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;建议：将相同的第三方jar文件移置到tomcat/shared/lib目录下，这样可以达到减少jar 文档重复占用内存的目的。</span></span></span></span></p>
<p><br />
<span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;二、java.lang.OutOfMemoryError: Java heap space Heap size 设置 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值，其初始空间(即-Xms)是物理内存的1/64，最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提示：在JVM中如果98％的时间是用于GC且可用的Heap size 不足2％的时候将抛出此异常信息。提示：Heap Size 最大不要超过可用物理内存的80％，一般的要将-Xms和-Xmx选项设置为相同，而-Xmn为1/4的-Xmx值。 </span></span></span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;解决方法：手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh 在&#8220;echo "Using CATALINA_BASE: $CATALINA_BASE"&#8221;上面加入以下行： JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m" </span></span></span></span></p>
<p><br />
<span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-family: Verdana"><span style="font-size: 10pt">&nbsp;三、实例，以下给出1G内存环境下java jvm 的参数设置参考： <br />
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true " </span></span></span></span></p>
<p><span style="font-family: Verdana"></span>&nbsp;</p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">内存不足 (OutOfMemory) － 由于java 堆或本地内存中的内存耗尽，应用程序显示&#8220;内存不足&#8221;错误。<br />
内存泄漏－java 堆或本地内存的持续内存增长，最终将导致内存不足状态。<br />
调试内存泄漏状态的技术与调试内存不足状态的技术相同。</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">Java 堆 － 这是 JVM 用来分配 java 对象的内存。<br />
如果JVM不能在java堆中获得更多内存来分配更多java对象，将会抛出java内存不足(java.lang.OutOfMemoryError)错误。默认情况下，应用程序崩溃。<br />
本地内存 － 这是 JVM 用于其内部操作的内存。<br />
如果 JVM 无法获得更多本地内存，它将抛出本地内存不足（本地 OutOfMemoryError）错误。当进程到达操作系统的进程大小限值，或者当计算机用完 RAM 和交换空间时，通常会发生这种情况。<br />
进程大小 － 进程大小将是 java 堆、本地内存与加载的可执行文件和库所占用内存的总和。在 32 位操作系统上，进程的虚拟地址空间最大可达到 4 GB。从这 4 GB 内存中，操作系统内核为自己保留一部分内存（通常为 1 - 2 GB）。剩余内存可用于应用程序。</span></span></p>
<p><br />
<span style="font-family: Verdana"><span style="font-size: 10pt">2.<br />
java虚拟机是遵照有关规范的一个软件实现，存在于内存中。jvm是由安装于机器上的jre(java运行环境)生成的。通常来说，每次运行一个application都会生成一个jvm，但是也可以有多个程序在同一个jvm里面。</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">可以使用命令java -X查看非标准(non-standard)的程序运行选项，以下3个是我所关心的：</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">-Xms&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set initial Java heap size<br />
-Xmx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set maximum Java heap size<br />
-Xss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set java thread stack size</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">－Xmx设置应用程序(不是jvm)能够使用的最大内存数，这个值也不应该设置过大，超过机器内存。<br />
例如：java -Xmx50M testMemory<br />
－Xms设置程序初始化的时候内存栈的大小。有时可以用于改变程序运行的效率。<br />
例如使用以下方式运行一个占用20M左右内存的程序testMemory：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java -Xms50M testMemory</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">使用这个方法可以得到应用的空间使用量<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_157_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_157_Open_Text.style.display='none'; Codehighlighter1_0_157_Closed_Image.style.display='inline'; Codehighlighter1_0_157_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_0_157_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_157_Closed_Text.style.display='none'; Codehighlighter1_0_157_Open_Image.style.display='inline'; Codehighlighter1_0_157_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span id="Codehighlighter1_0_157_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_157_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top" />Returns&nbsp;the&nbsp;total&nbsp;amount&nbsp;of&nbsp;memory&nbsp;in&nbsp;the&nbsp;Java&nbsp;virtual&nbsp;machine.&nbsp;The&nbsp;value&nbsp;returned&nbsp;by&nbsp;this&nbsp;method&nbsp;may&nbsp;vary&nbsp;over&nbsp;time,&nbsp;depending&nbsp;on&nbsp;the&nbsp;host&nbsp;environment.<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /></span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />System.out.println(Runtime.getRuntime().totalMemory());</span></div>
<p></span></span><br />
<span style="font-family: Verdana"><span style="font-size: 10pt">3.<br />
查看java进程的内存使用量：<br />
Windows任务管理器(Windows Task Manager)<br />
</span></span><br />
<span style="font-family: Verdana"><span style="font-size: 10pt">增大运行应用的Heap的取值</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">//命令行执行方式<br />
java -Xms256 -Xmx512m app</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">//Tomcat执行方式<br />
Windows下，在文件{tomcat_home}/bin/catalina.bat</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">在文件开头可增加如下设置：</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt; color: #003300">set JAVA_OPTS=-Xms256m -Xmx512m</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">Unix下，在文件{tomcat_home}/bin/catalina.sh的前面，可增加如下设置：</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt; color: #003300">JAVA_OPTS='-Xms256m -Xmx512m'</span></span></p>
<img src ="http://www.blogjava.net/ywj-316/aggbug/319071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2010-04-22 10:18 <a href="http://www.blogjava.net/ywj-316/archive/2010/04/22/319071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat-清除缓存</title><link>http://www.blogjava.net/ywj-316/archive/2010/02/28/314104.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Sun, 28 Feb 2010 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2010/02/28/314104.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/314104.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2010/02/28/314104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/314104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/314104.html</trackback:ping><description><![CDATA[<p>方法一：<br />
&nbsp;conf/server.xml文件<br />
&nbsp;Context path中间加上reloadable="true"<br />
&nbsp;例如：&lt;Context path="" docBase=""&nbsp; reloadable="true"&gt;</p>
<p>方法二：<br />
&nbsp;删除work目录下的缓存文件<br />
&nbsp;可以把Catalina目录删除；<br />
&nbsp;<br />
&nbsp;注意：不能把work整个目录删除，不然重启<a onclick="javascript:tagshow(event, 'tomcat');" href="javascript:;" target="_self"><u><strong>tomcat</strong></u></a>时，会把conf/web.xml删除掉，这样在启动时，<a onclick="javascript:tagshow(event, '%C8%D5%D6%BE');" href="javascript:;" target="_self"><u><strong>日志</strong></u></a>会提示：No Default <a onclick="javascript:tagshow(event, 'web');" href="javascript:;" target="_self"><u><strong>web</strong></u></a>.xml，且访问页面会显示404错误；</p>
<img src ="http://www.blogjava.net/ywj-316/aggbug/314104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2010-02-28 15:22 <a href="http://www.blogjava.net/ywj-316/archive/2010/02/28/314104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Session的原理</title><link>http://www.blogjava.net/ywj-316/archive/2010/02/20/313440.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Sat, 20 Feb 2010 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2010/02/20/313440.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/313440.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2010/02/20/313440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/313440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/313440.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;引言&nbsp;&nbsp;&nbsp; 在web开发中，session是个非常重要的概念。在许多动态网站的开发者看来，session就是一个变量，而且其表现像个黑洞，他只需要将东西在合适的时机放进这个洞里，等需要的时候再把东西取出来。这是开发者对session最直观的感受，但是黑洞里的景象或者说session内部到底是怎么工作的呢？当笔者向身边的一些同事或朋友问及相关的更进一...&nbsp;&nbsp;<a href='http://www.blogjava.net/ywj-316/archive/2010/02/20/313440.html'>阅读全文</a><img src ="http://www.blogjava.net/ywj-316/aggbug/313440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2010-02-20 12:48 <a href="http://www.blogjava.net/ywj-316/archive/2010/02/20/313440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置tomcat的连接池</title><link>http://www.blogjava.net/ywj-316/archive/2009/11/29/304138.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Sun, 29 Nov 2009 13:27:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2009/11/29/304138.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/304138.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2009/11/29/304138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/304138.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/304138.html</trackback:ping><description><![CDATA[配置tomcat的连接池<br />
修改context.xml<br />
&lt;Context reloadable="true"&gt;<br />
&nbsp;&lt;WatchedResource&gt;WEB-INF/web.xml&lt;/WatchedResource&gt;<br />
&nbsp;&lt;Resource name="jdbc/oracleds" auth="Container"<br />
&nbsp;type="javax.sql.DataSource"<br />
&nbsp;maxActive="100" maxldle="30" maxWait="10000"<br />
&nbsp;username="scott" password="tiger"<br />
&nbsp;driverClassName="oracle.jdbc.OracleDriver"<br />
&nbsp;url="jdbc:oracle:thin:@192.168.1.20:1521:ora9" /&gt;<br />
&lt;/Context&gt;
<img src ="http://www.blogjava.net/ywj-316/aggbug/304138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2009-11-29 21:27 <a href="http://www.blogjava.net/ywj-316/archive/2009/11/29/304138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat配置文件修改</title><link>http://www.blogjava.net/ywj-316/archive/2009/11/29/304134.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Sun, 29 Nov 2009 13:23:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2009/11/29/304134.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/304134.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2009/11/29/304134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/304134.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/304134.html</trackback:ping><description><![CDATA[<p>Tomcat 配置文件修改<br />
修改server.xml<br />
&lt;Connector port="8080" protocol="HTTP/1.1" maxThereads="150"<br />
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/&gt;<br />
目的：解决Get方法传参的中文乱码问题<br />
修改Context.xml<br />
&lt;Context&gt;修改成&lt;Context reloadable="true"&gt;<br />
目的:当WEB应用中的文件或web.xml 文件修改后Tomcat服务器会自动加载当前的web应用。避免重新启动Tomcat.<br />
&lt;Context reloadable="false"&gt;产品阶段不要改为true，改为 false<br />
修改tomcat-users.xml<br />
&lt;?xml version='1.0' encoding='uft-8'?&gt;<br />
&lt;tomcat-users&gt;<br />
&lt;role rolename="manager"/&gt;<br />
&lt;role rolename="admin"/&gt;<br />
&lt;user username="liuwei" password="liuwei"<br />
&nbsp;roles="admin,manager"/&gt;<br />
&lt;/tomcat-users&gt;</p>
<p>web错误处理<br />
401错误<br />
404错误<br />
500错误<br />
解决方案：订制错误信息页面，设置web.xml文件<br />
&lt;error-page&gt;<br />
&nbsp;&nbsp;&lt;error-code&gt;404&lt;/error-code&gt;<br />
&nbsp;&nbsp;&lt;location&gt;/error404.html&lt;/location&gt;<br />
&lt;/error-page&gt;<br />
&lt;error-page&gt;<br />
&nbsp;&nbsp;&lt;error-code&gt;500&lt;/error-code&gt;<br />
&nbsp;&nbsp;&lt;location&gt;/error500.html&lt;/location&gt;<br />
&lt;/error-page&gt;</p>
<img src ="http://www.blogjava.net/ywj-316/aggbug/304134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2009-11-29 21:23 <a href="http://www.blogjava.net/ywj-316/archive/2009/11/29/304134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>configuration/ConfigurationFactory用法(pache.commons包下)</title><link>http://www.blogjava.net/ywj-316/archive/2009/11/04/301109.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Wed, 04 Nov 2009 09:14:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2009/11/04/301109.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/301109.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2009/11/04/301109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/301109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/301109.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 读取配置文件有很多种方法，现就最常用的方法作以下总结：（其他会慢慢更新）configuration/ConfigurationFactory用法(pache.commons包下)本文：org.apache.commons.configuration.configuration其它：com.opensymphony.xwork2.config.configuration&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/ywj-316/archive/2009/11/04/301109.html'>阅读全文</a><img src ="http://www.blogjava.net/ywj-316/aggbug/301109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2009-11-04 17:14 <a href="http://www.blogjava.net/ywj-316/archive/2009/11/04/301109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat的异常 之 java.lang.IllegalArgumentException: Document base</title><link>http://www.blogjava.net/ywj-316/archive/2009/10/29/300210.html</link><dc:creator>junly</dc:creator><author>junly</author><pubDate>Thu, 29 Oct 2009 09:10:00 GMT</pubDate><guid>http://www.blogjava.net/ywj-316/archive/2009/10/29/300210.html</guid><wfw:comment>http://www.blogjava.net/ywj-316/comments/300210.html</wfw:comment><comments>http://www.blogjava.net/ywj-316/archive/2009/10/29/300210.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywj-316/comments/commentRss/300210.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywj-316/services/trackbacks/300210.html</trackback:ping><description><![CDATA[<p>明明已经将某个web应用从tomcat下的webapps下移除了，为什么还会抛这样的异常呢？</p>
<p>&nbsp;</p>
<p>java.lang.IllegalArgumentException: Document base *** does not exist or is not a readable</p>
<p>directory<br />
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)<br />
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3957)<br />
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4126)<br />
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br />
********</p>
<p>.................</p>
<p>其实这个问题很简单，tomcat的一个应用不只是那个文件夹而已...</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>详细操作应该是这样的：</p>
<p>1.该项目的War文件从***\apache-tomcat-6.0.16\webapps 移出；</p>
<p>2.该项目的某些配置从 ***apache-tomcat-6.0.16\work\Catalina\localhost 移除；</p>
<p>3.该项目的配置文件，目录： ***\apache-tomcat-6.0.16\conf\Catalina\localhost移除。</p>
<p>4.该项目的配置文件，目录： ***\apache-tomcat-6.0.16\conf\server.xml中改修或添加的配置是否正确。<br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
  <img src ="http://www.blogjava.net/ywj-316/aggbug/300210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywj-316/" target="_blank">junly</a> 2009-10-29 17:10 <a href="http://www.blogjava.net/ywj-316/archive/2009/10/29/300210.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>