Javascript in servlet Problem

Hi,
I am trying to execute a small javascript part in the servlet..The problem is I need to call the javascript function from the middle of the body of html generated by servlet..
catch (AlreadyRegisteredException aEx)
{   System.out.println(aEx);
out.println("<script>");
out.println("<!--");
out.println("cancel(true)");
out.println("//-->");
out.println("</script>");     
Where cancel(k) is already declared at the start of HTML...
The browser fails to interpret any javascript script in middle of HTMl ?It worked in JSPs?
Any idea where I might be going wrong or can you call javascript like this atall in servlet from middle of HTML?
Thanks
Ash

I guess it cannot generate client side scripting just on the fly based on some event to occur...
Ash

Similar Messages

  • Javascript in servlets help???

    Hi everyone just have a look at the folloeing code..
    //function next
         out.println("function next(){");
         rs.next();
         out.println("window.document.frm1.qno.value="+rs.getString(1));
              out.println("window.document.frm1.ques.value=\""+rs.getString(2)+"\"");
         out.println("}");
    out.println("<input type=\"button\" value=\"Next\" onclick=next()>");whenever I press next button I am only able to get second row
    How can I move my resultset to next row each time I press "next" button

    java.venkat wrote:
    I am very sorry I didnt get back to this thread because I didnt add this to my watchlist
    I started my project in servlets , Now I can't convert to JSPs.
    Including javascript in servlets is becoming very headache for me...Why can't you convert to JSPs? Trust me, you don't want to be doing this in servlets, it's madness. Begin with JSPs immediately, you'll save more time and effort and frustration than you can imagine.
    >
    I got a new problem
    out.println("<form name=frm1 action=Cone>");
    out.println("<input type=\"submit\" value=\"Submit\" onClick=\"validate()\" >");
    out.println("function validate()");
    out.println("{");
    out.println("if(document.main.name.value==\"\"||document.main.address.value==\"\")");
    out.println("alert(\"Please Enter Your Username and Password\"\n)");
    out.println("}");Now whenever Submit button is clicked "validate()" is exceuted and an alert box is shown. and servlet is also executing
    How can I stop servlet to execute when validate is executed..This is a JavaScript problem, not the right place for it.
    You need to return true/ false from your JavaScript function depending on if you want to allow the action or stop it.
    And where the function is called make a change:
    <input type="submit" value="Submit" onClick="return validate();" >The return keyword will pass the value returned by validate() to the onClick() event handler and stop the propogation of the submit event if the value is false. If it's true,it'll continue.
    And please, once again, for God's sake, do yourself a favour and switch to JSPs!
    People on the forum help others voluntarily, it's not their job.
    Help them help you.
    Learn how to ask questions first: http://faq.javaranch.com/java/HowToAskQuestionsOnJavaRanch
    (Yes I know it's on JavaRanch but I think it applies everywhere)
    ----------------------------------------------------------------

  • Passing variable from javascript to servlet!!!

    Hi all,
    I have one doubt,
    can we pass a variable from javascript to servlet???
    In Brief,
    i am getting some values in javascript through jsp and the same values i
    want to use in servlet.
    Yes, i know i can get these values in servlet by using request.getParameter("");
    But these values are dynamically generated so i dont know how many varaible are they!. so i am trying to put some array list so that i can forward this values to servlet.
    But i can't get this array which is declared in javascript!! :( so any buddy can help me how to get this dynamically generated values in servlet!!!
    Thanks in Advance!! :)

    can you post a sample of your code?
    remember to put it between tags                                                                                                                                                                                       

  • Need a JavaScript for a problem using Dreamweaver

    Hi I need help with making a javaScript for this problem I have. Can you please respond to my email also with the help I need.....[email protected]
    This is what I am trying to do.  I usually do it in PHP with no problem, but have to do it in javascript.  I need to make a page called index.shtml.  That pages needs to have three different sections but only display one section at a time based off of the url.  So for example index.shtml?loc=132 will display sample 1 and index.shtml?loc=133 will display sample 2.  While index.shtml?loc=134 will display sample 3.  So pretty much the content is all on one page but only displays based off of what the url is.
    I was told to post this problem in the Dreamweaver forum.
    Thanks for the help!!

    There are different ways to achieve this. So that we give can give you with tailoured solution, please give us a link to your site.
    Gramps

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

  • Servlet Problem with Back Button on IE

    Hello All:
    This is a weird problem I am facing on IE.
    I have a servlet which is invoked by the doGet() method. This servlet
    has a FORM which has few fields. One of the field has a hyperlink which
    makes a window.open() call for Onclick. This pop-up allows a user to
    search for some value. The result of the search is displayed in a
    SELECT box. Based on the value selected in this SELECT box, the field
    in the servlet that called this pop-up gets populated. After this is
    done, I close this pop-up & click on the proceed button of the FORM
    (using POST) which takes us to another servlet. Then when I click on
    the back button, the fields on the form which were populated are gone.
    I have made the following analysis:
    (i) On clicking the back button, a request is sent to the server.
    (ii) It works on FireFox & not on IE
    (iii) If I do not use the hyperlink to bring the pop-up, and then I
    click on proceed and then back, the fields do not vanish.
    (iv) I tried using http://www.google.com to the call on window.open().
    Does not help
    (v) The very action of using pop-up by clicking on it causes this
    problem
    (vi) I tried replacing the hyperlink with a button. It did not work.
    Any help or tips in this regard would be helpful.
    Thanks in advance.
    Mahesh

    I dont know how you can post on the back button, and am a bit confused as to why you need to go back, you would normally want to go forwards :).
    What I would do is have the same servlet handle both cases.
    I would make 1 servlet SUBMIT TO ITSELF.
    You may have to pass an additional parameter to indicate whether this is the initial / first request, or a subsequent request where the servlet has re-submitted back to itself.
    If you want to disable the back button you can use javaScript
    <script language="JavaScript" type="text/JavaScript">
    <!--
    javascript:window.history.forward(-1);
    -->
    </script>
    I used this when I found that users could use the back button and re-submit when I didnt want them to, kind of the opposite of your problem!

  • Passing Parameter from javascript to Servlet

    hi,
    I have 2 list boxes in my Jsp page and values for these list boxes are preloaded . These things are to be carried out using javascript onload() function.
    So now i want to pass the selected parameters from both the list boxes to servlet and have to display the corresponding resulting datas in same JSP page. if i submit the form then values selelcted by the user will reset because the form has onload() function. then i thought hidden field will solve my problem. but its giving error like nullpointer exception.
    so please tell me how to achive this.

    When you right a new Option(...) line in javascript, there are three parameters you can give:
    Option("text", "value", selected);
    How you make use of this depends on how you move from the servlet back to the JSP.
    So for example, if you are doing a response.sendRedirect in the servlet, you will either have to add a parameter back to the url you are re-directing to, or add the value to the session. (I like the session method myself... hides it from the user)
    //in servlet
      public void doGet(...)... {
        String country = request.getParameter("country");
        String state = request.getParameter("state");
        //... Do Stuff ...
        HttpSession session session = request.getSession();
        session.setAttribute("country", country);
        session.setAttribute("state", state);
        String sendTo = response.encodeRedirectURL("theForm.jsp");
        response.sendRedirect(sendTo);
      //... The JSP might look like this now...
      //Get the selected values from the session:
      <%
        String countrySelected = (String)session.getAttribute("country");
        String stateSelected = (String)session.getAttribute("state");
      %>
      <html>
      <head>
      <script type="text/javascript">
      /* Use this to store the values for states in JavaScript */
      var state2DArray;
      /* Javascript function to set up values for the states  and countries */
      function initSelects() {
        <%
          /* This is JSP scriptlet code to get the country list that we need... */
          List countries = (List)application.getAttribute("countryList");
        %>
        countrySelect = document.form.country;
        <%
          /* This is JSP scriptlet code to loop through the countries and assign
           * values as needed.  We will break out of scriptlets to print out
           * the javascript needed to assign values to the countrySelect and to
           * the state2DArray
          int countryCount = countries.size();
        %>
        state2DArray=new Array(<%=countryCount+1%>);
          state2DArray[0] = new Array(1);
          state2DArray[0][0]="--Select A State--";
        <%
          for (int co = 1; co <= countryCount; co++) {
            Country country = (Country)countries.get(co-1);
            List stateList = country.getStates();
            int stateCount = stateList.size();
        %>
        //Now we add a true/false if the country should be selected...
        countrySelect.options[<%=co%>] = new Option("<%=country.getName()%>","<%=country.getId()%>",
                                                    <%= (country.getId() == countrySelected)%>);
        state2DArray[<%=co%>] = new Array(<%=stateCount+1%>);
        state2DArray[<%=co%>][0] = "--Select A State--";
        <%
            for (int st = 1; st <= stateCount; st++) {
              String stateName = (String)stateList.get(st-1);
        %>
        state2DArray[<%=co%>][<%=st%>] = "<%=stateName%>";
        //We are going to call the fillInStates now at the end of initSelects so the initial
        //values are passed on to the states...
        fillInStates(countrySelect);
        <%
        %>
      function fillInStates(countrySelect) {
        selectedCountry = countrySelect.selectedIndex;
        stateCount = state2DArray[selectedCountry].length;
        stateSelect = document.form.state;
        stateSelect.options.length = 0;
        for (state = 0; state < stateCount; state++) {
          //Again add true/false if it should be selected...
          stateSelect.options[state] = new Option(state2DArray[selectedCountry][state], state2DArray[selectedCountry][state],
                                                  <%= (stateSelected == state2DArray[selectedCountry][state]) %>);
    </script>
      </head>
      <body onload="initSelects()">
      <form name="form" id="form" action="#" method="get">
        <select name="country" id="country" onchange="fillInStates(this);">
          <option value="">--Select A Country--</option>
        </select>
        <select name="state" id="state">
          <option value="">--Select a State--</option>
        </select>
      </form>
      </body>
    </html>

  • Mildet connect to oracle DB using servlet problem ,help please

    hi guys i have a problem am tring to connect my midlet to databse through midlet but i don`t know what is the problem so far the midlet already connect to my servlet url but the servlet cant read the parameters to open the connection for database
    my servlet code
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    import java.io.*;
    import java.net.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.text.*;
    * @author freddy
    public class getconnection extends HttpServlet {
        Statement statement;
    ResultSet rs=null;
    String bstr=null;
    String bstr1=null;
    String bstr2=null;
    public void init()
        * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
        * @param request servlet request
        * @param response servlet response
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                /* TODO output your page here
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet getConnection</title>"); 
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet getConnection at " + request.getContextPath () + "</h1>");
                out.println("</body>");
                out.println("</html>");
            } finally {
                out.close();
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        * Handles the HTTP <code>GET</code> method.
        * @param request servlet request
        * @param response servlet response
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
      doPost(request,response);
        * Handles the HTTP <code>POST</code> method.
        * @param request servlet request
        * @param response servlet response
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
            DataInputStream in = new DataInputStream(
                    (InputStream)request.getInputStream());
            String sid = in.readUTF();
            String user = in.readUTF();
            String pwd = in.readUTF();
          //  "jdbc:oracle:thin:@localhost:1521"+": "+sid
            String message = message = "Name:"+bstr+" telephone:"+bstr1+" burthday:"+bstr2;
             try {
                connect(sid,user, pwd);
                message += "100 ok connected";
            } catch (Throwable t) {
                message += "200 " + t.toString();
            response.setContentType("text/plain");
            response.setContentLength(message.length());
            PrintWriter out = response.getWriter();
            out.println(message);
            in.close();
            out.close();
            out.flush();
        private void connect(String sid, String user,String pwd)
        throws Exception {
            // Establish a JDBC connection to the MYSQL database server.
            //Class.forName("org.gjt.mm.mysql.Driver");
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:"+sid,user,pwd);
            System.out.print("connected");
            try{
               statement =conn.createStatement();
                rs=statement.executeQuery(" Select*from WOH.P_DEMGRAPHICS where P_ID='P1000 '");
            catch(SQLException e)
            System.err.print(e);
           try{
    while (rs.next()) {
    bstr=rs.getString(2);
    bstr1=rs.getString(3);
    bstr2=rs.getString(4);
    statement.close();
       catch (SQLException e) {
    //bstr += e.toString();
    System.err.println(e);
    System.exit(1);
            // Establish a JDBC connection to the Oracle database server.
            //DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
            //Connection conn = DriverManager.getConnection(
            //      "jdbc:oracle:thin:@localhost:1521:"+db,user,pwd);
            // Establish a JDBC connection to the SQL database server.
            //Class.forName("net.sourceforge.jtds.jdbc.Driver");
            //Connection conn = DriverManager.getConnection(
            //      "jdbc:jtds:sqlserver://localhost:1433/"+db,user,pwd);
        * Returns a short description of the servlet.
        public String getServletInfo() {
            return "Short description";
        // </editor-fold>
    }Midlet code
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    import java.io.*;
    import java.util.*;
    import javax.microedition.io.*;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    * @author freddy
    public class testOrcl extends MIDlet  implements CommandListener {
       protected String url;
        private String username;
        private Display display;
        private Command exit = new Command("EXIT", Command.EXIT, 1);;
        private Command connect = new Command("Connect", Command.SCREEN, 1);
        private TextField tb;
        private Form menu;
        private TextField tb1;
        private TextField tb2;
        DB db;
        public testOrcl() throws Exception
            display=Display.getDisplay(this);
            url="http://localhost:8084/getConnection/getconnection";
        public void startApp() {
            displayMenu();
        public void displayMenu()
        menu= new Form("connect");
         tb = new TextField("Please input database: ","",30,
                    TextField.ANY );
            tb1 = new TextField("Please input username: ","",30,
                    TextField.ANY);
            tb2 = new TextField("Please input password: ","",30,
                    TextField.PASSWORD);
            menu.append(tb);
            menu.append(tb1);
            menu.append(tb2);
            menu.addCommand(exit);
            menu.addCommand(connect);
            menu.setCommandListener(this);
            display.setCurrent(menu);
        public void pauseApp() {
        public void destroyApp(boolean unconditional) { }
        public void commandAction(Command command, Displayable screen) {
            if (command == exit) {
                destroyApp(false);
                notifyDestroyed();
            } else if (command == connect) {
                db  = new DB(this);
                db.start();
                db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    import java.io.*;
    import java.util.*;
    import javax.microedition.io.*;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import java.lang.*;
    * @author freddy
    public class DB implements Runnable  {
        testOrcl midlet;
         private Display display;
            String sid;
            String user;
            String pwd;
            public DB( testOrcl midlet)
            this.midlet=midlet;
            display=Display.getDisplay(midlet);
        public void start()
        Thread t = new Thread(this);
                t.start();
        public void run()
         StringBuffer sb = new StringBuffer();
                try {
                    HttpConnection c = (HttpConnection) Connector.open(midlet.url);
                   c.setRequestProperty(
                       "User-Agent","Profile/MIDP-2.1, Configuration/CLDC-1.1");
                    c.setRequestProperty("Content-Language","en-US");
                    c.setRequestMethod(HttpConnection.POST);
                    DataOutputStream os =
                            (DataOutputStream)c.openDataOutputStream();
                    os.writeUTF(sid.trim());
                    os.writeUTF(user.trim());
                    os.writeUTF(pwd.trim());
                    os.flush();
                    os.close();
                    // Get the response from the servlet page.
                    DataInputStream is =(DataInputStream)c.openDataInputStream();
                    //is = c.openInputStream();
                    int ch;
                    sb = new StringBuffer();
                    while ((ch = is.read()) != -1) {
                        sb.append((char)ch);
               showAlert(sb.toString());
                    is.close();
                    c.close();
                } catch (Exception e) {
                    showAlert(e.getMessage());
         /* This method takes input from user like db,user and pwd and pass
                to servlet */
            public void connectDb(String sid,String user,String pwd) {
                this.sid = sid;
                this.user = user;
                this.pwd = pwd;
            /* Display Error On screen*/
            private void showAlert(String err) {
                Alert a = new Alert("");
                a.setString(err);
                a.setTimeout(Alert.FOREVER);
                display.setCurrent(a);
       

    Comment out process request or rewrite & move it to a position after you read the parameters and connect to the db. Decide where you want to write to the output stream. Also, you have some superfluous casting.
    I take it that you are using netbeans? If you debug and step through the code you will get an idea of the flow. The steps should be, midlet connects with POST, doPost is called, server reads parameters, server opens connection, executes query, releases/closes connection, and writes a response to the midlet.
    Some notes about the connect method; The scope of rs may cause problems. It is unlike you will have a valid result set if you have a problem with create statement or execute. Take a look at connection pooling and be mindful how the connections are opened, used, and closed; put all the important cleanup operations in a finally. Remove system.exit from your servlet. Actually I would suggest limiting the scope of all your vars;
    If you store the username, password, and sid on the midlet, you may have trouble updating the installation base if you need to change the values for any reason. Also, you have clients which contain your database u/p, susceptible to snooping and decompilation. Use the servlet to abstract the db from the client. And use a datasource (with connection pooling) for obtaining connections to db.

  • Servlet problem: (Shay Shmeltzer / Steve Muench / Frank Nimphius)

    Dear sirs... (Shay Shmeltzer / Steve Muench / Frank Nimphius)
    I hope you can give me an answer.
    I created an ADF UIX application using JDeveloper 10.1.2. I have created a servlet to download files. my problem is that it works just fine using jdeveloper, while when deployed into oracle application server it causes errors.i am calling this servlet by storing filename and data in the session, then sending redirect request to the browser.
    the servlet code is:
    package view;
    import java.io.OutputStream;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.PrintWriter;
    import java.io.IOException;
    public class FileDownload extends HttpServlet
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    try
    String DownloadFileName=(String) request.getSession().getAttribute("downloadfilename");
    byte data[]=(byte []) request.getSession().getAttribute("downloadfiledata");
    if (DownloadFileName==null)
    return;
    request.getSession().removeAttribute("downloadfilename");
    request.getSession().removeAttribute("downloadfiledata");
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    catch (Exception e)
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    try
    String DownloadFileName=(String) request.getSession().getAttribute("downloadfilename");
    byte data[]=(byte []) request.getSession().getAttribute("downloadfiledata");
    if (DownloadFileName==null)
    return;
    request.getSession().removeAttribute("downloadfilename");
    request.getSession().removeAttribute("downloadfiledata");
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    catch (Exception e)
    and the error is :
    java.lang.IllegalStateException: Response has already been committed
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindHttpServletResponse.resetBuffer(EvermindHttpServletResponse.java:1902)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:213)
    this error is stored in the log file. if i am running this code from JDeveloper I can download the files using either FireFox or Internet Explorer without any error.
    but if i am running this code using Oracle Application Server 10g Realse 2, i can not download the files using either FireFox or IE.
    so i created another solution, instead of redirecting from a datapage into the servlet, i put the following code in a data page as follows:
    public void onDownload(DataActionContext ctx)
    String DownloadFileName=getfilename();
    byte data[]=getdata();
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    OS.flash();
    this time the application works fine when deployed into Oracle Application Server if you use FireFox, but if you use IE, it causes problem, i can not save the file or view it.
    what is the problem?
    how can i fix this?
    i am certin that the second method is not correct and it should not be used.
    thanks for everyone in advance
    best regards

    Dear Sir...
    Thanks alot for your replay
    regarding the reset method. Itried it and it does not give any good.
    I discovered the following problem:
    If you are redirecting from with struts dataaction page to the servlet, you get the error
    Otherwise if you called the servlet from directly or redirected to a servlet from within a servlet, you get no problem.
    can any one help me please??
    Is it possible that the problem is in IE itself? The file is downloaded perfectly fine with firefox(but the error log still appear)?
    best regards

  • Need urgent help on file download servlet problem in Internet Explore

    I have trouble to make my download servlet work in Internet Explore. I have gone through all the previous postings and done some research on the internet, but still can't figure out the solution. <br>
    I have a jsp page called "download.jsp" which contains a URL to download a file from the server, and I wrote a servlet (called DownloadServlet) to look up the corresponding file from the database based on the URL and write the file to the HTTP output to send it back to the browser. <br>
    the URL in download.jsp is coded like <a href="/download/<%= currentDoc.doc_id %>/<%= currentDoc.name %>">on the browser, it will be sth like , the number 87 is my internal unique number for a file, and "myfile.doc" is the real document name. <br>
    in my web.xml, "/download/" is mapped to DownloadServlet <br>
    the downloadServlet.java looks like
    tem_name = ... //read DB for file name
    // set content type
    if ( tmp_name.endsWith(".doc")) {
    response.setContentType("application/msword");
    else if ( tmp_name.endsWith(".pdf")){
    response.setContentType("application/pdf");
    else if ( tmp_name.endsWith(".ppt")){
    response.setContentType("application/vnd.ms-powerpoint");
    else if ( tmp_name.endsWith(".xls")){
    response.setContentType("application/vnd.ms-excel");
    else {
    response.setContentType("application/download");
    // set HTTP header
    response.setHeader("Content-Disposition",
    "attachment; filename=\""+tmp_name+"\"");
    OutputStream os = response.getOutputStream();
    //read local file and write back to browser
    int i;
    while ((i = is.read()) != -1) {
    os.write (i);
    os.flush();
    Everything works fine in Netscape 7.0, when I click on the link, Netscape prompts me to choose "open using Word" or "save this file to disk". That's exactly the behavior I want. <br>
    However in IE 5.50, the behavior is VERY STRANGE.
    First, when I click on the URL, the popup window asks me to "open the file from its current location" or "save the file to disk". It also says "You have chosen to download a file from this location, ...(some url).. from localhost"
    (1) If I choose "save the file to disk", it will save the rendered "download.jsp" (ie, the currect page with URL I just clicked, which isn't what I want).
    (2)But if I choose "open the file from its current location", the 2nd popup window replaces the 1st, which also has the "Open ..." and "Save.." options, but it says "You have chosen to download a file from this location, MYFILE.doc from localhost". (notice it shows the correct file name now)
    (3) If I choose "Save..." on the 2nd window, IE will save the correct file which is "myfile.doc"; if I choose "Open ...", a 3rd replaces the 2nd window, and they look the same, and when I choose "Open..." on the 3rd window, IE will use Word to open it.
    any ideas?
    </a>

    Did you find a solution to this problem? I've been wrestling with the same issues for the past six months. Nothing I try seems to work. I've tried setting the contentLength(), inline vs. attachments, different write algorythms, etc. I don't get the suggestion to rename the servlet to a pdf file.

  • HTTP/Servlet problem

    Hi,
    This question may sound a little bit stupid but i 'm new with HTML and servlets...
    I am trying to do the following:
    I have a FORM: <FORM NAME=\"form\">
    in which there is a button:
    <INPUT TYPE="BUTTON" NAME="searchSession" VALUE="Search" onClick="openWindow('searchSession');">
    openWindow is a java script in which a new window is created:
    newWindow = window.open('http://"+hostName+":8080/servlet/be.abis.presentation.EnrolmentServlet', 'Select Session', 'menubar,scrollbars,resizable,width=628,height=333');
    in the servlet (EnrolementServlet) the request will be forwarded to a specific servlet. This happens through the following code:
    if(request.getParameter("searchSession") != null){
              requestDispatcher = getServletConfig().getServletContext().getRequestDispatcher("http://"+hostName+":8080/servlet/be.abis.presentation.SearchSessionServlet");
         }else if(request.getParameter("ok") != null){
              enrolmentBean.saveEnrolment();
         }else{
              createForm(request, response);
         if(requestDispatcher != null){
              requestDispatcher.forward(request, response);
    what i do not understand is why the request is never forwarded to: http://"+hostName+":8080/servlet/be.abis.presentation.SearchSessionServlet
    I 'll rally be thankful if someone could help me out of heren
    thnx
    PS: Session here has nothing to do with HTTPSession

    I am doing the same thing and it do work.
    my Javascript looks like following
    function OpenNewWindow(url,title)
    window.open(url, title, "width=650,height=400,status=yes,resizable=yes,toolbar=yes,status=yes,scrollbars=yes,location=yes,screenX=0,left=0,screenY=0,top=0");
    Make sure your host name is right.
    Hope this help!!

  • Servlets - problem with session

    Hi there ppl,
    I have a login servlet which is called form a link in a static html page. The doGet() method is as below:
    public void doGet(HttpServletRequest request,
              HttpServletResponse response)
         throws ServletException, java.io.IOException
         HttpSession session = public void doGet(HttpServletRequest request,
                                  HttpServletResponse response)
                                  throws ServletException, java.io.IOException
              HttpSession session = request.getSession(false);
              RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
              response.setContentType("text/html");
              //PrintWriter out = response.getWriter();
              if(session != null){
                   //display members page(with users name as a welcome)
                   System.out.println("in login servletb");
              else{
                   System.out.println("in login servlet");
                   request.setAttribute("membersName", "adom");
                   rd.forward(request, response);
                   //out.close();
         RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
         if(session != null){
         //display members page(with users name as a welcome)
         System.out.println("session exists");
         else{
         System.out.println("session not exisit");
         request.setAttribute("membersName", "adom");
         rd.forward(request, response);
    Problem is when i click on the link in the html page it goes into tthe else statement and displays the login.jsp page fine. But when i click bak on the browser and then click the link agian it goes into the if statemtn..as if a session exists. But why does a session exisit???...if i use request.getSession(false) this shouldnt create a session if one doent already exists so where is this mysterious session being created??
    any ideas would be greatly appreaciated
    Mycall

    yer i do need the session because in my doPost() method of the servlet i create a session once the user logs on with there login/pass. The doGet() method is only to direct the person to the login page. But i want to check for the session in the doGet() incase they have already login in...if so direct them to the main page rather than to the login page agian.
    I stuffed up the code in my previous post...everything compiles and works fine apart from the fact that a session is created when it shouldnt be. I did a test println with session.getCreationTime() and it was created the same time the servlet was initial called. However im not sure if it was created by my servlet or if the broswer somehow had something to do with it....hmm is a worry.
    Heres the code again...hopefully a bit neater for u :D
    public void doGet(HttpServletRequest request, HttpServletResponse reponse)throws ServletException, java.io.IOException{
    HttpSession session = request.getSession(false);
    RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
    if(session != null){
    //display members page(with users name as a welcome)
    System.out.println("session exists");
    else{
    System.out.println("no session");
    request.setAttribute("membersName", "adom");
    rd.forward(request, response);
    thanks agian :)

  • JAVASCRIPT AND JSF PROBLEM REFRESHING PAGE PROBLEM

    Hello everyone, I am currently using visual JSF and javascript to to disable a fileupload component when a radio button is clicked. I don't have any problems getting it to work if I need to disable a button, a textfield or other visual JSF components. For some reason, i can't disable the fileupload component and I get this error when the JAVASCRIPT is called:
    Error: document.getElementById("form1:fileUpload1").refresh is not a function
    Source File: http://localhost:8080/TestSingleEvent/theme/com/sun/webui/jsf/suntheme4_2-080320/javascript/webui.js
    Line: 22
    My javascript code is the following:
    document.getElementById("form1:fileUpload1").refresh("form1:radioButton1");return false;
    I would appreciate some help here. Why is it that when I replace the fileUpload with i.e a textfield i don't get errors..
    Is it something to do with the webui.js ?
    Many thanks.

    There is no such thing as refresh() in the [DOM element|http://developer.mozilla.org/en/DOM/element]. How did you come to this? Did you a wild guess in the around without reading the docs? Don't do that.
    What exactly do you want to achieve? Reset its value? Then set the 'value' property to null. Disable the element? Then set the 'disabled' property to true.
    I've been helpful enough with this offtopic question. If you still stucks, please continue at a Javascript oriented forum. There's one at under each webdeveloper.com.

  • J_security_check servlet problems

    Hi, we use forms based authentication in our web app and I've come across some bizarre behavior in j_security_check.
    The problem is as follows: if a user goes to a form that is within our web application and sits on that form until their session times out, then decides to submit that form (triggering an HTTP POST), then iPlanet correctly displays the forms based login page. The problem hoewver is that after the user puts in their credentials and authenticates, iPlanet's j_security_check forgets where it was (the form page, call it foo.jsp for now) and it forgets where the data was being submitted to (we'll call it submitfoo.jsp for now). Furthermore the data is lost. What j_security_check ends up doing is somehow redirecting to the root of the web application, which in our case ends up displaying the stupid directory listing of our web app. We dont' have an index.html or index.jsp in our web app root and suppressing directory listings in iPlanet is not trivial (if someone knows how to do this reliably, apart from creating an index.html in all the directories i want suppressed, please let me know).
    Soooo, does iPlanet consider this a bug with the j_security_check servlet used for form based authentication or is this a "feature" they offer? how can i as a developer get j_security_check to forward to a page other than what it decides?
    Thanks,
    Ryan

    Hi, we use forms based authentication in our web app and I've come across some bizarre behavior in j_security_check.
    The problem is as follows: if a user goes to a form that is within our web application and sits on that form until their session times out, then decides to submit that form (triggering an HTTP POST), then iPlanet correctly displays the forms based login page. The problem hoewver is that after the user puts in their credentials and authenticates, iPlanet's j_security_check forgets where it was (the form page, call it foo.jsp for now) and it forgets where the data was being submitted to (we'll call it submitfoo.jsp for now). Furthermore the data is lost. What j_security_check ends up doing is somehow redirecting to the root of the web application, which in our case ends up displaying the stupid directory listing of our web app. We dont' have an index.html or index.jsp in our web app root and suppressing directory listings in iPlanet is not trivial (if someone knows how to do this reliably, apart from creating an index.html in all the directories i want suppressed, please let me know).
    Soooo, does iPlanet consider this a bug with the j_security_check servlet used for form based authentication or is this a "feature" they offer? how can i as a developer get j_security_check to forward to a page other than what it decides?
    Thanks,
    Ryan

  • Javascript rendered flash problem

    Hi,
        I'm doing something kind of funky to facilitate some functionality.  I've got a client that has some camtasia style demos he wants to play of his product.  Problem is he wants the demos to play on top of the website and then have the ability to click a button to turn off the demo.  Now I've done that and it works great locally but when deployed to the server the flash based demo doesn't play until the entire object is downloaded.  In reality that's probably how it's working locally as well.  
        You can see the results by going to http://www.wbsus.com/beta/  click on the "view video demo" on the left side there in the circle.  A small submenu will popup click on one of the first two and you'll see what I mean.  If you wait long enough for the entire demo to download it'll start.  There IS a preloader in this swf but it's not firing because the flash object doesn't play until the entire swf is downloaded.  Locally the preloader fires up just fine.
    Below is a snippet of the code used to add a demo to that page dynamically via javascript.
    document.getElementById(
    "DemoMenu").style.visibility = "hidden";
    var 
    newdiv = document.createElement('div');
    newdiv.setAttribute(
    'id', 'ReceivingDemoII');
    newdiv.style.zIndex = 820;
    newdiv.display =
    "block";
    newdiv.style.position=
    "absolute";
    newdiv.style.top=
    "0px";
    newdiv.style.left=
    "30px";
    newdiv.style.visibility=
    "hidden";
    newdiv.style.backgroundColor=
    "#FFFFFF";
    document.body.appendChild(newdiv);
    html=
    "<input type='button' value='Close' onclick='closeReceivingDemoII()' />";
    html+=
    "       May take up to 90 seconds to load demonstration.<br/>";
    html+=
    " <OBJECT classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' WIDTH='1024' HEIGHT='790'>";
    html+=
    "<PARAM NAME=movie VALUE='" + returnPlace + "Demos/wbsreceiving.swf'>";
    html+=
    "<PARAM NAME=quality VALUE='high'>";
    html+=
    "<EMBED src='" + returnPlace + "Demos/wbsreceiving.swf' quality='high' WIDTH='1024' HEIGHT='790' TYPE='application/x-shockwave-flash' PLUGINSPAGE='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'>"
    html+=
    "</OBJECT>";
    html+="<br /><br />";
    html+=
    "<input type='button' value='Close' onclick='closeReceivingDemoII()' />";
    newdiv.innerHTML = html;
    document.getElementById(
    'ReceivingDemoII').innerHTML = html;
    document.getElementById(
    'ReceivingDemoII').style.visibility="visible";
    So I dynamically create the div.  Append it to the DOM.  Add the inner html that defines the object.  "returnPlace" is a field that may or may not depending on where the site is hosted,(localhost, production,beta), return a prefix like in this case http://www.wbsus.com or http://www.wbsus.com/beta.   This was done to assure that the object path was complete.  
    So after all that.  The demo plays, it just sits and waits for the entire demo to download and then the object starts to play.   It's like active-x is keeping it from playing until the entire object is downloaded because there is a working preloader in this flash object.   Behavior is the same in Firefox and I.E..  Thanks for any and all help!
    Randy

    Kind of right but the solution was a bit odd but it works and that's l I care.   The solution was to put a javascript delay in making the div visible.  If the div is rendered immediately like the code in my original post does, the object for some reason is not allowed to activate (play) until it is completely downloaded.  If however the div is rendered as hidden, and then a delay happens and then the div is made visible.  The browser has enough time to render the div and then recognize that there's an active-x component there, and take the appropriate action when the div is activated (made visible)  so I added
    currentDivToPlay = "(whatever was just built)"
    setTimeout(
    'turnOnGeneralDemo()', 700);
    and the function
    function turnOnGeneralDemo(){      document.getElementById(currentDivToPlay).style.visibility=
    "visible";}
    With the delay for the browser all works well.

Maybe you are looking for

  • RFC function module Structure compatibility

    Dear Friends, I have one funcion module defined in R/3 system which I need to call from my EBP system. The Function module has importing parameter of the type /ZLCRD/TAX_PROCESSING_DATA, which has been created in R/3. If I try to create the similar s

  • HT1446 no low battery warning

    I replaced the battery in my MBP which wouldn't charge or run for more than 1 hour.  Now, with the new battery, I have 2 issues: 1--battery status in menu bar does not change.  It shows it's at 28% all the time 2--I not longer get a warning that my b

  • Allowing trasaction currency post to the Controlling area

    Hi All, My Exisiting Configuration is as follows: local curr: MYR CO AR CURR: MYR (ALL OTHER COMPANY CODES ARE ASSIGND TO THE CO AREA) OBJECT CURR:MYR, NOW WE ARE RESETTING THE COMPANY CODE, AND CHANGE CONFIGURATION  AS FOLLOWS LOCAL CURR  : USD SEC

  • Spinning beach ball far too often, here is my Terminal readout... Dropbox and Messages the issue?

    Here is the Terminal readout, should I be concerned with the results? What to do if anything? Apr 18 17:16:35 Mizu-4 kernel[0] <Debug>: PM notification timeout (pid 493, Dropbox) Apr 18 17:17:05 Mizu-4 kernel[0] <Debug>: PM notification timeout (pid

  • Many Baffling Problems

    since 30 days i m constantly facing problems eith the pc;1.first the battery wasnt being charged when plugged in.i called lenovo care delhi .they locked my call to change the battery. i took the pc to the service center in mumbai sakinaka where "batt