Source not found for ApplicationFilterChain.internalDoFilter报错

setup37 2009-11-21 01:37:20
调试的时候报错
Source not found for ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 273

源代码ClassAction.java
/**
*
*/
package com.dp.school.action;

import java.sql.Timestamp;
import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.dp.school.biz.ClassBO;
import com.dp.school.biz.SchoolBO;
import com.dp.school.biz.UserAndClassRelationsBO;
import com.dp.school.biz.UserAndSchoolRelationsBO;
import com.dp.school.pojo.Class;
import com.dp.school.pojo.School;
import com.dp.school.pojo.User;
import com.dp.school.util.ToolBox;

/**
* @author 刘银
* 班级
*/
public class ClassAction extends IBaseAction{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest servletRequest,
HttpServletResponse servletResponse) throws Exception
{
try
{
if (this.isPostMethod(servletRequest))
{
return this.executePostMethod(actionMapping, actionForm,
servletRequest, servletResponse);
}
else
{
return this.executeGetMethod(actionMapping, actionForm,
servletRequest, servletResponse);
}
}
catch (Exception e)
{
servletRequest.getSession().setAttribute("StackTraceMessage", e);
return actionMapping.findForward("ErrorPage");
}
}

protected ActionForward executeGetMethod(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
{
User user = (User) servletRequest.getSession().getAttribute("User");
if("add".equals(servletRequest.getParameter("action")) && user != null)
{
this.saveToken(servletRequest);
return actionMapping.findForward("InputPage");
}
else if("list".equals(servletRequest.getParameter("action")))
{
String length = servletRequest.getParameter("length");
ArrayList list =new ArrayList();
list = new ClassBO().findAllClassOrderByLookCount(servletRequest, length);
//list = new ClassBO().findClassLikeName(servletRequest, "1");
servletRequest.setAttribute("ClassListByLookCount", list);
if (servletRequest.getParameter("path") != null && !"".equals(servletRequest.getParameter("path")))
{
return new ActionForward(servletRequest.getParameter("path"));
}
return actionMapping.findForward("LookCountListPage");
}
else
{
return actionMapping.findForward("SessionTimeOut");
}
}

protected ActionForward executePostMethod(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest servletRequest,
HttpServletResponse servletResponse)
{
String beginDate = servletRequest.getParameter("beginDate");
String endDate = servletRequest.getParameter("endDate");
String name = servletRequest.getParameter("name");
String department = servletRequest.getParameter("department");
Timestamp systime = new Timestamp(System.currentTimeMillis());
ToolBox toolBox = new ToolBox();
String createDatetime = toolBox.DateToString(systime, 0);
User createUser = (User)servletRequest.getSession().getAttribute("User");
School school = new School();
SchoolBO schoolBO = new SchoolBO();
school = schoolBO.findSchoolBySchoolId(servletRequest, 1);
if(createUser == null)
{
return actionMapping.findForward("SessionTimeOut");
}
else if("ADD".equals(servletRequest.getParameter("doType")) && createUser != null)
{
ClassBO classBO = new ClassBO();
Class classObject = new Class();
classObject = classBO.addClass(servletRequest, beginDate, endDate, department, school, name, createUser, createDatetime,0);
UserAndClassRelationsBO uacrBO = new UserAndClassRelationsBO();
uacrBO.addUserAndClassRelations(servletRequest, createUser, classObject, 0);
UserAndSchoolRelationsBO uasrBO = new UserAndSchoolRelationsBO();
uasrBO.addUserAndSchoolRelations(servletRequest, createUser, school, 1);
servletRequest.getSession().setAttribute("EntityType", "classAdd");
return actionMapping.findForward("Successful");
}
else
{
servletRequest.getSession().setAttribute("StackTraceMessage", "出错了!");
return actionMapping.findForward("ErrorPage");
}
}
}

源代码ClassBO.java
/**
*
*/
package com.dp.school.biz;

import java.util.ArrayList;

import javax.servlet.ServletRequest;

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.dp.school.dao.ClassDAO;
import com.dp.school.db.HibernateSessionFactory;
import com.dp.school.pojo.Class;
import com.dp.school.pojo.School;
import com.dp.school.pojo.User;
import com.dp.school.util.ToolBox;

/**
* @author 刘银
*
*/
public class ClassBO {
/**
* 添加班级
* @param request
* @param beginDate
* @param endDate
* @param department
* @param school
* @param name
* @param createUser
* @param createDatetime
* @return
*/
public Class addClass(ServletRequest request,String beginDate,String endDate,String department,School school,String name,User createUser,String createDatetime,int lookCount)
{
Session session = HibernateSessionFactory.currentSession();
Transaction tx = session.beginTransaction();
Class classObject = new Class();
try
{
classObject.setBeginDate(beginDate);
classObject.setEndDate(endDate);
classObject.setDepartment(department);
classObject.setSchool(school);
classObject.setCreateUser(createUser);
classObject.setName(name);
classObject.setCreateDatetime(createDatetime);
classObject.setLookCount(lookCount);

ClassDAO classDAO = new ClassDAO();
classDAO.addEntity(session, classObject);
tx.commit();
HibernateSessionFactory.closeSession();
}
catch(Exception e)
{
tx.rollback();
e.printStackTrace();
HibernateSessionFactory.closeSession();
}
return classObject;
}

/**
* 根据班级名称,模糊查询班级列表
* @param request
* @param name
* @return
*/
public ArrayList findClassLikeName(ServletRequest request,String name)
{
Session session = HibernateSessionFactory.currentSession();
Transaction tx = session.beginTransaction();
ArrayList list = new ArrayList();
try
{
list = new ClassDAO().findClassLikeName(session, name);
tx.commit();
HibernateSessionFactory.closeSession();
}
catch(Exception e)
{
tx.rollback();
e.printStackTrace();
HibernateSessionFactory.closeSession();
}
return list;
}

/**
* 根据浏览次数排序 所有班级列表
* @param request
* @param length
* @return
*/
public ArrayList findAllClassOrderByLookCount(ServletRequest request,String length)
{
ArrayList list = new ArrayList();
ArrayList tempList = new ArrayList();
Session session = HibernateSessionFactory.currentSession();
Transaction tx = session.beginTransaction();
try
{
list = new ClassDAO().findAllClassOrderByLookCount(session);
tx.commit();
session.flush();
}
catch(Exception e)
{
e.printStackTrace();
tx.rollback();
}finally{

}
if(length != null && !"".equals(length))
{
int l = Integer.parseInt(length);
for (int i=0;i<list.size();i++)
{
Class classObject = (Class)list.get(i);
Class temp = new Class();
temp.setId(classObject.getId());
temp.setBeginDate(classObject.getBeginDate());
temp.setCreateDatetime(classObject.getCreateDatetime());
temp.setCreateUser(classObject.getCreateUser());
temp.setDepartment(classObject.getDepartment());
temp.setEndDate(classObject.getEndDate());
temp.setLookCount(classObject.getLookCount());
temp.setSchool(classObject.getSchool());
String nameWithDot = classObject.getName();
temp.setName(ToolBox.getSubString(nameWithDot, l));
tempList.add(temp);
}
return tempList;
}else{
return list;
}
}

}

源代码ClassDAO.java
/**
*
*/
package com.dp.school.dao;

import java.util.ArrayList;

import org.hibernate.Query;
import org.hibernate.Session;

/**
* @author 刘银
*
*/
public class ClassDAO implements IBaseDAO
{
public void addEntity(Session session, Object object)
{
session.save(object);
}

public void deleteEntity(Session session, Object object)
{
session.delete(object);
}

public void modifyEntity(Session session, Object object)
{
session.update(object);
}

/**
* 根据班级名称,模糊查询班级列表
* @param session
* @param name
* @return
*/
public ArrayList findClassLikeName(Session session,String name)
{
Query query = session.createQuery("FROM Class AS class WHERE class.name LIKE :name ORDER BY class.createDatetime DESC");
query.setString("name","%"+name+"%");
return (ArrayList)query.list();
}

/**
* 根据浏览次数排序 所有班级列表
* @param session
* @return
*/
public ArrayList findAllClassOrderByLookCount(Session session)
{
Query query = session.createQuery("FROM Class AS class ORDER BY class.lookCount DESC"); return (ArrayList)query.list();
}
}

...全文
792 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
setup37 2009-11-27
  • 打赏
  • 举报
回复
关你什么事,我是好心把问题解决出来,我看你是闲的吧
setup37 2009-11-21
  • 打赏
  • 举报
回复
找到原因了,哈哈
CLASS不能当数据库别名 我把Class AS class 改成了AS c 哈哈哈
setup37 2009-11-21
  • 打赏
  • 举报
回复
谁能帮帮我呀 ?困惑2天了,哭死了
setup37 2009-11-21
  • 打赏
  • 举报
回复
调试到ClassDAO.java的Query query = session.createQuery("FROM Class AS class ORDER BY class.lookCount DESC"); 报错Source not found for ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 273
全部运行后,页面报错信息如下:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
com.dp.school.util.CharacterSetServlet.doFilter(CharacterSetServlet.java:55)


root cause

java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2431)
org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)
org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)
org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)
org.hibernate.hql.antlr.HqlBaseParser.orderElement(HqlBaseParser.java:2122)
org.hibernate.hql.antlr.HqlBaseParser.orderByClause(HqlBaseParser.java:1248)
org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:751)
org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)
org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)
org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:248)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
com.dp.school.dao.ClassDAO.findAllClassOrderByLookCount(ClassDAO.java:52)
com.dp.school.biz.ClassBO.findAllClassOrderByLookCount(ClassBO.java:107)
com.dp.school.action.ClassAction.executeGetMethod(ClassAction.java:68)
com.dp.school.action.ClassAction.execute(ClassAction.java:43)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.dp.school.util.CharacterSetServlet.doFilter(CharacterSetServlet.java:55)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.30


页面调用
<a href="<%=request.getContextPath()%>/ClassAction.do?action=list&length=15">11111</a>

源代码HibernateSessionFactory

package com.dp.school.util;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Session;

import com.dp.school.db.HibernateSessionFactory;

public class HibernateThreadFilter implements Filter
{
private static Log log = LogFactory.getLog(HibernateThreadFilter.class);


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
try
{

//System.out.println("数据库是否关闭 "+HibernateSessionFactory.currentSession().getSessionFactory().isClosed());
//HibernateSessionFactory.currentSession().getSessionFactory().openSession();
chain.doFilter(request, response);
//HibernateSessionFactory.currentSession().flush();
HibernateSessionFactory.currentSession().close();
}
catch (Exception e)
{
e.printStackTrace();
}
}

public void init(FilterConfig filterConfig) throws ServletException
{
//log.debug("Initializing filter, obtaining Hibernate SessionFactory from HibernateUtil");
//System.out.println("数据库是否关闭 "+HibernateSessionFactory.currentSession().getSessionFactory().isClosed());
//HibernateSessionFactory.currentSession();
System.out.println("Filter startting ... ");
}

public void destroy()
{
System.out.println("Filter close ... ");
HibernateSessionFactory.closeSession();
}

}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧