Problem in Servlet Clustering !

Hi,
          I have configured the WebLogic Server for Servlet Clustering. But how do I know that the servlet configuration is working?
          I am using WebLogic 6.1 (sp2), I am using two different machines (NT WorkStations) as members of a cluster. I invoke the jsp (or any servlet) with the following url:
          http://ipofoneoftheclusteredservers:7005/examplesWebApp/HelloWorld.jsp
          or with
          http://ipoftheotherclusteredserver:7005/examplesWebApp/HelloWorld.jsp
          both of these give results, but how do i test this setup for clustering??
          let me know !
          -dee
          

          Thanks for the reply. Can you help me a little more? Currently i am stuck up while
          doing clustering.
          The Scenario i am using is as follows :
          I have three machine: two as the servers participating in the clustering with
          ip1 and ip2. The third machine with ip3 is where the admin server is started.
          I have configured the cluster having ip1 and ip2 servers, thru the admin console.
          So now my cluster consists of ip1 and ip2 listening at port 7005. Admin server
          is
          started at port 7001. I have added the HttpClusterServlet related details in the
          web.xml under %WL_HOME%\config\examples\examplesWebApp\Web-inf.
          I started the three instances of WebLogic on the respective machines.
          Then in the Web Browser i give the url:
          http://ip1:7005/SimpleSession.jsp
          this keeps saying 'Web site found Waiting for reply' but there is no reply only
          an operation timed out finally. ip1 is one of my clustered servers.
          My HttpClusterServlet setting is on ip3, but if i use the url : http://ip3:7001/SimpleSession.jsp,
          it gives Error 404..Bad Request.
          How am i supposed to invoke the servlet?? i mean using which server, the admin
          or the clustered???
          Please do let me know what i shud do. Can you please give me a detailed scenario
          or settings i need to make?
          Thanks in advance for the help.
          regards,
          deepali
          ps: i am using WebLogic 6.1(sp2) on NT WorkStations.
          Raj Alagumalai <[email protected]> wrote:
          >Deepali,
          >
          >You can setup another instance of WebLogic to act as the proxy server
          >
          >and test the cluster.
          >
          >Please refer to the following document for more information on this
          >http://e-docs.bea.com/wls/docs61////adminguide/http_proxy_cluster.html
          >
          >Thanks
          >
          >Raj Alagumalai
          >Developer Relations Engineer
          >BEA Support
          >
          >Deepali wrote:
          >
          >> Hi,
          >>
          >> I have configured the WebLogic Server for Servlet Clustering. But how
          >do I know that the servlet configuration is working?
          >> I am using WebLogic 6.1 (sp2), I am using two different machines (NT
          >WorkStations) as members of a cluster. I invoke the jsp (or any servlet)
          >with the following url:
          >> http://ipofoneoftheclusteredservers:7005/examplesWebApp/HelloWorld.jsp
          >> or with
          >> http://ipoftheotherclusteredserver:7005/examplesWebApp/HelloWorld.jsp
          >>
          >> both of these give results, but how do i test this setup for clustering??
          >> let me know !
          >>
          >> -dee
          >>
          >
          

Similar Messages

  • Porblem Servlet Clustering

    Hi All,
    I am usning OC4J2.0 which comes with Jdev release candidate in WIN-NT platform.
    I have configured the servlet clustering with oc4j2, but there's problem.
    I have configured a cluster,Node A and Node B in the Island 1, all in the same machine, but have different server port.
    Now the problem is,
    1. When there is no session, it works well, if one is down, request is directed to another. But if i have session, the request is getting redirected to another node(if one is down), whereas the session is not.
    2. I have included cluster-config tag inside orion-web.xml.But i didnt give any port number and ip address for multi casting.Is the default port number 9127 has anything to do with JMS port number? 'coz i have given 9127 to Node A and 9128 to Node B
    ( i have included <distributable /> tag inside web.xml....)
    Same application works fine with session replications, when i configure them in two different machines.
    Thanx and Regards
    --Venky                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Folks
    I solved clustering with session replication problem...:-)
    For doing this you have to add an attribute
    load-on-startup="true" for "web-app" element in default-web-app.xml/http-web-site.xml..Unfortunately this has not been documented anywhere...:-(
    This attribute will make application to get started while server starts up and session also gets replicated.....
    Cheers
    --Venky                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Problem in Servlet Compilation & Deployment

    Hi Friends,
    I have problem regarding Servlet Compilation & Deployment.
    At the time of compilation gives error message "import javax.servlet.* is not a recognize package.
    My J2ee Server gives FATAL Error it says it should be work on JDK1.2 or later.
    My JDK is :-j2sdk1.4.2_04
    MY J2EE Server is:-j2sdkee1.2.1
    My Servlet Runner is:-JSDK2.0
    My Java Enviorment is:- Version 1.5.0 (build 1.5.0_04-b05)
    Path setting is:-
    Class Path=C:\j2sdk1.4.2_04\lib;C:\j2sdkee1.2.1\lib\j2ee.jar;C:\JSDK2.0\lib
    CommonProgramFiles=C:\Program Files\Common Files
    COMPUTERNAME=DCL-04
    ComSpec=C:\WINNT\system32\cmd.exe
    Please help me and give the desired result as soon as you all can
    Your's Harish
    Thanks

    At the time of compilation gives error message "import javax.servlet.* is not a recognize package.You have to include servlet.jar or j2ee.jar in the classpath when compiling.
    My JDK is :-j2sdk1.4.2_04
    My Java Enviorment is:- Version 1.5.0 (build 1.5.0_04-b05)Why are the versions of your JDK and Java runtime environment different? Why are you not using Java 5 to compile and run everything?
    Class Path=C:\j2sdk1.4.2_04\lib;C:\j2sdkee1.2.1\lib\j2ee.jar;C:\JSDK2.0\libIf this is an environment variable, it should be "classpath", not "Class Path" with a space in between.

  • Image reading problem in servlet

    Image reading problem in servlet
    I am reading an image in servlet and writing it to ServletOutputStream
    The following code works fine unless I change the size of the byte array (for increasing download speed) from 8 to something like 128 or any other higher value
    If I change the value of byte array size the image does not get downloaded properly, I mean the quality of the image changes, it does not looks like the original imageURL url = new URL("http://www.mysite.com/images/img1.jpg");
    URLConnection con = url.openConnection();
    con.setUseCaches(false);
    BufferedInputStream in = new BufferedInputStream(con.getInputStream());
    BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
    byte b[] = new byte[8];
    while(in.read(b) != -1)
         out.write(b);
         out.flush();               
    out.close();
    in.close();what do I change
    byte array size
    or use the constructor of BufferedInputStream with 2 parameter
    or use the constructor of BufferedOutputStream with 2 parameter
    or use flush outside while loop or what else

    Change your while loop to:
    int count;
    while((count = in.read(b)) != -1)
         out.write(b, 0, count);
         out.flush();               
    }The penultimate time read is called, it may not fill the entire byte array. You only want to write out however much was read into the array.
    For better performance, you should move the flush() outside of the loop too. BufferedOutputStream will flush automatically when its internal buffer is full.

  • Problems with weblogic clustering in 6.1 sp3

    We have spent a lot of time trying to get our application deployed to
              a cluster using weblogic 6.1 sp3 and we consistently receive a failure
              when we attempt to start the managed server. This was not a problem
              with weblogic sp1--we got our application to deploy to the cluster
              successfully; although there was another weblogic bug there with
              clients accessing EJB clusters--we won't go into that here...
              We have tried this on both a Windows 2000 machine and an HP machine
              running weblogic sp3. The same error occurs on both platforms.
              The error in deploying our application to the cluster against weblogic
              sp3 looks to have to do with our custom security realm. Inside our
              custom realm we make use of a configurable providerUrl which we set to
              the cluster address/port. The custom realm makes a call where it
              passes in the providerUrl to:
                   weblogic.management.Helper.getMBeanHome(..., providerUrl,...)
              When we have our providerUrl set to the cluster address/port--e.g.,
                   t3://clustermember1:7001
              and attempt to start the managed server we get the error:
              Starting WebLogic Server ....
              Connecting to http://adminserver:7117...
              The WebLogic Server did not start up properly.
              Exception raised:
              weblogic.management.configuration.ConfigurationException:
              clustermember1 not found
                   at weblogic.management.Admin.getBootstrapLocalServer(Admin.java:1084)
                   at weblogic.management.Admin.initialize(Admin.java:340)
                   at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:359)
                   at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:206)
                   at weblogic.Server.main(Server.java:35)
              Reason: Fatal initialization exception
              When we have our providerUrl set to the admin server address--e.g.,
                   t3://adminserver:7117
              everything starts up fine.
              Does anyone know why this would work on sp1 and not sp3 of weblogic
              6.1?
              We verified that all passwords are correct and everything else we
              could determine--any ideas would be helpful.
              We don't want the providerUrl to point at our admin server, we want it
              to point at the cluster address/port.
              When we get the managed server error, we received this error on the
              AdminServer:
              2002-08-15 16:52:23,019 ERROR [ExecuteThread: '11' for queue:
              'default'] (com.msa.gabriel.share.security.wlrealm.GabrielRealm) -
              Caught naming exception null; throwing RuntimeException.
              javax.naming.CommunicationException. Root exception is
              java.net.ConnectException: t3://tomtate.msais.com:7119: Destination
              unreachable; nested exception is:
                   java.net.ConnectException: Connection refused; No available router to
              destination
                   at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
                   at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
                   at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:307)
                   at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
                   at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
                   at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
                   at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
                   at javax.naming.InitialContext.init(InitialContext.java:222)
                   at javax.naming.InitialContext.<init>(InitialContext.java:198)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getNamingContext(GabrielRealm.java:416)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getConnection(GabrielRealm.java:347)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.access$000(GabrielRealm.java:51)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm$2.run(GabrielRealm.java:225)
                   at weblogic.security.acl.Security.doAsPrivileged(Security.java:489)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.myDoAsPrivileged(GabrielRealm.java:578)
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.java:221)
                   at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
                   at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
                   at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
                   at weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.java:356)
                   at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:205)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2518)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              <Aug 15, 2002 4:52:23 PM EDT> <Error> <HTTP>
              <[WebAppServletContext(8091823,wl_management_internal2,/wl_management_internal2)]
              Servlet failed with Exception
              java.lang.RuntimeException
                   at com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.java:260)
                   at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
                   at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
                   at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
                   at weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.java:356)
                   at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:205)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2518)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              Thanks for any help.
              Rich
              

    Bottom line:
              In our custom realm we were not handling user guest correctly. Even if you
              have guest user disabled, Weblogic seems to have hard-coded guest to
              send messages to the cluster every-so-often. Not sure there--couldn't get
              an answer out of bea as to exactly why we see guest still being used...
              It seems that with sp3, the user guest interaction started happening earlier
              than it did with sp1, consequently making our realm code fail when trying to
              retrieve the guest user like someone we knew about in our system.
              Hence, our getUser and authUserPassword methods now return null for both
              users guest and system, making the secondary realm (file realm) be used to
              authenticate and resolve guest & system. BEA helped get our code fixed;
              however, we still don't have a lot of depth in understanding Weblogic
              server's use of guest...
              Apparently, in 7.x the guest & system user behavior and configuration is
              different also... We'll see when we start digging into that migration.
              Rich
              [email protected] (Rich Koch) wrote in message news:<[email protected]>...
              > Thanks for the responses--we're working with weblogic support now. We
              > think that the custom realm that we have [the developer that wrote it
              > left the company] is the problem.
              >
              > The original developer was told by someone to check:
              > weblogic.security.acl.internal.ClusterRealm.THE_ONE != null
              >
              > In order to determine if the JNDI was available/ready for the whole
              > cluster.
              >
              > It seems that the meaning/setting of THE_ONE changed with this respect
              > from
              > sp1 to sp3--i.e., this is no longer a valid test to tell us if the
              > JNDI is
              > ready for the cluster.
              >
              > We believe this was used because the 'system' user has to be
              > authenticated before the custom realm is up. Originally, before this
              > check was in place, an exception was received when authenticating
              > 'system'. This appears to be a weblogic limitation/issue. Support
              > has told us that this is different in weblogic 7.0. Unfortunately, we
              > can't upgrade from 6.1 yet.
              >
              > We'll post the solution when this gets figured out.
              >
              > Rak
              >
              > "Sabha" <[email protected]> wrote in message news:<[email protected]>...
              > > There was a security restriction enforced from sp2/sp3 onwards in terms of
              > > looking up mbeans from admin server.
              > >
              > > This might cause things to fail if you are attempting to lookup Mbeans with
              > > guest priviliges from admin server. Also, can you try doing the following:
              > >
              > > Run " java weblogic.Admin -url adminServer -username system -password
              > > .... -GET -pretty -type Server" and check whether the named clustermember1
              > > is available in the list or not.
              > >
              > > Also you seem to be getting some security exception - can you check that.
              > >
              > > t3://tomtate.msais.com:7119: Destination
              > > unreachable; nested exception is:
              > >
              > > --- Try running weblogic.Admin PING on this one and see whether you are
              > > able to reach this server upon the error message.
              > >
              > > --Sabha
              > >
              > > "Rich Koch" <[email protected]> wrote in message
              > > news:[email protected]...
              > > > We have spent a lot of time trying to get our application deployed to
              > > > a cluster using weblogic 6.1 sp3 and we consistently receive a failure
              > > > when we attempt to start the managed server. This was not a problem
              > > > with weblogic sp1--we got our application to deploy to the cluster
              > > > successfully; although there was another weblogic bug there with
              > > > clients accessing EJB clusters--we won't go into that here...
              > > >
              > > > We have tried this on both a Windows 2000 machine and an HP machine
              > > > running weblogic sp3. The same error occurs on both platforms.
              > > >
              > > > The error in deploying our application to the cluster against weblogic
              > > > sp3 looks to have to do with our custom security realm. Inside our
              > > > custom realm we make use of a configurable providerUrl which we set to
              > > > the cluster address/port. The custom realm makes a call where it
              > > > passes in the providerUrl to:
              > > > weblogic.management.Helper.getMBeanHome(..., providerUrl,...)
              > > >
              > > > When we have our providerUrl set to the cluster address/port--e.g.,
              > > > t3://clustermember1:7001
              > > >
              > > > and attempt to start the managed server we get the error:
              > > >
              > > > Starting WebLogic Server ....
              > > > Connecting to http://adminserver:7117...
              > > >
              > ***************************************************************************
              > > > The WebLogic Server did not start up properly.
              > > > Exception raised:
              > > > weblogic.management.configuration.ConfigurationException:
              > > > clustermember1 not found
              > > > at weblogic.management.Admin.getBootstrapLocalServer(Admin.java:1084)
              > > > at weblogic.management.Admin.initialize(Admin.java:340)
              > > > at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:359)
              > > > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:206)
              > > > at weblogic.Server.main(Server.java:35)
              > > > Reason: Fatal initialization exception
              > > >
              > ***************************************************************************
              > > >
              > > > When we have our providerUrl set to the admin server address--e.g.,
              > > > t3://adminserver:7117
              > > >
              > > > everything starts up fine.
              > > >
              > > > Does anyone know why this would work on sp1 and not sp3 of weblogic
              > > > 6.1?
              > > > We verified that all passwords are correct and everything else we
              > > > could determine--any ideas would be helpful.
              > > >
              > > > We don't want the providerUrl to point at our admin server, we want it
              > > > to point at the cluster address/port.
              > > >
              > > > When we get the managed server error, we received this error on the
              > > > AdminServer:
              > > >
              > > > 2002-08-15 16:52:23,019 ERROR [ExecuteThread: '11' for queue:
              > > > 'default'] (com.msa.gabriel.share.security.wlrealm.GabrielRealm) -
              > > > Caught naming exception null; throwing RuntimeException.
              > > > javax.naming.CommunicationException. Root exception is
              > > > java.net.ConnectException: t3://tomtate.msais.com:7119: Destination
              > > > unreachable; nested exception is:
              > > > java.net.ConnectException: Connection refused; No available router to
              > > > destination
              > > > at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
              > > > at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
              > > > at
              > > weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
              > > textFactoryDelegate.java:307)
              > > > at
              > > weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
              > > textFactoryDelegate.java:211)
              > > > at
              > > weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
              > > ory.java:149)
              > > > at
              > javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:665)
              > > > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
              > > > at javax.naming.InitialContext.init(InitialContext.java:222)
              > > > at javax.naming.InitialContext.<init>(InitialContext.java:198)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getNamingContext(Gabriel
              > > Realm.java:416)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getConnection(GabrielRea
              > > lm.java:347)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.access$000(GabrielRealm.
              > > java:51)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm$2.run(GabrielRealm.java:
              > > 225)
              > > > at weblogic.security.acl.Security.doAsPrivileged(Security.java:489)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.myDoAsPrivileged(Gabriel
              > > Realm.java:578)
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.jav
              > > a:221)
              > > > at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
              > > > at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
              > > > at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
              > > > at
              > > weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.j
              > > ava:356)
              > > > at
              > > weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
              > > tSecurityManager.java:205)
              > > > at
              > > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
              > > ntext.java:2518)
              > > > at
              > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
              > > :2260)
              > > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > > > <Aug 15, 2002 4:52:23 PM EDT> <Error> <HTTP>
              > > >
              > > <[WebAppServletContext(8091823,wl_management_internal2,/wl_management_intern
              > > al2)]
              > > > Servlet failed with Exception
              > > > java.lang.RuntimeException
              > > > at
              > > com.msa.gabriel.share.security.wlrealm.GabrielRealm.getUser(GabrielRealm.jav
              > > a:260)
              > > > at weblogic.security.acl.CachingRealm.getUserEntry(CachingRealm.java:832)
              > > > at weblogic.security.acl.CachingRealm.getUser(CachingRealm.java:696)
              > > > at weblogic.security.acl.Security.getCurrentUser(Security.java:250)
              > > > at
              > > weblogic.servlet.security.internal.SecurityModule.auditPerm(SecurityModule.j
              > > ava:356)
              > > > at
              > > weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
              > > tSecurityManager.java:205)
              > > > at
              > > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
              > > ntext.java:2518)
              > > > at
              > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
              > > :2260)
              > > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              > > >
              > > >
              > > > Thanks for any help.
              > > >
              > > > Rich
              

  • Problem with servlet and application program

    i have this error appearing in my browser...
    i have this feeling it is about the application, but if application alone, i now having some trouble running it, once i bind it with an applet i always have this message:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    java.lang.NullPointerException
         exString.triming(exString.java:12)
         exString.geta(exString.java:113)
         forplay.play(forplay.java:9)
         textServe.doGet(textServe.java:14)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
         org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
    i know this is a simple problem...
    how come my application is having some difficulty in running my application...
    this servlet by the way is a get parameter base...

    Its caused cuz ur exString is null..
    rgds
    shanu

  • Problem with servlet after migrating from OC4J to WebLogic 10.3

    I come across a problem when I was migrating from jDev 11g TP4 to production version in that step also server got changed from OC4J to webLogic.
    I am running java http servlet along other jspx pages. When everything was on OC4J there was no problem whit security on this servlet ( servlet was under same authorization automatically, and I was able to create new application module on this servlet by createRootApplicationModule
    ) but when I changed to WebLogic 10.3 I come across a numerous problems. First one is solved i managed to put the servlet under same authorization as jspx pages by
    *&lt;servlet&gt;*
    *&lt;servlet-name&gt;report&lt;/servlet-name&gt;*
    *&lt;servlet-class&gt;path.to.class&lt;/servlet-class&gt;*
    *&lt;security-role-ref&gt;*
    *&lt;role-name&gt;name&lt;/role-name&gt;*
    *&lt;role-link&gt;valid-users&lt;/role-link&gt;*
    *&lt;/security-role-ref&gt;*
    *&lt;/servlet&gt;*
    but when I trying to create new application module I get JBO-30003 error which is Caused by:
    oracle.adf.share.security.ADFSecurityAuthenticationException: JAAS login error.
    Invalid null input: name
    Has anybody any idea what I am doing wrong?
    Thank you for your help, Rok Kogov&scaron;ek

    for example:
    web.xml
    <security-role>
    <role-name>yourrole</role-name>
    </security-role>
    weblogic.xml
    <security-role-assignment>
    <role-name>yourrole</role-name>
    <principal-name>wlsuser</principal-name > <!-- wlsuser is define at wls console-->
    </security-role-assignment>

  • A problem with servlet  mapping , using a servlet to produce some chart in

    Hi
    Thank you for reading my post.
    My problem is about using a Chart library which works well in jsf application but it does not works in JSF portlets.
    I think i find the problem but i do not know the solution.
    to use this charting library we should add a servlet to web.xml
    something like :
    <servlet>
    <servlet-name>Jenia internal servlet</servlet-name>
    <servlet-class>org.jenia.faces.util.Servlet</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Jenia internal servlet</servlet-name>
    <url-pattern>/jenia4faces/*</url-pattern>
    </servlet-mapping>
    so , when we try to load a chart , it will make the chart image source
    something like
    http://localhost:28080/Adv/jenia4faces/chart/OAReport.jspBarChart3d_id0.png
    in the above sample , adv is the name of web application which is
    deployed in a servlet container.
    and filter applied to make the chart render-able.
    to use the chart library in jsf portlet , i add the servlet
    description as i did for web application , so i add
    <servlet>
    <servlet-name>Jenia internal servlet</servlet-name>
    <servlet-class>org.jenia.faces.util.Servlet</servlet-class>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Jenia internal servlet</servlet-name>
    <url-pattern>/jenia4faces/*</url-pattern>
    </servlet-mapping>
    to my portlet web.xml file.
    when we have portlet , the url to access that portlet (which indeed is a
    web application) changes
    for example
    url for a sample portlet with same web application name
    will be like
    http:// localhost:28080/pluto/portal/Adv/
    as you can see there are some prefix to web application name in the url
    , but when i use chart component to show
    same chart , it still look for the chart in url like :
    http://localhost:28080/Adv/jenia4faces/chart/OAReport.jspBarChart3d_id0.png
    As you may already sugest , the image will not render because browser is
    looking in wrong place.
    now i
    think if i find some way to map that servlet to correct url
    pattern it will works.
    my question is :
    1-what will be new servlet url pattern ?
    2-is my assumption correct ?
    Thank you very much for reading such a long post

    i wrote an app i.e servlet which would select the data from the database and retrive the data.but i want to send this data to normal java file(which is not a servlet) and i want to display results in the normal java file.
    can any body help this concept........
    send me mail:[email protected]

  • A problem with servlets with  WebLogic 4.5.1 SP11

              Hello,
              We have developed a client that connects to servlets in WebLogic 4.5.1. Some of the servlets use sessions to store data, and they receive some parameters from the client to retrieve information from a database.
              When we use WebLogic 4.5.1, everything works fine. However, when we upgrade it to Service Pack 11, we find a problem. If we make a servlet that receives some parameters, but it does no use sessions, everything is correct. If we make a servlet that does not receive any parameter, and we use sessions, we find no problem either. But if we make a servlet that receives parameters and uses sessions within the doPost() method, there is an exception when we call the method Request.getSession(true).
              I would thank any help about this point, since I'm not sure if this is the result of a bug, or if there is a new parameter that we have to set in the file weblogic.properties, or any other reason.
              The code of our servlet is as simple as follows:
              public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
                   ObjectInputStream in = new ObjectInputStream(request.getInputStream());
                   String arg = null;
                   String arg2 = null;
                   String arg3 = null;
                   try{
                        arg = (String)in.readObject();
                        arg2 = (String)in.readObject();
                        arg3 = (String)in.readObject();
                   }catch(Exception e){
                   // Get the session and the counter param attribute
                   HttpSession session = request.getSession(true);
              // WE GET THE EXCEPTION AT THIS POINT.
                   Integer ival = (Integer) session.getValue("simplesession.counter");
                   if (ival == null)
                        // Initialize the counter
                        ival = new Integer(1);
                   else
                        // Increment the counter
                        ival = new Integer(ival.intValue() + 1);
                   // Set the new attribute value in the session
                   session.putValue("simplesession.counter", ival);
                   // Output data
                   ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
                   out.writeObject(ival);
                   out.close();
              On the other hand, the client invokes the serlvets using the following code:
              public int servletClient(String usuario,String password) {
                   int numero = 0;     
                   try{
                        // Input parameters
                        Serializable[] objs = {"login",usuario, password};
                        // Invokes the servlet
                        ObjectInputStream in = ServletWriter.postObjects(urlServlet, objs); // SEE BELOW...
                        // Get the results
                        numero = ((Integer)in.readObject()).intValue();
                        in.close();
                   }catch(Exception e){
                        e.printStackTrace();
              static public ObjectInputStream postObjects(URL servlet, Serializable objs[]) throws Exception
                        URLConnection con = servlet.openConnection();
                        con.setDoInput(true);
                        con.setDoOutput(true);
                        con.setUseCaches(false);
                        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                        // Write the arguments as post data
                        ObjectOutputStream out = new ObjectOutputStream(con.getOutputStream());
                        int numObjects = objs.length;
                        for (int x = 0; x < numObjects; x++) {
                             out.writeObject(objs[x]);
                        out.flush();
                        out.close();
                        return new ObjectInputStream( con.getInputStream() );
              // THE CLIENT CODE FINISHES HERE
              The exception we get is the following:
              Mon Feb 21 13:47:41 GMT-02:00 2000:<E> <ServletContext-Servlets> Servlet failed with RuntimeException
              Mon Feb 21 13:47:41 GMT-02:00 2000:<E> <ServletContext-Servlets> java.io.IOException: Unexpected end of POST data. Read 0 bytes. Content-length = 20
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Exception.<init>(Compiled Code)
              at java.io.IOException.<init>(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getParameter(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.initSessionInfo(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getSession(Compiled Code)
              at SGBA.servlets.HelloWorldServlet.doPost(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.t3.srvr.ExecuteThread.run(Compiled Code)
              --------------- nested within: ------------------
              weblogic.utils.NestedRuntimeException: cannot parse POST parameters of request /HelloWorldServlet
              - with nested exception:
              [java.io.IOException: Unexpected end of POST data. Read 0 bytes. Content-length = 20]
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Exception.<init>(Compiled Code)
              at java.lang.RuntimeException.<init>(Compiled Code)
              at weblogic.utils.NestedRuntimeException.<init>(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getParameter(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.initSessionInfo(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getSession(Compiled Code)
              at SGBA.servlets.HelloWorldServlet.doPost(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.t3.srvr.ExecuteThread.run(Compiled Code)
              I hope all this information can help you making an idea of our problem. We will be looking forward to receiving your answer.
              Thanks in advance,
              Frankie Carrero.
              

              Hello,
              We have developed a client that connects to servlets in WebLogic 4.5.1. Some of the servlets use sessions to store data, and they receive some parameters from the client to retrieve information from a database.
              When we use WebLogic 4.5.1, everything works fine. However, when we upgrade it to Service Pack 11, we find a problem. If we make a servlet that receives some parameters, but it does no use sessions, everything is correct. If we make a servlet that does not receive any parameter, and we use sessions, we find no problem either. But if we make a servlet that receives parameters and uses sessions within the doPost() method, there is an exception when we call the method Request.getSession(true).
              I would thank any help about this point, since I'm not sure if this is the result of a bug, or if there is a new parameter that we have to set in the file weblogic.properties, or any other reason.
              The code of our servlet is as simple as follows:
              public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
                   ObjectInputStream in = new ObjectInputStream(request.getInputStream());
                   String arg = null;
                   String arg2 = null;
                   String arg3 = null;
                   try{
                        arg = (String)in.readObject();
                        arg2 = (String)in.readObject();
                        arg3 = (String)in.readObject();
                   }catch(Exception e){
                   // Get the session and the counter param attribute
                   HttpSession session = request.getSession(true);
              // WE GET THE EXCEPTION AT THIS POINT.
                   Integer ival = (Integer) session.getValue("simplesession.counter");
                   if (ival == null)
                        // Initialize the counter
                        ival = new Integer(1);
                   else
                        // Increment the counter
                        ival = new Integer(ival.intValue() + 1);
                   // Set the new attribute value in the session
                   session.putValue("simplesession.counter", ival);
                   // Output data
                   ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
                   out.writeObject(ival);
                   out.close();
              On the other hand, the client invokes the serlvets using the following code:
              public int servletClient(String usuario,String password) {
                   int numero = 0;     
                   try{
                        // Input parameters
                        Serializable[] objs = {"login",usuario, password};
                        // Invokes the servlet
                        ObjectInputStream in = ServletWriter.postObjects(urlServlet, objs); // SEE BELOW...
                        // Get the results
                        numero = ((Integer)in.readObject()).intValue();
                        in.close();
                   }catch(Exception e){
                        e.printStackTrace();
              static public ObjectInputStream postObjects(URL servlet, Serializable objs[]) throws Exception
                        URLConnection con = servlet.openConnection();
                        con.setDoInput(true);
                        con.setDoOutput(true);
                        con.setUseCaches(false);
                        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                        // Write the arguments as post data
                        ObjectOutputStream out = new ObjectOutputStream(con.getOutputStream());
                        int numObjects = objs.length;
                        for (int x = 0; x < numObjects; x++) {
                             out.writeObject(objs[x]);
                        out.flush();
                        out.close();
                        return new ObjectInputStream( con.getInputStream() );
              // THE CLIENT CODE FINISHES HERE
              The exception we get is the following:
              Mon Feb 21 13:47:41 GMT-02:00 2000:<E> <ServletContext-Servlets> Servlet failed with RuntimeException
              Mon Feb 21 13:47:41 GMT-02:00 2000:<E> <ServletContext-Servlets> java.io.IOException: Unexpected end of POST data. Read 0 bytes. Content-length = 20
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Exception.<init>(Compiled Code)
              at java.io.IOException.<init>(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getParameter(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.initSessionInfo(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getSession(Compiled Code)
              at SGBA.servlets.HelloWorldServlet.doPost(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.t3.srvr.ExecuteThread.run(Compiled Code)
              --------------- nested within: ------------------
              weblogic.utils.NestedRuntimeException: cannot parse POST parameters of request /HelloWorldServlet
              - with nested exception:
              [java.io.IOException: Unexpected end of POST data. Read 0 bytes. Content-length = 20]
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Exception.<init>(Compiled Code)
              at java.lang.RuntimeException.<init>(Compiled Code)
              at weblogic.utils.NestedRuntimeException.<init>(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getParameter(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.initSessionInfo(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.getSession(Compiled Code)
              at SGBA.servlets.HelloWorldServlet.doPost(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at javax.servlet.http.HttpServlet.service(Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.t3.srvr.ExecuteThread.run(Compiled Code)
              I hope all this information can help you making an idea of our problem. We will be looking forward to receiving your answer.
              Thanks in advance,
              Frankie Carrero.
              

  • Cache problem for servlet opening new browser window

    Requirement:
    I have JSP page say summary.jsp with link "print account summary"
    When user clicks on this link, new browser open with PDF document of summary.jsp
    This new browser window should not have address bar and toolbar.
    Solution:
    Servlet called PrintSummary which sets contenttype=application/pdf and sends the data to outputstream.
    href of link is
    Java script function is:
    function openWindow(url){
    window.open(url,'blank','toolbar=no')
    Problem:
    Since the URL of this new window is
    http:// host:portnumber/PrintSummary
    Even if I click the "Print summary" link for account2,
    being the same URL (http:// host:portnumber/PrintSummary) it accesses the existing page in the cache which is created for account 1.
    In href if I just use servlet url as
    I get the expected behaviour but then I don't have control on browser appearance and browser window will be with address bar and toolbar.
    The only option I could think of was changing URL as follows:
    <% String url ="javascript:openWindow('PrintSummary? var1="+ Math.random()+"')";
    So that URL is different all the time
    Is there any way to solve this problem?
    Thanks in advance
    M.

    I'd definitely try to use a Flex popup... but the
    flash.net.navigateToURL method is a simple way to open a popup
    window in a new browser. You can pass any data needed by the new
    page using the URLRequest and/or URLVariables. The URL you navigate
    to could, of course, be another Flex application if necessary. I
    use this only when I need to open a popup window on another site,
    or an HTML formatter report or something similar.
    Concerning yourself with the size of the popup window may be
    a bad design choice also. I, for example, have my browser
    configured to open all popups in a new tab regardless of sizing
    constraints imposed by the designer. If it is absolutely necessary
    for you to have control over the size of your popup window, you
    should follow the advice given by others and use a Flex
    popup.

  • Problem in servlet engine (WLS 7.0) with the chunked transfer

    Hi,
              While using jakarta-slide on weblogic 7.0, I encountered the following
              problem while uploading files using WebDAV servlet deployed on WLS:
              "**** This file has a corrupted %%EOF marker, or garbage after the
              %%EOF."
              Is this is a problem with the way that WLS servlet engine is handling
              chunked transfers ?
              According to the change request 084847, "For chunked
              transfer, WebLogic Server was including a hexadecimal number which
              other
              servlet engines used to ignore. This has been fixed WLS 6.1 sp 4."
              Is this fixed in WLS 7.0 ? I could not find this in the resolved bugs
              list for WLS 7 SP1. If this has not been fixed in 7.0, any idea when
              this fix would make it to WLS 7.0 ?
              Any pointers would be of great help.
              Thanks,
              Jeeji.
              

    Hi,
              While using jakarta-slide on weblogic 7.0, I encountered the following
              problem while uploading files using WebDAV servlet deployed on WLS:
              "**** This file has a corrupted %%EOF marker, or garbage after the
              %%EOF."
              Is this is a problem with the way that WLS servlet engine is handling
              chunked transfers ?
              According to the change request 084847, "For chunked
              transfer, WebLogic Server was including a hexadecimal number which
              other
              servlet engines used to ignore. This has been fixed WLS 6.1 sp 4."
              Is this fixed in WLS 7.0 ? I could not find this in the resolved bugs
              list for WLS 7 SP1. If this has not been fixed in 7.0, any idea when
              this fix would make it to WLS 7.0 ?
              Any pointers would be of great help.
              Thanks,
              Jeeji.
              

  • Wait() and notifyall() problem in servlet.

    Can anyone help me with this.....
    I am creating an application which has one gateway inside which
    handles for logger, dbmodule etc are made and passed to biz logic.
    This biz logic using logger obj made in gateway, does the logging.
    Now i hv to do serial implementation of logging i.e I have
    a static member which is of type Vector, which will hold
    a list of messages and associated parameters. The write() method will
    create a formatted message with all values inserted, all prefixes and
    suffixes added, etc. Then it will append the message to the Vector of
    messages. And there will be a separate thread, which will be started
    the
    first time the first Logger instance is created. This thread will keep
    picking up messages from this Vector in FIFO order and writing them
    out.Mind you, I don't mean i need to use a single shared Logger
    instance.
    Separate Logger instances must be used to hold separate values for
    sessionID, username, etc. Only the internal logging I/O stream handle
    should be shared.
    For this what i hv created logger class as follows:
    logger {
    SyslogAppender SA;
    logger() {
    new SA;
    ThreadGroup TG = new ThreadGroup("string");
    Logging target = new Logging();
    Thread DT = new Thread(TG, target, "daemon");
    DT.setDaemon(true);
    DT.start();
    class write {
    write() {
    //initialisation;
    void writetovector() {
    addtovector
    notifyall;
    class logging implements runnable {
    public void run() {
    while(vector is not empty){
    log
    synchronised(this){
    wait();
    Now in the servlet, in init(), logger is called with this constructor
    and therefore there is only one instance of syslog appender to log in
    syslog.
    In service i just call the function writetovector through a method in
    logger.
    However when i run the implemented version of this, logging does not
    take place.
    I feel my implementation of wait and notifyall is not correct. Or is
    there any other problem?
    thanx in advance

    There are many problems with your code. It looks like you retyped it, and it now contains many syntax errors. Two problems I can see, though, are that you do not call notifyAll from synchronized code, and your call to wait is not in a loop.

  • Problems with servlet mapping in 10g AS

    Hi There,
    i have a web application consisting of 2 controller servlets and use url mapping to send requests to the appropriate servlet, but i have a strange issue with 10g where it seems to be alternating between serlvets when handling requests!!!!
    the web.xml is like as follows (with the app having the root context '/app'):
    <servlet>
    <servlet-name>control1</servlet-name>
    <servlet-class>com.package1.class.name</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>control2</servlet-name>
    <servlet-class>com.package2.class.name</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>control2</servlet-name>
    <url-pattern>/special/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>control1</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>
    therefore i'd expect a request like http://domain.name/app/special/content to be handled by the control2 servlet and http://domain.name/app/normal/content or http://domain.name/app/normal/special/content to be handled by the control1 servlet...
    but what seems to happen when requesting http://domain.name/app/special/content oc4j seems to alternate which servlet it passes it to...
    is there any reason why this might be happening (like some app server configuration), as i have other applications that are configured in the same way, and there's no problems with requests going to the wrong servlet.
    many thanks for your help,
    Andy

    In your integration process, define the import parameter under Configurable Parameters category.
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/1f1a5c932d0d19e10000000a114a6b/frameset.htm
    Regards,
    Prateek

  • Caching problem of servlet

    Hi guys
    We are facing this problem of caching within our project. The project aims to generate a html code to pick up some rich media ads details at random and displaying on the html file where the generated code is expected to be pasted. We developed two servlets, one which extracts the ads from the database randomly and then depanding on the ad type it calls the other servlet as src of an iframe, which in turn puts all code for displaying the rich media ads. The script which we are generating for the user to paste onto their pages is:
    <script LANGUAGE="JAVASCRIPT" src="http://192.168.1.6:8080/advert_java/servlet/GetAdServlet?region=1&zone=1&type=nossi&cachevar=yes">
    </script>First servlet (GetAdServlet) returns the javascript statements and thus is called using this generated code. Now cotents of the iframe are supplied by the second servlet ie richMediaServlet. This servlet is called like
    iframeURL = fullHttpDir+"/servlet/RichMediaServlet?";
    iframeURL += "bannerCode="+ RNBanner (BannerCode to be called);
    out.println("document.write(\"<iframe  src='"  + iframeURL +  "' height=" + hheight +" width="+ wwidth + " SCROLLING=no FRAMEBORDER=0 MARGINWIDTH=2 MARGINHEIGHT=2 onfocus='window.focus(); return iframeFocus()'>\");");
    out.println("document.write(\"</iframe>\");");This richmediaServlet returns HTML into <iframe>. when richmediaservlet is called, a parameter 'bannerCode' is passed. then richmediaServlet fatches the banner from the database and displays the banner into the <iframe>.
    Now the problem comes when we run the html file containing the script tag mentioned above, and refresh our page, ideally it should pick the ads randomly and pass it on to RichMediaServlet.
    I also try debugging both servlets. I called the getadservlet from javascript mentioned above and put debugging info in both the servlets, now for every refresh we do on the html side, we are getting a different random bannercode in adservlet but in richmedia when we print the bannercode received in querystring it is taking an older value which was displayed some time back and keeps on doing this for quiet a long time, making it look like some caching problem of RichMediaServlet.
    Instead when we tried to put the same html <script> code into another servlet's doGet, everything seems to be working fine.
    i have also used the following code to prevent the caching on both the setvlets
    long currentTime = System.currentTimeMillis();
    response.setHeader("Cache-Control", "no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Last-modified", currentTime);
    response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");     and following in the iframe's head tag before the iframe tag in the getAdServlet.
    out.println("document.write('<head>');");
    out.println("document.write('<meta http-equiv=\"Cache-Control\" content=\"no-cache,must-revalidate\">');");
    out.println("document.write('<meta http-equiv=\"Pragma\" content=\"no-cache\">');");
    out.println("document.write('<meta http-equiv=\"Last-modified\" content=\""+ currentTime + "\">');");
    out.println("document.write('<meta http-equiv=\"expires\" content=\"Sat, 6 May 1995 12:00:00 GMT\">');");
    out.println("document.write('</head>');");I request you all geeks to try and help me to your best. The project is at its final stages and in high urgency now.

    i think the caching is being in the browser, with the iframe.
    You should try passing a random param to the servlet in the iframe URL, something like:
    var a = Math.random() * 10000000; //for example
    out.println("document.write(\"<iframe  src='"  + iframeURL +"&rand="+a+"' height=" + hheight +" width="+ wwidth + " SCROLLING=no FRAMEBORDER=0 MARGINWIDTH=2 MARGINHEIGHT=2 onfocus='window.focus(); return iframeFocus()'>\");");
    out.println("document.write(\"</iframe>\");");
    ...It should force the browser to ask for the servlet again
    hope this helps...

  • Problem with Servlet that generates HTML

    Hello,
    I have a servlet that connects to a database to get some information which it displays in a HTML file generated by the same servlet.
    For each line that I want to display from the Database I create the following in my servlet:
    <input type="hidden" value="Ajax-Chelsea" name="bet_1_choice"/>
    However, when I test it in Tomcat it doesn't work, and I realised in Firefox that it gets the above line as follows with the bold part added:
    <input type="hidden" )="" value="Ajax-Chelsea" name="bet_1_choice"/>
    I also use a javascript to add the DB information in another area of the HTML page, another table, but I don't know if this is relevant.
    I don't understand what is wrong. Can someone help me please?

    Thanks for your responses.
    Actually the problem was my javascript. Now it is sorted out.

Maybe you are looking for

  • Can I install a graphics card on Satellite M70?

    I have got a Toshiba Satellite M70-394 (psm70e). I have seen that I have a pcie slot in my system through a hardware identifier program. Is it possible that I can install a graphics card through the back if I unscrew the back or get a professional to

  • I cannot open itunes!!!!

    i cant open i tunes and it's driving me crazy! ive tried all of your suggesstions to other people and nothing worked. is there an email address that i can send the error report to? HELP!!!!!!

  • Network timeout only for library upgrade items

    I purchased an upgrade of my library, which totals 430 songs. The purchase went through fine, but when I would try to "check for downloads" so I could download the items, I kept getting "network timeout" errors. I ran the diagnostics, and after sendi

  • Labview class data read node problems

    I've been noticing some odd things when i use read\write nodes on labview class objects.  It seems like at some point the link between the read node and what it's supposed to be doing gets broken - so that it reads out the 'default' value of the data

  • Oracle Buisness Intelligence Sign in Error

    Hi i am having an error signing into Buisness intelligence analytics section I goto the http://localhost:9704/analytics/saw.dll?bieehome It asks me for the user name and password?? what username and password should i enter here?? i tried weblogic but