81,094
社区成员
发帖
与我相关
我的任务
分享
####<2014-3-25 下午05时56分57秒 CST> <Error> <Kernel> <cms41b> <myserver> <ExecuteThread: '146' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-000802> <ExecuteRequest failed
java.lang.ClassCastException.
java.lang.Throwable
at jsp_servlet._enpadmin.__error._jspService(__error.java:147)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:328)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:535)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:387)
at weblogic.servlet.internal.WebAppServletContext.handleException(WebAppServletContext.java:4193)
at weblogic.servlet.internal.WebAppServletContext.handleThrowableFromInvocation(WebAppServletContext.java:3966)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3908)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
if(response.isCommitted())
return;
try {
filterChain.doFilter(request, response);
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
String contextPath = req.getContextPath();
RequestDispatcher dispatcher = null;
//调用这个方法将skin放入session中
String skin = SkinUtils.getSkin(req, rep);
req.setAttribute("skin", skin);
// 检查用户登录信息
String uri = req.getRequestURI();
if(!NOFILTER_PAGES.containsKey(uri))
{
log.debug("过滤检查【" + uri + "】");
// 取session,如果取不到session则提示用户重新登录
Object obj = session.getAttribute(Constant.SESSION_AUTH);
if(obj == null)
{
log.error("过滤检查【" + uri + "】"+",未通过检查!没有登陆信息。");
String msg = ResourceUtils.getResource(
"enp.WebMessage", "filter_nosession");
session.setAttribute("message", msg);
dispatcher = req.getRequestDispatcher(contextPath +
"/enpadmin/common/messages.jsp");
if (!rep.isCommitted())
dispatcher.forward(req, rep);
}
}
else
{
log.debug("过滤检查被挑过【" + uri + "】");
}
} catch (ServletException sx) {
log.error("",sx);
} catch (IOException iox) {
log.error("",iox);
}
}
filterChain.doFilter(request, response);
是否应该放到
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
String contextPath = req.getContextPath();
RequestDispatcher dispatcher = null;
...
的下面呢public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
if(response.isCommitted())
return;
try {
filterChain.doFilter(request, response);
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
String contextPath = req.getContextPath();
RequestDispatcher dispatcher = null;
Object x = new Integer(0);
System.out.println((String)x);
我想一个正常的系统,报错肯定会影响某一部分的功能,楼主可以检查下代码所在的逻辑层,看看是否出现功能的缺失。。