??xml version="1.0" encoding="utf-8" standalone="yes"?>
做了一些东西之?真的发现q个理想中成立实际中困难的理? 设想,最好把目光攑֜方向?
先感叹一?
404错误出现这个问?我在web.xml定义了如下的定义,
<error-page>
<error-code>404</error-code>
<location>/error_404.htm</location>
</error-page>
路径的是对的,奇怪的是我试时输入一个不存在的页,出现404错误提示出现的却不是我所定义的页?q就怪了.我记得在weblogic中我也是q样定义?所以我首先惛_的时服务器的问题. 只是q种问题,不要分析,我试着在javaworld发了一?问了一? 二楼l了一个链? 我进L发现q个问题已经有很多h在讨Z.q是实际出问?要是一直照着课本,应该不会惛_q些问题,只是自己实际操作的才发现q些.
通看了所有的帖子,出现q种问题,主要有以下几个因?
1.使用 tomcat 服务?br />
2.tomcat服务器版?br />
3.览器问?br />
4.IE的设|?br />
5.错误|w的大小
W一?我想我的l历应该可以个证明.
W二?很多人用tomcat5.5可以利的找到错误页
W三?换了一下FF,可以利扑ֈ指定的错误页
W四?我设|了 工具-->Internet选项-->高--->昄http友好错误信息(取消选择) ,可以利定向到指定错误页,
说明可以
W五?我试着发狠输了一大堆东西q去, 指定错误顺利出C.
下面是提供的解决Ҏ:
1.升tomcat (换成其它服务?代h沉重)
2.ie 讑֮ 工具-->Internet选项-->高--->昄http友好错误信息(取消选择) ,
3. 把错误页做大一?具体几个字节,没测?估计三四百够了, (加一个div?display设ؓnone可以了)
4.讄指定错误页状态ؓ正确,骗过IE的自定义错误?Ҏ
<%
response.setStatus(200); // 200 = HttpServletResponse.SC_OK
%>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/leniz/archive/2006/01/18/582765.aspx
感谢q位仁兄q里以tomcat环境ZQ其它WEB服务器如jboss,weblogic{是同一个道理?/span>
一、java.lang.OutOfMemoryError: PermGen space PermGen space的全U是Permanent Generation space,是指内存的永久保存区? q块内存主要是被JVM存放Class和Meta信息?Class在被Loader时就会被攑ֈPermGen space? 它和存放cd?Instance)的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对 PermGen spaceq行清理Q所以如果你的应用中有很多CLASS的话,很可能出现PermGen space错误, q种错误常见在web服务器对JSPq行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大超q了jvm默认的大?4M)那么׃产生此错误信息了?/span>
解决ҎQ?手动讄MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh ?#8220;echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
Q将相同的第三方jar文gUȝ到tomcat/shared/lib目录下,q样可以辑ֈ减少jar 文重复占用内存的目的?/span>
二、java.lang.OutOfMemoryError: Java heap space Heap size 讄 JVM堆的讄是指javaE序q行q程中JVM可以调配使用的内存空间的讄.JVM在启动的时候会自动讄Heap size的|其初始空??Xms)是物理内存的1/64Q最大空?-Xmx)是物理内存的1/4。可以利用JVM提供?Xmn -Xms -Xmx{选项可进行设|。Heap size 的大是Young Generation 和Tenured Generaion 之和。提C:在JVM中如?8Q的旉是用于GC且可用的Heap size 不2Q的时候将抛出此异怿息。提C:Heap Size 最大不要超q可用物理内存的80Q,一般的要将-Xms?Xmx选项讄为相同,?Xmn?/4?Xmx倹{?
解决ҎQ手动设|Heap size 修改TOMCAT_HOME/bin/catalina.sh ?#8220;echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"
三、实例,以下l出1G内存环境下java jvm 的参数设|参考:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
内存不 (OutOfMemory) Q?׃java 堆或本地内存中的内存耗尽Q应用程序显C?#8220;内存不”错误?br /> 内存泄漏Qjava 堆或本地内存的持l内存增长,最l将D内存不状态?br /> 调试内存泄漏状态的技术与调试内存不状态的技术相同?/span>
Java ?Q?q是 JVM 用来分配 java 对象的内存?br /> 如果JVM不能在java堆中获得更多内存来分配更多java对象Q将会抛出java内存不(java.lang.OutOfMemoryError)错误。默认情况下Q应用程序崩溃?br /> 本地内存 Q?q是 JVM 用于其内部操作的内存?br /> 如果 JVM 无法获得更多本地内存Q它抛出本地内存不I本地 OutOfMemoryErrorQ错误。当q程到达操作pȝ的进E大限|或者当计算机用?RAM 和交换空间时Q通常会发生这U情c?br /> q程大小 Q?q程大小是 java 堆、本地内存与加蝲的可执行文g和库所占用内存的d。在 32 位操作系l上Q进E的虚拟地址I间最大可辑ֈ 4 GB。从q?4 GB 内存中,操作pȝ内核׃留一部分内存Q通常?1 - 2 GBQ。剩余内存可用于应用E序?/span>
2.
java虚拟机是늅有关规范的一个Y件实玎ͼ存在于内存中。jvm是由安装于机器上的jre(javaq行环境)生成的。通常来说Q每ơ运行一个application都会生成一个jvmQ但是也可以有多个程序在同一个jvm里面?/span>
可以使用命ojava -X查看非标?non-standard)的程序运行选项Q以?个是我所兛_的:
-Xms set initial Java heap size
-Xmx set maximum Java heap size
-Xss set java thread stack size
QXmx讄应用E序(不是jvm)能够使用的最大内存数Q这个g不应该设|过大,过机器内存?br />
例如Qjava -Xmx50M testMemory
QXms讄E序初始化的时候内存栈的大。有时可以用于改变程序运行的效率?br />
例如使用以下方式q行一个占?0M左右内存的程序testMemoryQ?br />
java -Xms50M testMemory
使用q个Ҏ可以得到应用的空间用量
3.
查看javaq程的内存用量Q?br />
Windowsd理?Windows Task Manager)
增大q行应用的Heap的取?/span>
//命o行执行方?br /> java -Xms256 -Xmx512m app
//Tomcat执行方式
Windows下,在文件{tomcat_home}/bin/catalina.bat
在文件开头可增加如下讄Q?/span>
set JAVA_OPTS=-Xms256m -Xmx512m
Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,可增加如下设|:
JAVA_OPTS='-Xms256m -Xmx512m'
Ҏ二:
删除work目录下的~存文g
可以把Catalina目录删除Q?br />
注意Q不能把work整个目录删除Q不焉?a onclick="javascript:tagshow(event, 'tomcat');" href="javascript:;" target="_self">tomcatӞ会把conf/web.xml删除掉,q样在启动时Q?a onclick="javascript:tagshow(event, '%C8%D5%D6%BE');" href="javascript:;" target="_self">日志会提C:No Default web.xmlQ且讉K面会显C?04错误Q?/p>
web错误处理
401错误
404错误
500错误
解决ҎQ订刉误信息页面,讄web.xml文g
<error-page>
<error-code>404</error-code>
<location>/error404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error500.html</location>
</error-page>
java.lang.IllegalArgumentException: Document base *** does not exist or is not a readable
directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3957)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4126)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
********
.................
其实q个问题很简单,tomcat的一个应用不只是那个文g夹而已...
详细操作应该是这LQ?/p>
1.该项目的War文g?**\apache-tomcat-6.0.16\webapps UdQ?/p>
2.该项目的某些配置?***apache-tomcat-6.0.16\work\Catalina\localhost U除Q?/p>
3.该项目的配置文gQ目录: ***\apache-tomcat-6.0.16\conf\Catalina\localhostU除?/p>
4.该项目的配置文gQ目录: ***\apache-tomcat-6.0.16\conf\server.xml中改修或d的配|是否正?br />