How to avoid illegal state exception in jsp/servlets

Hi,
Am working on jsps and servlets ,some times am getting Illegalstateexception,in what situations we will get this exception,can any one tell clearly about this exception..
mani

Since there's no other real supporting information you have out there, I can only take a wild stab at this...
My guess is that you're trying to invoke methods on the server with your jsp code that isn't allowed. For example, I often work with a PDM software that will throw Illegalstateexceptions when I try to modify objects in the system that are not checked out. More than a java thing, this might be an issue with the servlets you're using. If your servlet is being provided by a vendor, you might want to check up on their API for more information about such an error occuring, or consult their technical support, if such a group exists.
If this is your own servlet, I would suggest making sure that the methods you're trying to invoke are available for the servlet to invoke, which would also cause that exception.

Similar Messages

  • How to avoid Illegal State Exception?

    Im using struts and develop in J2EE. My action class calls the ejb and returns to the actionClass and then to the jsp. This works once and the second time , i get IllegalStateException. But without recompiling when i restart ,my jboss and preform the previous activity , it works fine!!
    Does have an explanation and provide a solution?
    Thanks

    This is error snippet obtained!
    2007-10-09 10:47:05,984 WARN [org.apache.struts.action.RequestProcessor] Unhandled Exception thrown: class java.lang.IllegalStateException
    2007-10-09 10:47:05,984 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[].[action]] Servlet.service() for servlet action threw exception
    java.lang.IllegalStateException: No transaction.
         at org.jboss.tm.TxManager.rollback(TxManager.java:331)
         at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.rollback(ServerVMClientUserTransaction.java:134)
         at com.modulbio.struts.actionclasses.experiment.CreatePasteurExpPlatesAction.execute(CreatePasteurExpPlatesAction.java:463)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:595)

  • Illegal State Exception in JSP login

    I had a working log in/check password systems for a low security application. User types in username and password and this is sent to the checkpassword.jsp. Using Server variables I counted the number of attempts and if it was more than three, they were not allowed to try again that session. When I moved this page to newer version of Tomcat running in Apache rather than over IIS, my simple counting function no longer works and I can't for the life of me understand why I'm getting an Illegal State Exception with the following code:
    java.sql.ResultSet RS=statement.executeQuery("Select WUUSER, WUPWD FROM WEBUSER WHERE WUUSER='"+ (request.getParameter("username").toUpperCase()) + "' AND WUPWD= '" + (request.getParameter("password")) +"'");
    HttpSession ViewProtectedPage = request.getSession(true);
    HttpSession UserSession = request.getSession(true);
    if (RS.next())
    ViewProtectedPage.putValue("password","correct");
    //HttpSession UserSession = request.getSession(true);
    //allows username to be entered in upper or lower case
    UserSession.putValue("username",(request.getParameter("username")).toUpperCase());
    response.sendRedirect("tracking.jsp");
    else
    ViewProtectedPage.putValue("password","false");
    if (ViewProtectedPage.getValue("trycount")==null) {
    ViewProtectedPage.putValue("trycount","1");
    response.sendRedirect("loadtrackbadlogin.html");
    if (ViewProtectedPage.getValue("trycount")=="1") {
    ViewProtectedPage.putValue("trycount","2");
    response.sendRedirect("loadtrackbadlogin.html");
    if (ViewProtectedPage.getValue("trycount")=="2") {
    ViewProtectedPage.putValue("trycount","3");
    response.sendRedirect("loadtrackbadlogin.html");
    if (ViewProtectedPage.getValue("trycount")=="3") {
    response.sendRedirect("noentry.html");
    RS.close();
    It works fine if the user uses the proper username and password but crashes on me if they use the wrong info. I think it has something to do with my initialization of the user variables.

    I don't know that this is the root cause of your problem, but it certainly could be. When comparing two strings, you need to use the .equals() method, not ==.
    (except in the null case, where checking for null with == is perfectly okay).
    if (ViewProtectedPage.getValue("trycount").equals("1")
    ..etc
    Some other notes... use if/else if/else rather than a whole bunch of ifs, since all your statements are mutually exclusive. Maybe even put those lower ifs inside your outer "else" since you're obviously not going to reach them after a sendRedirect(). On that same note, place a return; after the sendRedirect() to state that the rest of the page need not be loaded/executed.

  • JComboBox Illegal state Exception problem

    Hello Everyone,
    I have the following code for creating a combobx in Eclipse. Now whenever eclipse reloads it gives an Illegal state exception error. When I remove the code and rewrite the same code it works fine. Any idea on how to fix this problem??
    Things are normal and there is no problem when I dont initialize the combobox.
    private JComboBox getJComboBoxNumOfSteps() {
           if (jComboBoxNumOfSteps == null) {
         String[] valStrings = { "1", "2", "3", "4", "5", "6", "7", "8", "9" ,"10","11","12","13","14","15","16","17"};
         jComboBoxNumOfSteps = new JComboBox(valStrings);
         jComboBoxNumOfSteps.setPreferredSize(new java.awt.Dimension(80,25));
         jComboBoxNumOfSteps.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent e) {
                                              Integer i = new Integer(jComboBoxNumOfSteps.getSelectedIndex()+1);
                              jTextArea.append(i.toString());
              jTextArea.append("\n");
            return jComboBoxNumOfSteps;
    }Thanx Amar

    Depends what context, and who's exception....
    I'll go with my best guess here though.
    You're using wait() and notify() and or notifyAll() with some threads. In this case the IllegalStateException is being thrown because you are calling one of these methods on an object you are not holding the lock for. Here are some good resources.
    Doug Lea's site.
    http://g.cs.oswego.edu
    and the book
    http://java.sun.com/docs/books/cp/
    if not,.... oh well, describe your problem better.
    -Spinoza

  • af:attribute Illegal state exception on tomcat

    I am getting Illegal state exception, when I use <af:attribute> referencing a row variable in treeTable :
    java.lang.IllegalStateException
         com.sun.faces.context.FacesContextImpl.assertNotReleased(FacesContextImpl.java:382)
         com.sun.faces.context.FacesContextImpl.getApplication(FacesContextImpl.java:120)
         oracle.adfinternal.view.faces.taglib.AttributeTag.doStartTag(AttributeTag.java:94)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_af_attribute_0(ObjectList2_jspx.java:767)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_af_commandLink_4(ObjectList2_jspx.java:749)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_af_column_3(ObjectList2_jspx.java:543)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_af_treeTable_0(ObjectList2_jspx.java:232)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_af_form_0(ObjectList2_jspx.java:206)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_afh_body_0(ObjectList2_jspx.java:188)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_afh_html_0(ObjectList2_jspx.java:152)
         org.apache.jsp.ObjectList2_jspx._jspx_meth_f_view_0(ObjectList2_jspx.java:126)
         org.apache.jsp.ObjectList2_jspx._jspService(ObjectList2_jspx.java:97)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
         oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:134)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:266)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:164)
         oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
         oracle.adfinternal.view.faces.webapp.FacesFilter.doFilter(FacesFilter.java:89)
    If I use f:attribute, there is no exception, but also the attribute is not created. If I use f:attribute or af:atribute with a string value, it works OK.
    Here is my page:
    <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/EA14/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/EA14" >
    <jsp:directive.page contentType="text/html;charset=utf-8"/>
    <f:view>
         <afh:html>
         <afh:head title="Main">
              <meta http-equiv="Content-Type"
                   content="text/html; charset=windows-1250"></meta>
         </afh:head>
         <afh:body>
              <af:form>
    <af:treeTable var="row" value="#{s.userObjectTreeModel}">
         <f:facet name="nodeStamp">
              <af:column>
                   <f:facet name="header">
                        <af:outputText value="User Objects" />
                   </f:facet>
                   <af:outputText value="#{row.item.userObjectName}" />
              </af:column>
         </f:facet>
         <af:column>
              <f:facet name="header">
                   <af:outputText value="Type" />
              </f:facet>
                   <af:outputText value="Micromart" rendered="#{row.item.micromart}" />
                   <af:outputText value="Group" rendered="#{row.item.userGroup}" />
                   <af:outputText value="Object" rendered="#{row.item.userObject}" />
         </af:column>
         <af:column>
              <f:facet name="header">
                   <af:outputText value="Status" />
              </f:facet>
                   <af:outputText value="#{row.item.status}" />
         </af:column>
         <af:column>
              <f:facet name="header">
                   <af:outputText value="Actions" />
              </f:facet>
              <af:commandLink text="Edit" actionListener="#{s.selectUserObject}"
                   rendered="#{row.item.userObject}">
                   <af:attribute name="item" value="#{row.item.userObjectName}" />
              </af:commandLink>          
         </af:column>
    </af:treeTable>
              </af:form>
         </afh:body>
         </afh:html>
    </f:view>
    </jsp:root>
    and here is server.xml :
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <!-- Faces API parameter -->
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    <!--param-value>server</param-value-->
    </context-param>
    <!-- ADF Faces by default uses an optimized client-side state saving
    mechanism. To disable that, uncomment the following -->
    <!--context-param>
    <param-name>oracle.adf.view.faces.CLIENT_STATE_METHOD</param-name>
    <param-value>all</param-value>
    </context-param-->
    <!-- Whether or not to turn on Oracle DMS metrics -->
    <!-- set to "true" to enable DMS metrics in an OC4J environment. -->
    <!-- Then you can go to
    http://<hostname>:<port>/<context-root>/servlet/Spy -->
    <context-param>
    <param-name>oracle.adf.view.faces.ENABLE_DMS_METRICS</param-name>
    <param-value>false</param-value>
    </context-param>
    <!-- Faces Filter -->
    <filter>
    <filter-name>faces</filter-name>
    <filter-class>oracle.adfinternal.view.faces.webapp.FacesFilter</filter-class>
    <init-param>
    <param-name>faces-servlet-url-pattern</param-name>
    <param-value>/faces/*</param-value>
    </init-param>
    </filter>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    <!-- Faces Filter Mappings -->
    <filter-mapping>
    <filter-name>faces</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>facesS</servlet-name>
    </filter-mapping>
    <!-- Faces Servlet -->
    <servlet>
    <servlet-name>facesS</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <!-- On some version of OC4J, the following is needed when using jsf 1.0 -->
    <!--servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
    <init-param>
    <param-name>tags_reuse_default</param-name>
    <param-value>none</param-value>
    </init-param>
    </servlet-->
    <!-- Faces Servlet Mappings -->
    <servlet-mapping>
    <servlet-name>facesS</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <!-- Welcome Files -->
    <welcome-file-list>
    <welcome-file>index.jspx</welcome-file>
    </welcome-file-list>
    <!-- ADF Faces Tag Library -->
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adf/faces/EA14</taglib-uri>
    <taglib-location>/WEB-INF/af.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adf/faces/EA14/html</taglib-uri>
    <taglib-location>/WEB-INF/afh.tld</taglib-location>
    </taglib>
    <!-- Faces Core Tag Library -->
    <taglib>
    <taglib-uri>http://java.sun.com/jsf/core</taglib-uri>
    <taglib-location>/WEB-INF/jsf_core.tld</taglib-location>
    </taglib>
    <!-- Faces Html Basic Tag Library -->
    <taglib>
    <taglib-uri>http://java.sun.com/jsf/html</taglib-uri>
    <taglib-location>/WEB-INF/html_basic.tld</taglib-location>
    </taglib>
    <!-- Survey Demo (Custom) Tag Library -->
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adf/faces/EA14/demo</taglib-uri>
    <taglib-location>/WEB-INF/survey.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adffacesdemo</taglib-uri>
    <taglib-location>/WEB-INF/uixdemo.tld</taglib-location>
    </taglib>
    </web-app>
    I use Tomcat 5.0.18 (embeded in Eclipse for web) and ADF Faces ea14 (with ea13 was the same problem.)
    Thanks for any hints...

    When I refresh the page after this exception, the content is displayed correctly. When I make new request on this page, I get new Illegal state exception, after the refresh the content is displayed correctly again ...

  • Illegal state exception in filters can any help me plzzzzzzz

    i want to check the clients status i mean whether the request is coming from new client or already using client , if clients request is new one then the filter has to redirect to some other login page and also if the request is asked to access the authenticated resource then also he want to force to redirect to login page.If the user is logged in and his session is not expired and if session is valid then he can access the requested url as per his role....can any one suggest the code plzzzzzzzzz
    here is my code but iam getting the illegal state exception as shown below...
    package uk.co.lex.interactive.authentication.action;
    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 javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class AuthenticationFilter implements Filter {
    private FilterConfig filterConfig=null;
    HttpSession session=null;
         public void init(FilterConfig filterConfig) throws ServletException {
              //TODO Auto-generated method stub
              this.filterConfig=filterConfig;
              System.out.println("---Authentication filter initialized---");
         public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
              // TODO Auto-generated method stub
              HttpServletRequest req=(HttpServletRequest)request;
              HttpServletResponse res=(HttpServletResponse)response;
                   String reqSessId=req.getRequestedSessionId();
              if(reqSessId!=null)
                   {System.out.println("-------session is valid and the same client is using the resource111---");
                         if(req.isRequestedSessionIdValid())
                            System.out.println("-------session is valid and the same client is using the resource222---");
                            System.out.println("---requested sessid"+reqSessId);
                           if(req.isRequestedSessionIdFromCookie()||req.isRequestedSessionIdFromURL())
                                System.out.println("-------session is valid and the same client is using the resource333---");
              }else
              res.sendRedirect(req.getContextPath()+"/"+"checkUser.do");
                        System.out.println("------it is new session so it redirected to loginpage from authentication filter-------");
              else
                   res.sendRedirect(req.getContextPath()+"/"+"checkUser.do");
                   System.out.println("------it is new session so it redirected to loginpage from authentication filter-------");
              chain.doFilter(request,response);
         public void destroy() {
              // TODO Auto-generated method stub
              this.filterConfig=null;
              System.out.println("-----authentication filter destroyed---");
    11:03:18,693 ERROR [[action]] Servlet.service() for servlet action threw exception
    java.lang.IllegalStateException: Cannot create a session after the response has been committed
         at org.apache.catalina.connector.Request.doGetSession(Request.java:2195)
         at org.apache.catalina.connector.Request.getSession(Request.java:2017)
         at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:822)
         at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
         at org.apache.struts.action.RequestProcessor.processLocale(RequestProcessor.java:621)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:177)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at uk.co.lex.interactive.authentication.action.AuthenticationFilter.doFilter(AuthenticationFilter.java:63)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
         at java.lang.Thread.run(Thread.java:595)

    I don't know that this is the root cause of your problem, but it certainly could be. When comparing two strings, you need to use the .equals() method, not ==.
    (except in the null case, where checking for null with == is perfectly okay).
    if (ViewProtectedPage.getValue("trycount").equals("1")
    ..etc
    Some other notes... use if/else if/else rather than a whole bunch of ifs, since all your statements are mutually exclusive. Maybe even put those lower ifs inside your outer "else" since you're obviously not going to reach them after a sendRedirect(). On that same note, place a return; after the sendRedirect() to state that the rest of the page need not be loaded/executed.

  • Illegal State Exception with response.sendRedirect

    Hi all,
    When i am using response.sendRedirect(address), It is giving illegal state exception at few places. At few places it is working fine. I couldnt trace the reason.
    I am using tomcat 4.1 with SSL configured for the server. Will session tracking effect response.sendRedirect(address)'s ability any way?
    Can any body help me out...
    Thanks in advance...
    krish

    I believe this quite often occurs when you have tried to send some kind of response already. I.E. you should not have sent anything to the client when you call this method so start by looking for any write's you have prior to the sendRedirect().
    Ted.

  • Illegal State Exception ; Resource resolver already closed

    Hi
         In my component I have a page resource. When I am trying to get the image resource of the same as below it is throwing me an Illegal State exception
    Resource resource = page.getContentResource("image");
    My error stack trace is as follows
                     Eventhough i am not closing any resource ; it is giving me illegal state exception for the resource. Please help me in finding a solution for this.
    Thanks
    Veena

    Are you calling the right path?
    The call to page.getContentResource("image") will end up calling the following:
    resource.getResourceResolver().getResource(resource, “jcr:content/image”);

  • Please clarify on Illegal state exception

    Dear All pl explain Illegal state exception occurs in some program why. and what is the solution.

    Hi,
    This exception is thrown when a method is invoked at an illegal or inappropriate time or if the provider is not in an appropriate state for the requested operation.
    In servlets, for example, you have a method forward() in the RequestDispatcher class, which forwards the request to another resource for processing. This method should be called before the response is committed, else it throws IllegalStateException.

  • How to avoid synchronization problem in a  JSP webpage

    HI,
    In my web page im facing a problem like if two user are workin, by that time one's page is getting reflected in other's page.
    Can anyone tell me how to avoid this synchronization problem?
    Thanx a lot

    Hi Rajesh,
    we Have Configured LDAP tree Successfully....the Problem is the Role Assignment iview under Portal Admin is not appearing....if we check the Test Connection with the  users Configured with LDAP in Authentication server TAB under user configuration,it is showing success message...but at the same time we are unable to login with the same user in to the Portal..we are working with EP 5.0....any help can be appreciated
    Regards
    Sudhir

  • How to avoid common imports in multiple JSP files

    If there are more than one jsp having a common set of import statements,is there any way of minimizing this repetition of these import statements in each JSP?

    hmmm.... it will make your code hardly readable for someone else, but you can make a jsp file which will import everything you need. that's the only thing it will do.
    then include this file in all of your jsps... pretty bizzare i must say:)

  • Strange Illegal State Exception

    Hello all,
    I've been writing a large webapp for a while and have suddenly started getting this exception. It turns up in the web server logs, occurs in the middle of a loop, and although all exceptions in my servlet are caught and forwarded to a generic error page, this exception causes the output to stop - leaving just the already-output HTML on the page. I guess this is because it's a runtime exception.
    I know this can occur by calling getWriter() and getOutputStream() in the same servlet, but I've done nothing except println() on my PrintWriter after using getWriter() to retrieve it.
    Anyone got any ideas on why this might occur?
    Thanks!
    Gemma

    Here's the loop in which the error occurs:
               for(int i=0;i<theVector.size();i++)
              CustomObject temp = (CustomObject)theVector.elementAt(i);
              if(user.hasMultipleAttributes())
                if(i==0)
                  out.println("<tr><td colspan=\"6\">For <b>" + temp.getCountry() + "</b></td></tr><tr><td colspan=\"6\"><br></td></tr>");
                else
                  if(!temp.getCountry().equals(lastCountry))
                    out.println("<tr><td colspan=\"6\">For <b>" + temp.getCountry() + "</b></td></tr><tr><td colspan=\"6\"><br></td></tr>");
                lastCountry = temp.getCountry();
              out.println("<tr><td>" + temp.getStory() + "</td>");
              out.println("<td>" + temp.getLanguage() + "</td>");
              if(currentUser.hasMultipleAttributes())
                out.println("<td>" + temp.getCountry() + "</td>");
              out.println("<td>" + temp.getRequestDate() + "</td>");
              out.println("<td>" + temp.getPublishDate() + "</td>");
              if(temp.isComplete())
                out.println("<td><img src=\"" + URLContainer.getTickImageURL() + "\"></img></td>");
              else
                out.println("<td><form method=\"post\" action=\"" + URLContainer.getCompleteStoryDetailsURL() + "\"><input type=\"hidden\" name=\"storyname\" value=\"" + temp.getStoryName() + "\"><input type=\"hidden\" name=\"language\" value=\"" + temp.getLanguage() + "\"><input type=\"hidden\" name=\"country\" value=\"" + temp.getCountry() + "\"><input type=\"submit\" value=\"Complete Usage Details\"></form></td>");
              out.println("</tr>");
              CustomObject temp2 = (CustomObject)theVector.elementAt(i+1);
              if(!lastCountry.equals(temp2.getCountry()))
                out.println("<tr><td colspan=\"6\"><br></td></tr>");
               } I can't see anything in here which would cause such an error. I don't pass the PrintWriter (out) anywhere... I don't set the buffer size and I don't believe that the PrintWriter is returned in autoFlush mode (not 100% sure though).
    For redirects, I tend to use HttpServletResponse.sendRedirect().
    Thanks
    Gemma

  • How to avoid unemployment state tax for unemployed

    This is for Layoff people
    The wage type 1234 is assigned to employee when layoff. Basically the payroll schema replaces regular wagetype from basic pay to layoff WT 1234.
    This WT1234 should only deduct Employee portion of FED, State and local taxes.
    So I created a new Tax model to do this. Everything works fine but unfortunately it deducts ER Unemployement state tax (/410 02).
    I tried adding tax type 10 as 'N' in tax combo table. With that it creates additional line in BSI calculation output with 0.00 for tax type 10
    Now sure where I am missing something.
    Need Help

    First go and check what is the specification for this wagetype 1234 in PRCL 71. let's say it is "1".
    Create a new tax classification for PRCL 71 for this wagetype. here is how you do it. SM30 --> T52D2. Select PRCL 71 and create a new entry such as a special character @, $ , ) etc.,
    Now, go to the table V_512W_D and assign the new value you created above to the wagetype 1234.
    Goto SE16, T5UTM and selection tax class "1". it will display lot of entries for different tax models. Also you will see R, U, W for each of those models. All that you need to do is when you go into to SM30, make sure you copy this entry for tax classification "$" for all except "U" in the field "Res./wrk./UI".
    This will ensure the wagetype is excluded from going into /710 for all the tax authorities.
    Hope this helps!!
    thanks
    Baburaj S Avanathan

  • Illegal State Exception with Servlets

    Hi Friends,
    I am using RequestDispatcher to forwrd my request from one servlet to another
    Here's the code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class TryServlet extends HttpServlet
    public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:con";
    Connection con= DriverManager.getConnection(url,"scott","tiger");
    Statement stmt=con.createStatement();
    ResultSet rst=stmt.executeQuery("select * from Projects");
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
    while (rst.next())
    String firstname=rst.getString("PIN");
    String lastname=rst.getString("ProjectTitle");
    out.println("<p> Name:"+firstname+" "+lastname+"");
    con.close();
    RequestDispatcher rd=getServletContext().getNamedDispatcher("HelloServlet");
    rd.forward(request,response);
    return;
    catch(Exception e)
    e.printStackTrace();
    I m getting the error
    java.lang.IllegalStateException: Cannot forward after response has been committed
    i need to include the two rows of tables before i forwad the request to HelloServlet
    What needs to be done?
    thanx
    Pooja

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class TryServlet extends HttpServlet
    public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:con";
    Connection con= DriverManager.getConnection(url,"scott","tiger");
    Statement stmt=con.createStatement();
    ResultSet rst=stmt.executeQuery("select * from Projects");
    response.setContentType("text/html");
    PrintWriter out=response.getWriter();
    while (rst.next())
    String firstname=rst.getString("PIN");
    String lastname=rst.getString("ProjectTitle");
    out.println("<p> Name:"+firstname+" "+lastname+"");
    con.close();
    RequestDispatcher rd=getServletContext().getNamedDispatcher("HelloServlet");
    rd.forward(request,response);
    return;
    catch(Exception e)
    e.printStackTrace();
    please explain your problem for more details???

  • How to avoid duplicate DN exception when creating Active Directory Account

    I am using OIM 9.1.0.2 to provision Active Directory accounts.
    I run into issues when the DN of the user to be created already exists and I would like to know if anyone has some logic I can use to generate a different DN for new user by adding a number or something like that to the DN
    Here is an example.
    User 1 exists already and their DN: cn=john smith, cn=users, dc=company,dc=org
    New user joins the company and his name is also john smith and he has no middle name: so system attempts to create his account as cn=john smith, cn=users, dc=company,dc=org
    how can I accomplish this by making the account say cn=john smith_1, cn=users, dc=company,dc=org

    855640 wrote:
    I run into issues when the DN of the user to be created already exists and I would like to know if anyone has some logic I can use to generate a different DN for new user by adding a number or something like that to the DN
    There are two different questions:
    1. How to generate a sequence of candidates for the name attribute
    2. How to check if a record with the given name candidate already exists in the Active Directory, and hence try the next candidate from the sequence.
    The answer for the first part is usually defined by the policy existing in your organization, in the simplest case you can append sequential integer numbers to the end of the original name.
    The answer for the second question is not so simple if you use are provisioning with MSAD connector.
    There are two places you can put the check:
    -- in the pre-populate adapter for the UD_ADUSER_COMMONNAME field
    -- in the adpADCSCREATEUSER event handler, which is responsible for new AD user record creation.
    Both cases need some coding, since you have to obtain the AD connection and search AD for matching records.
    Pros & cons
    Placing check code in the pre-populate adapter:
    Pros:
    the result is visible in the form, administrator can change the pre-calculated value if he wishes
    Cons:
    you need to have all access to connection parameters, and establish one extra connection
    this is not the way OIM is supposed to work :-(
    Placing check code in the AD user creation task:
    Pros:
    you have all access to connection parameters, and open a connection here anyway
    Cons:
    the result is not present in the form, so no way for manual interaction by administrator here
    BTW: this problem is not only related to DN generation, some other AD attributes (e.g. sAMAccountName, mailNickName, userPrincipalName, mail) should be unique in the AD domain scope.
    Edited by: madhatter on Sep 7, 2012 12:02 AM

Maybe you are looking for

  • Nested AGO function in OBIEE

    Hi , I am not able to understand the reason behind using Nested AGO functions. In one of the logical columns (Sales LastYear LastWeek) the mapping was in the following fashion: Ago(Ago("Core"."Fact - Retail Inventory Receipts"."Receipts Retail" , "Co

  • Setting up raid

    I am afraid I have come to a dead end! I have read the manual and the excellent guide in this forum. But I am stuck! I am trying to set up a raid 0 array . The system I have is 865PE Neo2 FIS2R Intel P4 3.2Ghz 800FSB 2 x 120Gb Western Digital SATA HD

  • T430 CPU speed question

    Hi, I recently bought a T430 advertised as having this cpu: Intel Core i7-3520M Processor (4M Cache, up to 3.60 GHz)  However in my control panel the i7 cpu shows up as 2.90 GHz. Can anyone please tell me if there is some option to increase the speed

  • Message waiting light

    I would give my right arm to be able to look at my iPhone while it's asleep and see some indication that I have a message waiting - text, email or voice. Maybe a few flashing pixels with different colors for different types of message. Most other pho

  • Authorised new 2nd Comp but cant play downloaded tunes from itunes store

    Having just bought a new laptop as my old comp died I am having great difficulty getting my music that I have bought from itunes onto this comp. I am getting a message saying authorised comp successful however when i click on one of the songs on itun