请帮我看看为什么会出这个错:
<%@ page contentType="text/html;charset=utf-8" language="java"
isELIgnored="false"%>
<%@page import="com.sinosoft.module.sinoform.ConfigSinoForm"%>
<%@page import="com.sinosoft.dao.DBAccess"%>
<%@page import="com.sinosoft.dao.DBTool"%>
<%@page import="java.util.*"%>
<%@page import="sun.jdbc.rowset.CachedRowSet"%>
<%@page import="com.sinosoft.util.tool.JDateToolkit"%>
<%@page import="com.sjzx.registered.StaticConstants"%>
<%@page import="com.sjzx.registered.ReturnOptions"%>
<%@page import="com.syzx.inputData.DataBean"%>
<%@page import="java.util.ArrayList"%>
<%@ taglib uri="/WEB-INF/product/report/taglib/report.tld"
prefix="report"%>
<%@ taglib uri="/WEB-INF/product/report/taglib/report-applet.tld"
prefix="ra"%>
<%
//表格标题
String title = "";
//用戶名,预留
String userID; 
//选择年份
String selectedyear = request.getParameter("yearbox");
//选择填报类型
String selectedtype = request.getParameter("typetbox");
//选择分类ID
String selectedID = request.getParameter("IDbox");
//转出sql语句
StringBuilder usedSql = new StringBuilder(); String page_id = request.getParameter("resourceId") == null ? "1"
: request.getParameter("resourceId");  
System.out.println(page_id);
ConfigSinoForm voe = new ConfigSinoForm();
//获取reportId
String reportId;
if(request.getParameter("resourceId")==null|request.getParameter("resourceId")=="1"){
reportId = request.getParameter("reportId");
}else{
reportId = voe.getReport(page_id)[0];
}

//判断提交状态
boolean state = false;
if(selectedtype != null && selectedyear !=null){
state = true;
}

//构造SQL
if(state){
if(selectedtype.equals("A表")){
usedSql.append("select varchar1,double1,double2 from et_custom_child where main_id='1' and varchar1 like '"+selectedyear+"%' and varchar2='11' and varchar3="+selectedID+" order by varchar1");   
}
if(selectedtype.equals("B表")){
usedSql.append("select varchar1,double1,double2 from et_custom_child where main_id='2' and varchar1 like '"+selectedyear+"%' and varchar2='11' order by varchar1");
}
if(selectedtype.equals("C表")){
usedSql.append("select varchar1,double1,double2 from et_custom_child where main_id='3' and varchar1 like '"+selectedyear+"%' and varchar2='11' order by varchar1");
}

title="现在展示"+selectedtype+"在"+selectedyear+"年"+selectedID+"的月份对比图";
}

//获取库中年份信息
DBTool dbtool = DBAccess.getDBTool();
String dbsource = "platform"; ArrayList yearList = new ArrayList();
ArrayList IDList = new ArrayList();

String sql = "select distinct varchar1 from et_custom_child order by varchar1;";
CachedRowSet crsYear = (CachedRowSet) dbtool.queryAllRes(dbsource, sql);
//将年份查询结果逐条写入年份List中
while (crsYear.next()) {
DataBean dbyear = new DataBean();
dbyear.setS1((crsYear.getString("varchar1")).substring(0,4));
int i=0;
for(; i<yearList.size(); i++){
if(((DataBean)yearList.get(i)).getS1().equals(dbyear.getS1())){
break;
}
}
if(i == yearList.size())
yearList.add(dbyear);
}

sql = "select distinct varchar3 from et_custom_child order by varchar3;";
CachedRowSet crsID = (CachedRowSet) dbtool.queryAllRes(dbsource,
sql);
//将查询结果逐条写入分类ID中
if(crsID!=null){
while (crsID.next()) {
DataBean dbID = new DataBean();
dbID.setS1(crsID.getString("varchar3"));
IDList.add(dbID);
}
}
%> <html>
<head>
<BASE
HREF="http://<%=request.getServerName()%>:<%=request.getServerPort()%>/<%=request.getContextPath()%>">
<style type="text/css">
.table1
{
height:30px;
width:500px;
 margin:50px auto;
 border:solid black 1px;
}
.table1 td{
border:solid green 1px;
align:center;
}
</style>
</head>
<body>
<%
if(!state){
%>
<!--如果沒有选择,则显示选择页面 -->
<div align = "center"><h2>现在是XXXXXX查询功能,请选择相应参数后方刻查看结果</h2></div>
<form name="form1" method="post"
action="<%=request.getContextPath()%>/syzx/L_businesscheck.jsp">
<table class="table1">
<tr>
<td class="table1"><div align="center">
<select name="yearbox">
<option value = "--请选择年份--">--请选择年份--</option>
<%
for(int i = 0 ; i < yearList.size() ; i ++){
DataBean db1 = (DataBean)yearList.get(i); 
%>
<option value = "<%=db1.getS1()%>"><%=db1.getS1()+"年"%></option>
<%
}
%>
</select></div>
</td>

<td class="table1"><div align="center">
<select name="typetbox">
<option value = "--请选择填报类型--">--请选择填报类型--</option>
<option value = "A表">A表</option>
<option value = "B表">B表</option>
<option value = "C表">C表</option>
</select></div>
</td>

<td class="table1"><div align="center">
<select name="IDbox">
<option value = "--请选择指标ID--">--请选择指标ID--</option>
<%
for(int i = 0 ; i < IDList.size() ; i ++){
DataBean db1 = (DataBean)IDList.get(i);
%>
<option value="<%=db1.getS1() %>"><%=db1.getS1() %></option>
<%
}
%>
</select></div>
</td>
</tr>
</table>
<div align="center">
<input type="submit" value="展示" />
<input type="text" name="reportId" value="<%=reportId %>" style="visibility:hidden">
</div>
</form>
<%
}
%>
<!-- 如果选择了要查看的信息,则显示结果页面 -->
<%
   if(state){
%>
<form name="form2" method="post"
action="<%=request.getContextPath() %>/syzx/L_businesscheck.jsp">
<td><input type="submit" value="返回选项页" /></td>
<td><input type="text" name="reportId" value="<%=reportId %>" style="visibility:hidden"></td>
<br/>
</form>
<td>
<h2 align="center"><%=title %></h2>
</td>
<!-- where to get API? -->
<center><report:report id="<%=reportId %>">
<report:page disabled="true" />
<%
System.out.println("sql is:" + usedSql);
%>
<report:define name="businesscheck" value="<%=usedSql%>" />
</report:report></center><%
}
%>
</body>
</html>

解决方案 »

  1.   

    HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:486)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    com.sinosoft.util.tool.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:55)root causejavax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.syzx.L_005fbusinesscheck_jsp._jspService(L_005fbusinesscheck_jsp.java:360)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
    com.sinosoft.util.tool.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:55)root causejava.lang.OutOfMemoryError: Java heap spacenote The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
    Apache Tomcat/6.0.20
      

  2.   

    java.lang.OutOfMemoryError: Java heap space报堆溢出来了?
    tomcat\bin\catalina.bat 修改Xms Xmx的值,改大一点试试。set JAVA_OPTS=-Xms128m -Xmx1024m根据内存大小来改。