81,092
社区成员
发帖
与我相关
我的任务
分享
java.lang.IllegalStateException: cannot resize buffer, 303 bytes have been written (Servlet 2.3,
sec. 5.1)
at weblogic.servlet.internal.ServletResponseImpl.setBufferSize(I)V(ServletResponseImpl.j
ava:219)
at weblogic.servlet.jsp.PageContextImpl.initialize(Ljavax.servlet.Servlet;Ljavax.servlet
.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)V(PageContextImpl.java:65)
at weblogic.servlet.jsp.PageContextImpl.<init>(Ljavax.servlet.jsp.JspFactory;Ljavax.serv
let.Servlet;Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)V
(PageContextImpl.java:104)
at weblogic.servlet.jsp.JspFactoryImpl.getPageContext(Ljavax.servlet.Servlet;Ljavax.serv
let.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)Ljavax.servlet.jsp.PageC
ontext;(JspFactoryImpl.java:37)
at jsp_servlet.__index._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet
.http.HttpServletResponse;)V(__index.java:104)
at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.Ser
vletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Obj
ect;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest
;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.ja
va:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest
;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.ja
va:463)
at weblogic.servlet.internal.TailFilter.doFilter(Ljavax.servlet.ServletRequest;Ljavax.se
rvlet.ServletResponse;Ljavax.servlet.FilterChain;)V(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax.servlet.ServletRequest;Ljav
ax.servlet.ServletResponse;)V(FilterChainImpl.java:27)
at com.aspire.cem.marm.common.filter.ClientSessionCallbackFilter.doFilter(Ljavax.servlet
.ServletRequest;Ljavax.servlet.ServletResponse;Ljavax.servlet.FilterChain;)V(ClientSessionCallba
ckFilter.java:133)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax.servlet.ServletRequest;Ljav
ax.servlet.ServletResponse;)V(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lan
g.Object;(WebAppServletContext.java:6458)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.A
bstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:321
)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.Authe
nticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAc
tion;)Ljava.lang.Object;(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.intern
al.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.jav
a:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)
V(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThrea
d.java:219)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
2008-10-22 10:03:30 [com.aspire.cem.marm.common.filter.ClientSessionCallbackFilter]-[ERROR] erro
r in sessionfilter
java.lang.IllegalStateException: cannot resize buffer, 303 bytes have been written (Servlet 2.3,
sec. 5.1)
at weblogic.servlet.internal.ServletResponseImpl.setBufferSize(I)V(ServletResponseImpl.j
ava:219)
at weblogic.servlet.jsp.PageContextImpl.initialize(Ljavax.servlet.Servlet;Ljavax.servlet
.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)V(PageContextImpl.java:65)
at weblogic.servlet.jsp.PageContextImpl.<init>(Ljavax.servlet.jsp.JspFactory;Ljavax.serv
let.Servlet;Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)V
(PageContextImpl.java:104)
at weblogic.servlet.jsp.JspFactoryImpl.getPageContext(Ljavax.servlet.Servlet;Ljavax.serv
let.ServletRequest;Ljavax.servlet.ServletResponse;Ljava.lang.String;ZIZ)Ljavax.servlet.jsp.PageC
ontext;(JspFactoryImpl.java:37)
at jsp_servlet.__index._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet
.http.HttpServletResponse;)V(__index.java:104)
at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.Ser
vletResponse;)V(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Obj
ect;(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest
;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.ja
va:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest
;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.ja
va:463)
at weblogic.servlet.internal.TailFilter.doFilter(Ljavax.servlet.ServletRequest;Ljavax.se
rvlet.ServletResponse;Ljavax.servlet.FilterChain;)V(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax.servlet.ServletRequest;Ljav
ax.servlet.ServletResponse;)V(FilterChainImpl.java:27)
at com.aspire.cem.marm.common.filter.ClientSessionCallbackFilter.doFilter(Ljavax.servlet
.ServletRequest;Ljavax.servlet.ServletResponse;Ljavax.servlet.FilterChain;)V(ClientSessionCallba
ckFilter.java:133)
at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax.servlet.ServletRequest;Ljav
ax.servlet.ServletResponse;)V(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava.lan
g.Object;(WebAppServletContext.java:6458)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.A
bstractSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(AuthenticatedSubject.java:321
)
at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.Authe
nticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedAc
tion;)Ljava.lang.Object;(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic.servlet.intern
al.ServletRequestImpl;Lweblogic.servlet.internal.ServletResponseImpl;)V(WebAppServletContext.jav
a:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic.kernel.ExecuteThread;)
V(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThrea
d.java:219)
at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
public class ClientSessionCallbackFilter implements Filter {
static Log logger = LogFactory.getLog(com.aspire.cem.marm.common.filter.ClientSessionCallbackFilter.class);
private static String login_page = "/login.jsp";
private static String loginSuccessPage = "/home.jsp";
private static String login_action = "/login.do";
private static ReadPropertiesFile rpf = new ReadPropertiesFile();
private String encoding;
private Set sessionExecludeSet;
private Set permExcludeSet;
public ClientSessionCallbackFilter() {
sessionExecludeSet = new HashSet();
permExcludeSet = new HashSet();
encoding = "GBK";
}
public void init(FilterConfig config)
throws ServletException
{
String temp = config.getInitParameter("encoding");
if(temp != null)
encoding = temp;
String excludeFile = config.getInitParameter("exclude_file");
if(excludeFile != null)
{
Element root = null;
try
{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(config.getServletContext().getResource(excludeFile));
root = doc.getRootElement();
Element element = root.getChild("session_exclude_urls");
if(element != null)
{
List urls = element.getChildren("url");
for(int i = 0; urls != null && i < urls.size(); i++)
{
Element url = (Element)urls.get(i);
sessionExecludeSet.add(url.getTextTrim());
}
}
element = root.getChild("perm_exclude_urls");
if(element != null)
{
List urls = element.getChildren("url");
for(int i = 0; urls != null && i < urls.size(); i++)
{
Element url = (Element)urls.get(i);
permExcludeSet.add(url.getTextTrim());
}
}
}
catch(Exception e)
{
// logger.error("\u521D\u59CB\u5316RightCheckFilter\u51FA\u9519", e);
e.printStackTrace();
throw new ServletException("\u521D\u59CB\u5316RightCheckFilter\u51FA\u9519", e);
}
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterchain) throws java.io.IOException,
javax.servlet.ServletException {
try {
String targetURL = rpf.getCallbackDomain() + login_page;
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
String uri = req.getServletPath();
if(uri.endsWith(login_page) || uri.endsWith(login_action))
{
filterchain.doFilter(request,response);
return;
}
HttpSession sessionb = req.getSession();
ServletContext contextb = sessionb.getServletContext();
ServletContext contextA = contextb.getContext("/marm");
HttpSession sessionA = (HttpSession)contextA.getAttribute("marmSession");
if(sessionA != null) {
UserVO uvo = (UserVO)sessionA.getAttribute("userinfo");
if(uvo == null){
targetURL = rpf.getCallbackDomain() + login_page;
redirect(req,resp,targetURL);
}
if(req.getRequestURL().indexOf("report/index.jsp")!= -1) {
targetURL = rpf.getCallbackDomain() + loginSuccessPage;
redirect(req,resp,targetURL);
}
filterchain.doFilter(request,response);
return;
} else {
targetURL = rpf.getCallbackDomain() + login_page;
redirect(req,resp,targetURL);
}
//权限校验
} catch(Exception e) {
logger.error("error in sessionfilter", e);
}
}
private void redirect(HttpServletRequest request, HttpServletResponse response, String url)
throws IOException
{
String targetURL = url + "?__URL__=" + request.getServletPath();
targetURL = response.encodeRedirectURL(targetURL);
response.sendRedirect(targetURL);
}
public void destroy()
{
sessionExecludeSet.clear();
permExcludeSet.clear();
}
}