Laurie:
Here is my doFilter method -
*begin*
public void doFilter( ServletRequest req, ServletResponse res, FilterChain
chain)
throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest)req;
System.out.println("Req: "+httpReq.getRequestURL());
// with this line - illegal state exception when submitting forms.
without it, no crash.
String test = httpReq.getParameter("s");
// some db processing clickstream analysis based on request parameters
*end*
Here is the stack trace of the crash:
java.lang.IllegalStateException: getInputStream() has already been called for
this request
at org.apache.catalina.connector.RequestBase.getReader(RequestBase.java:911)
at
org.apache.catalina.connector.RequestFacade.getReader(RequestFacade.java:212)
at com.sfs.webapp.server.Service.getRequestProperties(Service.java:105)
at com.sfs.webapp.server.Service.service(Service.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
at
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
at
com.mycompany.filters.analysis.AnalysisFilter.doFilter(AnalysisFilter.java:114)the
very bottom mycompany is my filter being processed. I am trying to attach this
filter onto a web application (com.sfs.webapp.xxxxx above) running here on the
intranet. I guess it's the webapp that might be causing a crash inside it's
getRequestProperties method? I'm assuming it's normal
form processing though?
I don't have access to the "webapp" source either. Might pose a problem? :)
I dont need to post the web.xml configuration file since my filter is the ONLY
configured filter on the server.
Thoughts?
Thanks,
Paul
_____
From: Laurie Harper [mailto:[EMAIL PROTECTED]
To: [email protected]
Sent: Tue, 06 Mar 2007 16:25:26 -0500
Subject: Re: [s1] Filters / State Exceptions
Without seeing your filter code and web.xml it's hard to be sure, but my
guess would be that you need to modify the order you apply your filters
in. Remember that, with a file upload, form parameters are transmitted
in the request body rather than as a query string. It sounds like
req.getParameter() is being intercepted by one of the filters in the
chain that precedes yours or something. Post your code, web.xml and full
stack trace if you still need help isolating the problem.
L.
Paul Saumets wrote:
> As a side note,
>
> My filter has a couple req.getParameter calls (which I think in-turn calls
an InputStream somehow?) in it's doFilter method which seems to be causing the
state exceptions later after a form is submitted.
>
> Is there a way to avoid this or a way to ensure filters arn't processed
when a form is submitted?
>
> Regards,
> Paul
> _____
>
> From: Paul Saumets [mailto:[EMAIL PROTECTED]
> To: [email protected]
> Sent: Tue, 06 Mar 2007 14:44:32 -0500
> Subject: [s1] Filters / State Exceptions
>
> Hey,
>
> I'm hoping someone here could give me some insight why I'm getting an
IllegalStateException with my filter.
>
>
> java.lang.IllegalStateException: getInputStream() has already been called
for this request
>
> My filter calls InputStream in it's init method because it requires to
read information from a config file.
>
> the doFilter method has absolutely no stream calls. The filter works fine
until I submit a form. If I go to a page that has a form
> and submit I then receive the above state exception?
>
> Would anyone have any insight why this might be?
>
> I'm going to get around this by dropping my config file and just using
filter init-params in my web.xml file instead but I would
> REALLY like to know why this was occuring just for some understanding.
>
> Regards,
> Paul
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]