Caching problem of javascript with servlet

Hi guys
There is a problem of caching with the our project. This project contains two servlets first is getAdServlet and second is richMediaServlet. getadservlet is called thru <script src=""> following is the code:
<script LANGUAGE="JAVASCRIPT" src="http://192.168.1.6:8080/advert_java/servlet/GetAdServlet?region=1&zone=1&type=nossi&cachevar=yes">
</script>
getadservlet returns the javascript statments. These javascript statments are able to create an <iframe>. 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;
iframeURL += "&cachebust="+ cachebust + refresh+"&getAd=y";
iframeURL += "&hheight="+hheight+"&wwidth="+wwidth;
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 is when i run the html file containing the script tag mentioned above, and supply different bannerCodes from getAdServlet to richMediaServlet then first banner is cached and displayed every time.
i have also used the following code to prevent the caching of 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>');");
this problem does not arises when i call the getAdServlet from a testServlet and run the testServlet thru get request.
pl tell me what's wrong i m doing.

First, post your code in tags if you want people to read your code...

Similar Messages

  • Caching problem for iViews with URL parameters

    Hi,
    We have a big problem with <b>iView caching.</b>
    Our objective is to use <b>SAP Netweaver Portal 2004s & External Facing portal </b> for a public Internet Portal
    For performances reasons we need to activate iviews caching on the principal iviews. But the problem is that a page called with different parameters generates exactly the same html result
    <u>example --> The display of a news item:</u>
    /irj/portal/anonymous/index.htm?rid=/news_123.xml
    gives the same cached result as
    /irj/portal/anonymous/index.htm?rid=/news_456.xml
    The caching level is "shared" because all users are anonymous !
    The iview caching seems to be occuring on component (iView) level and not on URL level
    Can someone help ?
    At the moment we have performances of 10 seconds for a page, and with caching it's becoming less than 1 second, so we really need the caching !!!
    Thanks
    Laurent

    Hello
    I hope you get your answer since, nevertheless it could help other.
    Have you tried to put the cache level to "session" instead of "user" or "shared" at the iview level?
    Regards
    Benoit

  • Problem Compiling Projects with Servlet & Custom Taglibs

    There was a bug in Jdeveloper 3 that if you compiled JSP's that used Custom Tags Jdeveloper validated your web.xml file - very annoying (if anyone knows a workaround plese let me know). There is a workaround in JDeveloper 9 detailed in the release notes http://otn.oracle.com/products/jdev/htdocs/readme_902.html. Has this been fixed in 10g. Incidently I loaded the Oracle Developer Suite 10g documentaion cd dated April 04 and JDevloper was described as 9i - is this the latest version ?

    Perhaps
    javac -classpath .;..;c:\jdk1.3.1_07\lib\servlet.jar pdm\FileName.java

  • Firefox cache problem

    Hi,
    There is an old nasty problem that I finally want to solve:
    With Firefox my Apex applications get a cache problem once in a while: The user clicks on a button or tab or a text field etc. and suddenly gets a page with the design mingled up and the functionality broken. With ctrl + F5 (refresh) everything is fine again, but it's rather ennoying for the users. The problem is, some users get that often, others not at all, sometimes it's more, sometimes it's less. For all (internal) users I set in prefs.js the cache to user_pref("browser.cache.check_doc_frequency", 1); for maximum refresh behaviour. So the configs should be the same for all.
    With other websites it doesn't seem to happen. Is this an Apex specific problem? Are others experiencing the same? Any hint or solution? I would be glad for some input.
    Thank you,
    Roger

    Never get that problem Roger.
    The cache problem I have with firefox is trying to get it to load the latest versions of javascript libraries after they have been changed.
    Andy.

  • 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 Servlets

    Hi,
    I am Tejas , a newbie with servlets. Now, I have a servlet which contains a Javascript method. On clicking a link , the Javascript method is called.
    But however, I find that there is some trouble. I created a class called MainFrames.java, the object of which I am instantiating in the Javascript method.
    But this code doesnt work properly. I have given the snippet below
    out.println("<script type='text/javascript'>");
    out.println("function threader()");
    out.println("{");
    out.println("alert('Inside Threader');");
    out.println("<%@ page import=\"XcForm.MainFrames\"%>"); //I have a hunch that this statement is the problem
    out.println("<%");
    out.println("MainFrames mainframes = new MainFrames();"); //without the import statement above, the MainFrames.java class is not being recognised
    out.println("%>");
    out.println("}");
    out.println("</script>");
    Thanks in advance,
    Tejas

    Do not put presentation code in servlets. Put them in JSPs. And mixing serverside code (scriptlets) and clientside code (javascript) this way is indeed not going to work. That code will certainly not be executed in the order as you write. Serverside code is executed at the server and is finished when the response is completed. So any serverside code inside clientside code is alreay executed. Clientside code is executed at the client and will only execute when the response is completed (onload, etc) or when the client invokes it (onclick, onsubmit, etc). Further on, do not put business code in presentation code. Put them in servlets.

  • Caching problem with Internet Explorer

    Hi,
    users of an ApEx application I'm working on are reporting that when they're deleting an uploaded file from one of the pages in the application (using Internet Explorer), the link to the file remains. This is however not an issue in FireFox, and after some research I found out that this is a caching problem in IE. It can be avoided by making IE check for newer versions of stored pages every time a page is visited, but it is clearly not an option to ask all our users to do this. I also learned that it can be fixed by randomizing the file URL every time the page is loaded, but I don't know how to randomize a URL, nor how to make it still point to the uploaded file.. Any help would be appreciated!
    Thanks,
    -Kjetil

    Kjetil,
    This problem is also there if you use Flash Charts with a drilldown. See this posting:
    http://www.deneskubicek.blogspot.com/
    It will also link you to a corresponding thread and to an example in my demo application.
    The idea with a random number changing you link is the same I used in extending my
    xml chart package.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://htmldb.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • ASO cache problem with Windows 7

    I have a large base of AS2 classes that support my application.  I've been working on it for a few years and I'm very familiar with the ASO cache problem that causes edits to not be compiled.  Well, I hit it today and I can't get rid of the old files.  I'm running CS5.5 and I used the menu first.  Then I manually deleted the ASO files.  Then I rebooted the computer and searched the entire C: drive for ASO files and deleted all of them.  Nothing worked.  I finally renamed one of my class files (and the the necessary edits that flowed therefrom) and that one file was recompiled. Obviously there is a hidden cached file somewhere.  I have Win7 Pro 64-bit.  Has anyone had a similar problem?  The last thing I want to have to do is rename all of my class files or tear down and rebuild my development box.  TIA

    3.1 is not "fine" and the drivers leave much to be desired.
    You will probably need to do a Safe Mode and uninstall, rollback, system restore. Use your DVD for Windows 7.
    Not sure of the support issues and details on MacBook Pro 13" as to whether you have graphic driver issue, AppleHFS, or other (and to say 'total hangup' doesn't really lead to what and why).

  • How to insert javascript with in a servlet

    Please send the code to insert javascript with in a servlet

    hi,
    You have write u r java script code in Servlet with teh following steps
    1.Use out.println("<html> .....</html>")
    in between the above html code u write ur <script language="javascript"> etc
    write your javascript code in the above <sript tah function.
    Hope this helps
    -Srini

  • Some problems with servlet.jar and tomcat 4.1.27

    Hello everybody,
    I used to work with tomcat 3.3.1 and i've decided to use tomcat 4.1.27 now. The manual explains that we have to change de version of servlet.jar, it's done with servlet-2.3.jar but on tomcat starting i have this message:
    jar not loaded. See servlet spec [...]. Offending class: javax/servlet/Servlet.class
    what can i do, i've red all de documentation and i think all versions a OK??
    thanks per advance
    antoine

    I am running Tomcat 4.1.18, so your configuration may be slightly different. I found the Servlet.class file you are missing residing in the Tomcat/common/lib directory in the Servlet.jar file. Check your path and also make sure your Servlet.jar file contains the missing class.

  • Help needed. Problem with servlet.

    Hello ppl. Ok. I've never really needed to implement servlets in my projects before but I experimented by writing a simple helloworld servlet. It compiled successfully and I tested it in the examples servlet dir and it worked. To test it in the ROOT dir, I placed the servlet in the ROOT/WEB-INF/classes folder and edited the web.xml file with:
    <servlet>
              <servlet-name>HelloWorldExample</servlet-name>
              <servlet-class>HelloWorldExample</servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>HelloWorldExample</servlet-name>
              <url-pattern>servlet/*</url-pattern>
         </servlet-mapping>
    When I try and execute the servlet by using this URL: localhost:8080/servlet/helloworld I get an internal server error and the server crashes. I removed the entry from the web.xml file and Tomcat started up again. What went wrong? Can someone enlighten me in how to get my test servlet working becuase i may use them in the future. Thanks.

    Nope, Still didnt work. As soon as I put in:
    <servlet>
         <servlet-name>HelloWorldExample</servlet-name>
         <servlet-class>HelloWorldExample</servlet-class>
         </servlet>
         <servlet-mapping>
         <servlet-name>HelloWorldExample</servlet-name>
         <url-pattern>servlet/HelloWorldExample</url-pattern>
         </servlet-mapping>
    Tomcat went offline!
    I have another entry which is:
    <servlet>
              <servlet-name>org.apache.jsp.index_jsp</servlet-name>
              <servlet-class>org.apache.jsp.index_jsp</servlet-clas
    >
         </servlet>
         <servlet-mapping>
              <servlet-name>org.apache.jsp.index_jsp</servlet-name>
              <url-pattern>/index.jsp</url-pattern>
         </servlet-mapping>
    Do you think they may be conflicting? Thanks.Tomcat going offline is quite weird. However,
    <url-pattern>/index.jsp</url-pattern>
    this is perfectly valid. Lemme ask you this: did u come up with this stuff on your own or was it generated for you by the container? It looks like it was generated upon compilation of the jsp. If that is the case it should cause any conflicts. However now if you want to invoke the servlet/jsp you must use a URL like:
    http://localhost:<PORT_NO>/index.jsp
    Cheers

  • Cache problems with Safari

    I am using a G4 powerbook running OS 10.4.10 and Safari 2.0.4. My home page is My Yahoo which contains a number of links to news articles. After reading a link and hiting the back button to return to My Yahoo, I usually get an day or two old version of My Yahoo which reaquires a resume button hit to get the correct date. I presume this is an old cached version of My Yahoo. How can I get Safari to cache the current page and return to it?

    Hi
    Cache problems can either be driven by a cache file that needs to be emptied or trashed.
    The former is done by going to the Safari Menu>Empty Cache. The latter requires you go to the Finder: HD>Users>Your User Account>Library>Caches. There, move the Safari folder to the trash and restart Safari.
    Try the first suggestion. If no relief, then the second.
    Let me know how you make out.

  • Problem in midlet interact with servlet application

    while i was trying to connect midlet with servlet
    there found a warning like this
    Warning: To avoid potential deadlock, operations that may block, such as
    networking, should be performed in a different thread than the
    commandAction() handler.
    why this because

    The warning exactly states why, what else is there to ask... Besides, this question has been asked many times before. A simple search would have given you an answer in no-time.

  • I am facing a caching problem in the Web-Application that I've developed us

    Dear Friends,
    I am facing a caching problem in the Web-Application that I've developed using Java/JSP/Servlet.
    Problem Description: In this application when a hyperlink is clicked it is supposed to go the Handling Servlet and then servlet will fetch the data (using DAO layer) and will store in the session. After this the servlet will forward the request to the view JSP to present the data. The JSP access the object stored in the session and displays the data.
    However, when the link is clicked second time then the request is not received by our servlet and the cached(prev data) page is shown. If we refresh the page then request come to the servlet and we get correct data. But as you will also agree that we don't want the users to refresh the page again and again to get the updated data.
    We've included these lines in JSPs also but it does no good:
    <%
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control" ,"no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control","no-store");
    %>
    Request you to please give a solution for the same.
    Thanks & Regards,
    Mohan

    However, when the link is clicked second time then the request is not received by our servlet Impossible mate.. can you show your code. You sure there are no javascript errors ?
    Why dont you just remove your object from the session after displaying the data from it and see if your page "automatically" hits the servlet when the link is clicked.
    cheers..
    S

  • Qaaws not refreshing query triggered from Xcelsius, maybe a cache problem

    Hi,
    I'm having a problem with QAAWS and Xcelsius
    I'm using a List Builder component to select multiple values in this case STATES from the efashion universe
    I use the selected states as values to feed a prompt in a QAAWS query, the qwaas query has  the SALES REVENUE as the resultset and in the conditions it has a multi prompt for STATES
    When I preview my dashboard, I select the States, then UPDATE the values and then refresh the query with a CONNECTION REFRESH button, The first time I do this it works fine and returns the Sales revenue.
    If I add a new State to my selection and then run update and run run again the query with the refresh button, it doesn't work any more and it shows again the value retrieved from the first query
    First I thought that the query wasn't triggered by Xcelsius, but by doing some more tests I found that actually the query runs but it returns the value from the first query
    I think this is a cache problem , so is there a way to tell QAAWS to always run the query and not use the cache?
    thanks,
    Alejandro

    Hello Alejandro,
    QaaWS indeed uses a cache mechanism to speed up some Xcelsius interactions (from XI 3.0 onwards), but your issue should not be induced by this, as cache sessions are discriminated according to session user id & prompt values, so if you are correctly passing prompt values, QaaWS should not serve you with the previous values by error.
    Could you specify how you are passing several prompt values to the QaaWS? There might be an issue there, so make sure that:
    1. QaaWS query prompt is set using In List operator, otherwise only first value will actually be taken into account,
    2. In Xcelsius Designer Data Manager, web service input paremeters are duplicated to accept several input values (you cannot submit you list of prompt values as a list to a single input parameter).
    If this still does not work, I'd suggest you debug your dashboard runtime using an HTTP sniffer like Fiddler (available from http://www.fiddler2.com/) which enable you to inspect the sent & recieved HTTP messages with the server, where you should verify which prompt values are sent to the QaaWS servlet.
    FYI, you can set the QaaWS cache lifetime for each query, by going into QaaWS edition first wizard screen, click Advanced... button and change value for timeout parameter (default is 60 seconds)
    Hope that helps,
    David.

Maybe you are looking for

  • Up and down arrow keys are not working properly when using SQL CLI on Linux

    Every time I hit up, down, left, and right arrow keys to return to a previous sql command I got ^[[D, please any hints to fix this issue? The backspace works fine with me. I tried to use stty to fix this issue with no luck. Thanks Mohamed            

  • Printing with HP all-in-one connected to Airport Extreme with USB

    We have an HP Photosmart 2610 all-in-one, an AirPort Extreme base station, and a G-5 MacIntosh running OS 10.4.8. We can print when the all-in-one unit is connected directly to the Mac with USB cable, however, we are unable to print when the USB cabl

  • SD billing with excise duty

    Hi All I am creating SD billing for factory sale (pricing procedure JINFAC), which is involved excise duty as well. VF01 is creating two doc , one for Billing document and one for Excise JV (as we opted Excise invoice during billing). The issue is  i

  • BANK PARNTER TYPE

    Respected Professionals, I am not able to pay the invoices using particular Partner Bank Type I am getting an error like "Please choose a valid Bank Partner Type" I checked in FK03 also and bank partner type is duly assigned So could you please guide

  • Need help with Adobe Reader XI

    I am using Windows 7, IE10, and Adobe reader XI.  I can not currently open and view bank card statements, but can view all other statements on the same sight. It has to be one of my settings because when opened on my Ipad everything works fine. Can a


HashFlare