Different ways to call a servlet

Hi,
I have created a servlet which generates a PDF report.
The servlet is called through a html standard link.
All this work well but I would like to avoid calling the servlet through the url because it risks to change.
There is means to call a servlet without the use of the URL ?
Or in the worst there is a function which allows to return the actual URL ?
Thanks

ok.. I have found !
It's very easy..
I can call the servlet by his name without specifying the complete URL ! :)
sorry.. hehe

Similar Messages

  • Best way to call EJB - Servlet or Tag Library

    Hi,
    What is the best way to call an EJB from a JSP? We are using Weblogic 7.0(moving to 8.1 beta). WE have a form on a JSP that needs to get data from an EJB. Our flow goes from JSP --> Controller servlet or tag library -->EJB "Bean" Controller ---> EJB. The specfic EJB we need to populate drop downs and fields will be called by a bean controller. Is it better to call the bean controller using a tag library in the jsp or go to the controller servlet to get the data? If servlet is the answer, where do I lookup the EJB Home and call the create from within the servlet? Any help would be greatly appreciated!!
    Thanks!

    IMO, if you are following some design patterns, like the MVC framework, the best thing is to populate the model(entities that contain the business data) and call the respective getXX methods from the model on the JSP page. The reason for doing so is to keep JSP pages away from any other work other than to just display the business data contained in the respective business entities.
    The model can be populated in the servlet and either set in the request or session attribute as per the requirement.
    The EJB can be looked up in the servlet as and when required. I would suggest to make use of the Service Locator Pattern to do a look up for the EJB Remote Interface and accordingly make the business calls.
    Hopefully this answers some of your questions.

  • What is the best way to call a servlet from another servlet?

    I have a project with 9 servlets (class project). The way I have been moving from servlet to servlet is like this
    doPost(...)
    {      response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Functions</title>");
    out.println(f"<form name=frm6 method=post action=/servlet2");
    out.println("<input type=submit name='btn' value='servlet2'>");
    out.println("</form>");
    So I have these 9 servlets - I call any 8 of them from the first servlet so I have 8 buttons on 8 forms <form=frm1, frm2, ...frm8 method = post...> But when I bring up the first servlet only 6 buttons show up. I was thinking about using hyperlinks instead, but I would like to do this with buttons. I wanted to do this with javascript and the location object, but I was advised to use jsp. I just want to move from one servlet to the next. Any suggestions appreciated for the best/preferred method for moving from one servlet to the next.
    Thanks

    I think you may need some clarification of terminology etc..
    First off, JSP isn't an alternative to javascript, it's an alternative to coding a servlet. A JSP is a mixture of java code and HTML and is translated into a servlet by the system. JSPs are primarilly for generating HTML pages with variable content. JSPs very frequently generate HTML which includes Javascript.
    You probably shouldn't think of what you're doing as one servlet invoking another, that does happen; a servlet can transfer an transaction to another servlet or JSP. In fact it's standard practice that a servlet does the logical stuff (like interpretting form data) then transfers to a JSP to generate the response page. However in this case it's the browser that can invoke one of the 8 servlets, the first servlet merely creates the page from which they are invoked.
    It's not obvious why only some of your buttons are showing up. In a case like this use the "view source" option on your browser to find out what HTML the servlet is actually delivering. What's wrong should be evident from that.
    You can put a hyperlink arround a button, or an image. Mostly people turn up their noses at the buttons supplied by HTML and use their own images for buttons. You
    can do somthing like this:
    <img src="/images/button3.png" border="0">
    (Of course this arrives as a GET transaction not a POST).
    Or you can do a bit of javascript like:
    <img src="/images/button3.png" style="Cursor: pointer;"
    onclick="document.locations.href='/servlet3';">

  • Different ways to invoke a servlet from another servlets?

    Hello,
    I am a bit confused today. I was thinking about all the ways by which I can invoke a servlet from another servlets. I know it can be done by creating an instance of the 2nd servlet in the 1st one. Is there any other way? such as say.... RequestDispatcher perhaps?
    Here is an example to illustrate my point. I have a login.jsp which submits to login.do. login.do search through database and first authenticate email and then the corresponding password. Now its time for displayGame.do. So here how do i do? if it was a displayGame.jsp then i could have used Redirection or Forward but when it is servlets? Can I still go for Redirection or Forward??
    Thank you for reading this confused post. :-)

    if it was a displayGame.jsp then i could have used Redirection or Forward but when it is servlets?Question: do you know what a JSP becomes when you first run it?
    Answer: a servlet.
    So yes, you can use a RequestDispatcher to forward/redirect to a servlet OR a JSP, whatever you like.

  • Is there any way to call the servlet from the applet

    hi all,
    My problem is that i have a applet .After the applet completes execution a servlet should be invoked.Is it possible to do so.
    I also want to pass a string array to the servlet.
    Is it possible to pass a string array to aservlet.
    If yes please do inform me that method.
    And from that servlet we should be able to redirect the the response of the applet to the servlet or JSP.
    The flow is some what lILE THIS
    APPLET TO SERVLET TO SERVLET/JSP

    Stop double posting. It won't help
    http://forum.java.sun.com/thread.jspa?threadID=642015
    and take a look at this.
    http://www.google.com/search?hl=en&q=applet+servlet+communication

  • Calling a servlet giving an XML stream

    Hi,
    Can you tell me the different ways to call a java servlet giving a <XML> stream ?
    Thanks

    Can you tell me if the following code is in the right way ?
    XMLTest( HttpServletRequest requete ){
    SAXParser parser = new SAXParser( );
    parser.setContentHandler (this);
    try {
    parser.parse( new InputSource( requete.getReader() ) );
    catch (SAXException e) {
    System.err.println (e);
    catch (IOException e) {
    System.err.println (e);
    And can you tell me how to test ? I mean, how to send a http post or get th the servlet that will include the parser ?

  • How to call a servlet from another servlet

    hi everybody,
    i have a problem, i have to call one servlet from another one.
    Everything works on my pc, but when i install the application on the customer's server i got an error about an Uknown URL followed by the name of the machine.
    Wjat i do is the folloqing :
    String urlString = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/"+servletName;
    URL url = new URL(urlString);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    the variable servletName is the name of the servlet i have to call.
    Is there another way to call the servlet ?
    All the servlet are installed in the same server.
    Any suggestion ?
    Cheers.
    Stefano

    Sweep is correct about requestDispatcher being another approach for inter-servlet delegation; the only issue that i recall with this approach is that it defaults the method of the destination servlet to the one it was called from...for example, calling servlet2 from within servlet1.post() resulted in the dispatcher attempting to utilize servlet2.post() - i believe that i searched for a parameterize solution to no avail :( (ended up handling the request by placing a "fake" doPost() in servlet2 that simply called servlet2.doGet())
    however, if your application is functioning correctly on your pc/webserver then the problem may be external to servlet communication (e.g. client webserver's ports not configured or blocked, missing runtime classes, etc.)
    my suggestion would be to set aside the programmatic concerns for the moment - what is the response if you open a browser on a client's machine and access the URL in question (i.e. http://clientserver:port/stefanoServlet)? If it will not respond to access in this manner then it certainly won't when your application calls for it.
    It's possible that there is a coding error but, given the info supplied, i'd start examining the environment, first. Let us know if you have any luck with the test i recommended or not (please provide abundant detail). Or, if you've found the solution then you may want to post back with a quick blub so the next person knows how to escape the trap.
    D

  • Help needed to call a servlet from an applet

    Hi,
    can someone help me with the way to call a servlet from an applet.
    actually on click of a button i wanna call my servlet and save some data in DB.
    i am not able to call my servlet. see the sample code which i am trying..
    public void actionPerformed(ActionEvent event) {
    if (event.getActionCommand().equals("Upload")) {
    try {
    System.out.println("Upload button has been clicked -----------");
    URL url = new URL("http://localhost:8084/uploadApp/TestServlet");
    URLConnection urlConnection = url.openConnection();
    urlConnection.setDoInput(true);
    urlConnection.setDoOutput(true);
    urlConnection.setUseCaches(false);
    ObjectOutputStream objOut = new ObjectOutputStream (urlConnection.getOutputStream());
    objOut.writeBytes(userId); // pass parameter to servlet
    objOut.flush();
    objOut.close();
    } catch (MalformedURLException ex) {
    Logger.getLogger(ButtonListener.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
    Logger.getLogger(ButtonListener.class.getName()).log(Level.SEVERE, null, ex);
    is there any problem with the code? please suggest.

    hii,
    checkout my add from, HTH
    [http://forums.sun.com/thread.jspa?threadID=5419921&messageID=10885709#10885709]
    ... kopik

  • Java calling a servlet...

    Hi,
    Is there a way to call a servlet from a Java standalone class (of course I want to pass to the servlet parameters and to retrieve results from the servlet) ?
    Thanks a lot.
    Regards.

    Hi Guru,
    Thanks for the reply.
    In my serlvet I wrote:
    response.getWriter().write("in the doGet method");
    In my Java class, I wrote the following :
                   URL url = new URL("http://server:port//Servlet1/theservlet");
                   BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
                   String inputLine;
                   while ((inputLine = in.readLine()) != null)
                        System.out.println(inputLine);
                   in.close();
    I do get the String "in the doGet method".
    But what if I wanted to send Objects ?
    Is there a way ?
    I cannot user session of course....
    Any idea will be welcome.
    Thanks in advance.

  • Calling a Servlet from a JSP within Portal Portlet

    We've created a JSP that calls a Servlet when the form is submitted. The servlet handles the request, does some basic processing and then forwards back to a JSP. This works fine outside of Portal.
    What needs to be done in order for this to work within a portlet in Portal? We can get to the first JSP which is in a portlet, but as soon as we click the submit button (which tries to call the servlet) we get the basic page not found error. We need to click the button, go to the servlet and have the servlet forward back to our portlet.
    I know this is not the ideal way of using Portal however...
    Any ideas?
    Thanks!
    -Teri Kemple
    [email protected]

    I was wondering is there any way I can call a servlet from jsp? There are two scenarios here
    1 - if the jsp is currently being executed/evaluated on the server, then you can use <jsp:include> to "call" a servlet, or <jsp:forward> to cancel the jsp and transfer the control to the servlet.
    2 - if the page is already loaded and running in the client, then the only way to call a servlet is making a HTTP request as from any other html page. Jave code does not execute on the client, so you have to use html/javascript at that point.
    Calling a servlet within another servlet.
    lets say one servlet maintains all dynamic html. I call this servlet from another servlet to create a dynamic page and then insert values into it.Close, but the standard pattern is the reverse of that. What normally happens is you retrieve the values to put in the page, and then call the page, passing in those values. Thats why often you get a servlet/actionbean getting called, which then forwards to a JSP to display the result. The servlet/bean loads all the values required into scope, and then the JSP presents the data.

  • Different ways to return results using a stored proc to calling application

    Hi, Can someone please suggest me different ways of returning results( set of rows and columns) from a stored procedure to calling application.
    Currently I am using sys_refcursor to return results to front end. Stored proc is executed fast, but cursor access and retrieval of results has some overhead.
    So can you suggest the ways which will be faster than this approach.
    Thanks.

    Currently the procedure executes quickly but the results from the ref cursor are returned slowly, this is because the query is slow, for whatever reason.
    Collecting in all the rows in the stored procedure first before returning them will
    a) Make the stored procedure slower taking the same amount of time to execute as current query takes to complete.
    b) Use more memory.
    c) Put more stress on the network as all rows will be transferred at once instead of using the arraysize/fetchsize to to fetch the rows in smaller packets.

  • Anyone know the way to call SQLLoader utility or similar from JSP/Servlet?

    Anyone know the way to call SQLLoader utility or similar from JSP or Servlet?
    i would like to make a big data load from web interface, using SQL Loader or similar, because this utility allows a great performance.
    I think that i can make a JSP or Servlet to open file, and create insert statement into a loop, but the performance is very bad for 30000 inpuits.
    Help me please
    Thanks
    Note: my english is very bad. Sorry.

    Hi there,
    I tried this codes into a Bean like this:
    package com.tuxedo.beans;
    import java.io.*;
    public class TuxTest
         public void RunTest()
              try{
                   Runtime rt = Runtime.getRuntime();
                   Process pr = rt.exec("command /k c:\test.bat");
              } catch (IOException e) {
                   System.err.println("Error: " + e.getMessage());
    }and call it with a JSP like this:
    <html>
    <head><title>Tuxedo Test</title></head>
    <body>
    To run a test on local batch file
    <jsp:useBean id="test1 " class="com.tuxedo.beans.TuxTest"/>
    <jsp: RunTest name="test1"/>
    </body>
    </html>i had created folder %tomcat%\webapps\ROOT\WEB-INF\classes\com\tuxedo\beans to store the bean.
    Yet the JSP file executed, but i dun see any response by calling the batch file, anyone have any idea?
    the batch file is like this:
    @echo off
    echo
    echo Hello World!
    echo
    pausePlease help!

  • How to call jsp /servlets running in different web application in tomcat

    hello all,
    i have 2 web applications(Charts and Reports) in the same tomcat,i want to call jsp/servlets running in the Reports webapp from Charts webapp.how do i achieve this.
    thanx
    ravi

    You can also use getContext(String context) in the ServletContext class to get a request dispatcher.
    Using the above example it would be :
    // in a servlet in the charts webapp
    ServletContext context = getServletContext();
    ServletContext reportsContext = context.getContext("/reports");
    RequestDispatcher dispatcher = reportsContext.getRequestDispatcher("/path")
    dispatcher.forward(request, response);Just note, that depending on your server's configuration getContext(...) might return null.

  • Passing different values to the same servlet

    Hi,
    Is there a way to pass different values to the same servlet?
    Background:
    I have a database that I query to acquire a list of customers, then I show each customer as a link, that when clicked will show details of that customer. (The customer table is dynamic so I can't create a new page for each customer)
    When using JSP what I do is
    //Do query database
    while (rst.next())
         String cust = rst.getString ("cust");
            out.write("<a href = \"cust2.jsp?cust=" + cust + " \" >" + cust + "</a> ");
    }Then on the cust2.jsp. I will use
    String str = request.getParameter ("cust");to acquire the customer to get details of.
    Is there a way to do the same using servlets?
    I could swap to JSP when creating this particular part of the project but it won't look good and it would help me learn a few things when there is another way.

    I want to know if there is a way to pass a variable from a webpage link like in my JSP example using servlets.
    Here is what I wanted to do:
    I have a webpage that contains customer names and each name has a link to the same servlet (let's say the link is famia/servb). I want servb to show detailed information about the customer my visitor clicked in the webpage.
    The logic I was thinking is to pass a variable to this servlet, then I can use that variable to know which customer should I query in my database. So that I can show the details to my users.
    Here lies my problem, I don't know how I can pass this variable, or even know which customer my visitor clicked. I can't use a new servlet for each client since the customer is in a database and if my customer base grows then I would need to create a lot more web page that does the same thing.
    The JSP example I gave is how I will be coding it if I am using JSP, but now I am using servlets. So I was wodnering if there is a way to do this using servlet. Or should I stay with using JSP for this particular logic and just call servb after the JSP page acquired the variable.
    I'm trying not to use "<original URL> + ? + <variable> = <value>" (eg: http://www.famia.net/customer?cust=famia) as the means for passing the variable. (or in the example as a means of passing variable cust with value famia)

  • Wt are different ways to find enhancement spots(User Exits) in ECC 6.0??

    Hi Friends,
    How are you all doing??
    Friends relevant  answers are awarded points. Pls give solutions..
    What are the different ways to find the enhancement spots (i mean user exit points) in ECC 6.0??
    I want to find the enhancement spot in sale order transaction (va01/va02) after save happening or else after commit happen. In that i need to call the badi method on_costing_component. So friends could you give solution for this.

    Hi
    You can see this document for knowing the Userexits for a given Trxn.
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/abap-code-samples/userexits%20in%20a%20transaction.doc">Listing UserExits in Transactions</a>
    Regards
    Raj

Maybe you are looking for

  • Accrual Reconciliation Rebuild - No Report/Accrual Reconciliation Report

    Hi Experts, It is well-known that Accrual Reconciliation Report shows out the data from po_accrual_reconcile_temp_all i.e. only that data which resides in po_accrual_reconcile_temp_all table will be picked and showed on the report based on net_po_lin

  • Best Practice for Creating JAR File

    I have my first java program all done (Yipee!) and I have created the .jar file but I don't think I am really creating it like I should. When I ran it on another machine it had problems because I think it couldn't find all the other classes like the

  • White screen on startup 2010 Macbook pro

         The computer worked fine a couple of days ago, when the computer was given to me. I reformatted and reinstalled OS X through disk utility to remove all of the previous data. It worked fine up until I took it took school. When I took it out of my

  • What characters are allowed in an Apple ID Password?

    My mom has "changed" her password because she said she was asked to when logging into Facetime. Now she can't log in. When I asked her what it was, she read to me and it had both a space and a period. I don't believe those are accepted. I tried to lo

  • Modem disconnect for no reason and when I get phone calls constantly

     Out of nowhere  or when I get a phone call, my modem would just randomly disconnect for no reason. Sometimes it disconnects a few times during an hour or back to back once I get internet back on, it goes out sometimes it doesn't for hours. It can ge