最近完成了一个web项目的开发,持久层用的是hibernate2.18.
可是在运行过程中经常出现下面的错误。错误出现后,刷新一下页面又好了。请问这是怎么回事啊?
javax.servlet.ServletException: com/frame/dao/FormTypeDao
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageC
ontextImpl.java:867)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageCon
textImpl.java:800)
at org.apache.jsp.forms.form_005flist_jsp._jspService(form_005flist_jsp.
java:189)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:311)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
01)
在你的web服务器下查找form_005flist_jsp.java这个文件,定位到189行,看一下有什么问题,我估计是你的参数或变量有问题.
if (pageContext != null) pageContext.handlePageException(t);看不出有什么问题啊
185 if (!(t instanceof SkipPageException)){
186 out = _jspx_out;
187 if (out != null && out.getBufferSize() != 0)
188 out.clearBuffer();
189 if (pageContext != null) pageContext.handlePageException(t);
190 }
191 } finally {
192 if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
193 }
form_005flist_jsp.java 代码,我总觉的不是这里的原因。应该是com/frame/dao/FormTypeDao里的hibernate缓存的问题
第一部门:
public final class form_005flist_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent { private static java.util.Vector _jspx_dependants; public java.util.List getDependants() {
return _jspx_dependants;
} public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException { JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=utf-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out; out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"); String mid = request.getParameter("mid"); SimpleUser simpleUser = SystemSession.getSimpleUser(session);
String id = request.getParameter("id");
String startID = request.getParameter("startID");
if(startID == null || startID.equals("") || startID.equals("null"))
startID = "0"; out.write("\r\n\r\n<html>\r\n<head>\r\n<title>");
out.print(Support.sysName);
out.write("</title>\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/css/main.css\">\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/");
out.print(simpleUser.getStyle());
out.write("/css/body.css\">\r\n<script language=\"javascript\">\r\n\tfunction trClick(id)\r\n\t{\r\n\t\tif(id && id != \"\")\r\n\t\t{\r\n\t\t\twindow.open('form_manage.jsp?action=browse&id='+id+'&mid=");
out.print(mid);
out.write("', '', '");
out.print(CtopUtil.getEditWindowStyle());
out.write("');\r\n\t\t}\r\n\t}\r\n\r\n\tfunction browse()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tvar list = getSelectID();\r\n\t\t\tfor(var i = 0 ; i < list.length ; i++)\r\n\t\t\t{\r\n\t\t\t\ttrClick(list[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n\r\n\tfunction add()\r\n\t{\r\n\t\twindow.open('form_manage.jsp?action=add&id=&mid=");
out.print(mid);
out.write("','','");
out.print(CtopUtil.getEditWindowStyle());
out.write("');\r\n\t}\r\n\r\n\tfunction modify()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tvar list = getSelectID();\r\n\t\t\tfor(var i = 0 ; i < list.length ; i++)\r\n\t\t\t{\r\n\t\t\t\twindow.open('form_manage.jsp?action=modify&id='+list[i]+'&mid=");
out.print(mid);
out.write("','','");
out.print(CtopUtil.getEditWindowStyle());
out.write("');\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n\r\n\tfunction del()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tif(getSelectID().length > 0)\r\n\t\t\t\tform_list.submit();\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n\r\n\tfunction formBrowse()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tvar list = getSelectID();\r\n\t\t\tfor(var i = 0 ; i < list.length ; i++)\r\n\t\t\t{\r\n\t\t\t\twindow.open('form_before_browse.jsp?id='+list[i]+'&mid=");
out.print(mid);
out.write("','','');\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n\r\n\tfunction formIssue()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tvar list = getSelectID();\r\n\t\t\tfor(var i = 0 ; i < list.length ; i++)\r\n\t\t\t{\r\n\t\t\t\twindow.location.href = \"");
out.print(request.getContextPath());
out.write("/servlet/FormIssue?id=\"+list[i]+\"&type=1&formTypeID=");
out.print(id);
out.write("&startID=");
out.print(startID);
out.write("&mid=");
out.print(mid);
out.write("\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction formStop()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tvar list = getSelectID();\r\n\t\t\tfor(var i = 0 ; i < list.length ; i++)\r\n\t\t\t{\r\n\t\t\t\twindow.location.href = \"");
out.print(request.getContextPath());
out.write("/servlet/FormIssue?id=\"+list[i]+\"&type=2&formTypeID=");
out.print(id);
out.write("&startID=");
out.print(startID);
out.write("&mid=");
out.print(mid);
out.write("\";\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch(e)\r\n\t\t{\r\n\t\t}\r\n\t}\r\n</script>\r\n</head>\r\n<body>\r\n");
FormTypeDao formTypeDao = new FormTypeDao();
DataGrid dataGrid = new DataGrid(simpleUser);
dataGrid.setFormName("form_list");
dataGrid.setFormAction("form_do.jsp?action=del&id="+id);
dataGrid.setDataGridTitle(Support.getCharacter("p_form_list_2", simpleUser));
dataGrid.setPageContext(pageContext); Page formPage = null;
int formCount = 0;
if(id == null || id.equals("") || id.equals("null"))
{
if(startID.equals("0"))
{
formPage = formDao.findFormByPage(simpleUser, dataGrid.getCurrentPageNumber()-1, Support.pageSize);
formCount = formDao.getCount(simpleUser);
}
else
{
FormType formType = formTypeDao.findFormTypeByID(startID);
formPage = formDao.findFormByPage(formType, simpleUser, dataGrid.getCurrentPageNumber()-1, Support.pageSize);
formCount = formDao.getCount(formType, simpleUser);
}
}
else
{
FormType formType = formTypeDao.findFormTypeByID(id);
formPage = formDao.findFormByPage(formType, simpleUser, dataGrid.getCurrentPageNumber()-1, Support.pageSize);
formCount = formDao.getCount(formType, simpleUser);
}
if(formPage != null)
{
dataGrid.setRecordSize(formCount);
List forms = formPage.getResults();
DataField ids = new DataField("id", null);
DataField issues = new DataField(Support.getCharacter("p_workflow_track_list_6", simpleUser), "60");
issues.setSort(false);
DataField formNames = new DataField(Support.getCharacter("p_form_list_3", simpleUser), "20%");
DataField userNames = new DataField(Support.getCharacter("p_form_list_4", simpleUser), "20%");
DataField descriptions = new DataField(Support.getCharacter("p_form_list_5", simpleUser), null);
for(Iterator iter = forms.iterator() ; iter.hasNext() ; )
{
Form form = (Form)iter.next();
ids.add(form.getFormID().toString());
String imgAddress = "../style/images/issue.gif";
if(!form.getIssue().booleanValue())
imgAddress = "../style/images/stop.gif";
issues.add("<img src=\""+imgAddress+"\" width=\"16\" height=\"16\">");
formNames.add(LanguageUtil.getUseLangVarchar(simpleUser, form.getTitle()));
userNames.add(LanguageUtil.getUseLangVarchar(simpleUser, form.getUser().getRealName()));
descriptions.add(form.getDescription());
}
try
{
dataGrid.addDataField(ids).addDataField(issues).addDataField(userNames).addDataField(formNames).addDataField(descriptions);
}
catch(FieldDifferException e)
{
out.println(e.getMessage());
}
catch(NullPointerException e)
{
out.println(e.getMessage());
}
out.println(dataGrid.createPageCode());
forms = null;
dataGrid = null;
ids = null;
formNames = null;
userNames = null;
issues = null;
descriptions = null;
} out.write("\r\n\r\n</body>\r\n</html>");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (pageContext != null) pageContext.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
}
}
}
都是com/frame/dao/…………Dao的错误