如果你用的是 MySQL 数据库,用的是 ConnectorJ 做 JDBC Driver,那么,请特别注意我下面说的问题:在做一个数据库查询的时候,一定要通过适当的条件(或者用 LIMIT)让结果集尽量地小。比如,你一个页面要显示 20 条查询结果,就要用 LIMIT 限制结果集里只有 20 条记录。千万别不作任何限制,然后用 rs.next() 取前面的 20 条,后面的就不理它了。如果你这样做,虽然结果好像差不多,但是,JDBC Driver 事实上在你取第一条记录的时候,就已经把结果集里所有的记录都取下来放在内存里了,很容易就 out of memory 了。
最新的问题如下: 多个人同时点一个页面,LOG里的错误信息如下:2006/09/05 15:08:09 ERROR [http-8080-Processor13] (ApplicationDispatcher.java/704) -Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspException: Cannot find bean: "list" in any scope at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935) at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232) at org.apache.jsp.jsp.qans.admin.tiles.QuickAnswerHtmlBody_jsp._jspService(QuickAnswerHtmlBody_jsp.java:382) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614) at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99) at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135) at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760) at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892) at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) at org.apache.jsp.jsp.tiles.admin.layouts.mainLayout_jsp._jspx_meth_tiles_insert_1(mainLayout_jsp.java:278) at org.apache.jsp.jsp.tiles.admin.layouts.mainLayout_jsp._jspService(mainLayout_jsp.java:146) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614) at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99) at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135) at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760) at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892) at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) at org.apache.jsp.jsp.qans.admin.main.QuickAnswerHtmlMain_jsp._jspx_meth_tiles_insert_0(QuickAnswerHtmlMain_jsp.java:146) at org.apache.jsp.jsp.qans.admin.main.QuickAnswerHtmlMain_jsp._jspService(QuickAnswerHtmlMain_jsp.java:97) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263) at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at jp.co.nec.necst.ebiz.base.EbizActionServlet.doPost(EbizActionServlet.java:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) 2006/09/05 15:08:09 ERROR [http-8080-Processor13] (InsertTag.java/922) -ServletException in '/jsp/qans/admin/tiles/QuickAnswerHtmlBody.jsp': Cannot find bean: "list" in any scope org.apache.jasper.JasperException: Exception in JSP: /jsp/qans/admin/tiles/QuickAnswerHtmlBody.jsp:188185: <div align="right"> 186: <input type="button" class="btn" value="・スヌ隠・ス・ス・ス" onclick="javaSrcipt:append();" /> 187: </div> 188: <logic:iterate name="list" id="list"> 189: <a href="#" onclick="JavaScript:_sortIdOnClick('<bean:write name="list" property="chapterId"/>');"><bean:write property="txtChapterTitle" name="list" /> </a> 190: 191: <input type="button" class="btn" value="・ス尞・ onclick="JavaScript:deleted('<bean:write name="list" property="chapterId" />');" />
mater789(小白) ( ) 信誉:100 Blog 2006-09-05 11:43:00 得分: 0
Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspException: Cannot find bean: "list" in any scope at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935) at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232) at org.apache.jsp.jsp.qans.admin.tiles.QuickAnswerHtmlBody_jsp._jspService这个是你放在application,session,requset,page中的某个范围内的Attribute的值没有 检查你写的页面跳转的时候是不是用的sendRidrect()或是你的存放属性的地方是不是提前关闭了供参考
2上传文件内存使用太大,建议用时间换取空间(解析表单域)
3利用js减轻服务器负担
4对于大字段建议用流打开不要直接写到内存里
5数据库查询尽量不要用union
战时想到这么多
多个人同时点一个页面,LOG里的错误信息如下:2006/09/05 15:08:09 ERROR [http-8080-Processor13] (ApplicationDispatcher.java/704) -Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean: "list" in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232)
at org.apache.jsp.jsp.qans.admin.tiles.QuickAnswerHtmlBody_jsp._jspService(QuickAnswerHtmlBody_jsp.java:382)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760)
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
at org.apache.jsp.jsp.tiles.admin.layouts.mainLayout_jsp._jspx_meth_tiles_insert_1(mainLayout_jsp.java:278)
at org.apache.jsp.jsp.tiles.admin.layouts.mainLayout_jsp._jspService(mainLayout_jsp.java:146)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760)
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
at org.apache.jsp.jsp.qans.admin.main.QuickAnswerHtmlMain_jsp._jspx_meth_tiles_insert_0(QuickAnswerHtmlMain_jsp.java:146)
at org.apache.jsp.jsp.qans.admin.main.QuickAnswerHtmlMain_jsp._jspService(QuickAnswerHtmlMain_jsp.java:97)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at jp.co.nec.necst.ebiz.base.EbizActionServlet.doPost(EbizActionServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
2006/09/05 15:08:09 ERROR [http-8080-Processor13] (InsertTag.java/922) -ServletException in '/jsp/qans/admin/tiles/QuickAnswerHtmlBody.jsp': Cannot find bean: "list" in any scope
org.apache.jasper.JasperException: Exception in JSP: /jsp/qans/admin/tiles/QuickAnswerHtmlBody.jsp:188185: <div align="right">
186: <input type="button" class="btn" value="・スヌ隠・ス・ス・ス" onclick="javaSrcipt:append();" />
187: </div>
188: <logic:iterate name="list" id="list">
189: <a href="#" onclick="JavaScript:_sortIdOnClick('<bean:write name="list" property="chapterId"/>');"><bean:write property="txtChapterTitle" name="list" /> </a>
190:
191: <input type="button" class="btn" value="・ス尞・ onclick="JavaScript:deleted('<bean:write name="list" property="chapterId" />');" />
1数据库连接池
2上传文件内存使用太大,建议用时间换取空间(解析表单域)
3利用js减轻服务器负担
4对于大字段建议用流打开不要直接写到内存里
5数据库查询尽量不要用union
战时想到这么多
========================
接一条,增加Web Container的内存。
我一直是Tomcat+IIS,默认Tomcat是64M内存,经常报OUT OF MEMORY错误,后来增加到256M就好了。
javax.servlet.jsp.JspException: Cannot find bean: "list" in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:232)
at org.apache.jsp.jsp.qans.admin.tiles.QuickAnswerHtmlBody_jsp._jspService这个是你放在application,session,requset,page中的某个范围内的Attribute的值没有
检查你写的页面跳转的时候是不是用的sendRidrect()或是你的存放属性的地方是不是提前关闭了供参考
框架是:
spring + hibernate + structs
渠问中流清几许,惟有源头生活水.
2上传文件内存使用太大,建议用时间换取空间(解析表单域)
3利用js减轻服务器负担
4对于大字段建议用流打开不要直接写到内存里
5数据库查询尽量不要用union
战时想到这么多
========================
接一条,增加Web Container的内存。
我一直是Tomcat+IIS,默认Tomcat是64M内存,经常报OUT OF MEMORY错误,后来增加到256M就好了。
比如,我在action里定义一个全局变量,
在很多人访问页面的时候,会有问题。
希望大家开发的时候注意,绝对不要用全局量。
2上传文件内存使用太大,建议用时间换取空间(解析表单域)
3利用js减轻服务器负担
4对于大字段建议用流打开不要直接写到内存里
5数据库查询尽量不要用union这位哥哥说的很好,我再补充一点
多用预处理