Servlet calling other servlets

hi friends,
I have got a servlet with a switch case option.There are in totality 9 options. When each option is chosen, it should call a separate servlet.
How do i go about doing it. I tried
res.sendRedirect("Servlet1");
But it dosent seem to work. Is this the right way, or is there any other way of going about it.
Help needed immediately
Thanx in advance
Pratibha

Maybe this well help you further:
http://www.esus.com/javaindex/j2ee/servlets/servletcallservlet.html
Cheers,
Joris

Similar Messages

  • Servlets calls another servlet

    servlets calls another servlet ...how to do it ? whats the efficient way ?
    class myservlet extends HttpServlet
    // i want to call a servlet situated at another machine in the LAN whose, IP // 123.123.45.66 (say)
    the servlet which is situated in another machine
    remoteservlet extends HttpServlet
    doPost(...)
    how do i call ?
    few of the way i found by searching the forum.
    but i would like to know the good way in my situation.

    res.sendRedirect("LoginServlet?="+req.getRequestURI())
    i tested this. it does not work.
    my servlet wants to call another servlet which is
    active on IP xxx.ddd.ffff.zzz in the LAN .
    whats the way ?
    res.sendRedirect("http://xxx.ddd.ffff.zzz:<portnumber>/<context_name>/<servlet_regd_name">);The request and response objects are generated anew for that Servlet. There's no two ways about it, IMO.
    cheers,
    ram.

  • A servlet calling another servlet on diff machine

    plzzzz help me on how i will call a servlet which is running
    on different machine from one machine. and how i will call a servlet
    which is running in different context on the same machine

    To call a servlet on a different machine you can use the HttpURLConnection class. Search the forum for details on how to do this.
    Or you can use the JSTL c:include tag. (or is it c:import?)
    To call a servlet on the same machine in a different context you use
    getServletContext().getServletContext(url)
    where url is the url to the servlet in the other context. Then you can use the RequestDispatcher to forward the request to the other servlet.

  • Servlet Calls another Servlet, Returns an Object

    Is it possible to call another servlet (which is loaded through
              Load-on-startup) from another servlet. The return should be an Object.
              I know I am kind of asking for a procedural way of programming.
              Example : Servlet "IamReady" is loaded and gets a request with binary
              data. It replies with a Binary Object.
              Servlet "serviceCall" calls IamReady to get the resoponse.
              I know that there are forward (using requestDispatcher) and "include"
              directives to have another servlet service calling servlet.
              Also, if I define a method in the (generic servlet) does each call to
              methos is executed in different thread (like doPost and doGet).
              Thanks.
              Chris
              

    "Michael Reiche" <[email protected]> wrote in message news:<[email protected]>...
              Thank you Michael,
              > It is possible to call a servlet from a servlet.
              >
              > You can 'return' an object by putting it in the httpRequest.
              You mean httpResponse.
              >
              > The call is NOT executed in a separate thread.
              >
              > From this post (and the other post about a connection pool) - I wonder if
              > you really need to be using servlets. I couldn't think of a good reason why
              > the connection pool needs to be a servlet.
              Are you suggesting I should just have a class. Reason I have it as
              servlet, b'caz I do a load-on-startup and do initialiazation etc. in
              the init method. May be if you suggest how I can do it otherwise, I
              would like to implement it that way.
              Thanks again.
              >
              > Mike
              >
              > "MOL" <[email protected]> wrote in message
              > news:[email protected]...
              > > Is it possible to call another servlet (which is loaded through
              > > Load-on-startup) from another servlet. The return should be an Object.
              > > I know I am kind of asking for a procedural way of programming.
              > >
              > > Example : Servlet "IamReady" is loaded and gets a request with binary
              > > data. It replies with a Binary Object.
              > >
              > > Servlet "serviceCall" calls IamReady to get the resoponse.
              > >
              > > I know that there are forward (using requestDispatcher) and "include"
              > > directives to have another servlet service calling servlet.
              > >
              > > Also, if I define a method in the (generic servlet) does each call to
              > > methos is executed in different thread (like doPost and doGet).
              > >
              > > Thanks.
              > >
              > > Chris
              

  • Servlet calling another servlet in diff J2EE app

    Hi.
    Can a servlet load another servlet in different J2EE application ?
    If so, could you show me how ?
    Code example would be much appreicated.
    Thanks.

    Call the other servlet's absolute url thro' urlconnection.
    URL url=new URL("http://server:port/servlet/otherservlet");
    InputStream in=url.openConnection();
    Other servlet will be loaded. Read response if you want to.

  • Servlet calling another servlet

    hi,
    I am writing a web-application which requires one servlet (on main server) to call another servlet (on a remote server).
    The main servlet needs to call the remote one and send some parameters to it.
    The remote servlet would be sending back XML data which is to be used by the central servlet. I tried using XML-RPC but it does'nt seem to support sending in NATIVE XML data.
    I also tried by creating URL, but did not find a way to add parameters to it !!!
    Could anyone please tell me how to call another servlet (along with sending POST/GET parameters) and get the results back into the calling servlet ?
    Any suggestions would be greatly appreciated.
    Thanks !
    Ajoy

    one possible solution would be to create an own socket connection (this would be a like a Post request) and than exchange data as you like.

  • Calling other servlets from a servlet

    Hi!
    I'm new developing Servlets. I'm trying to include a request like this:
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter toAnotherServlet = response.getWriter();
    RequestDispatcher sejuiste = config.getServletContext().getRequestDispatcher("/AnotherServlet");
    if(sejuiste != null) {
    try {
    sejuiste.include(request, response);
    catch (Exception e) {
    System.out.println(e.getMessage());
    toAnotherServlet.println("</html>");
    toAnotherServlet.close();
    In the compilation I have the following message:
    config has private access in javax.servlet.GenericServlet
    What I'm doing bad?
    Thanks
    Jogom

    use getServletConfig() method instead of accessing the config object directly
    the config object has private access, you can use it within
    the GenericServlet class only.

  • Problem with servlet call within servlet

    I have already a servlet that generates a jpeg images that works fine.
    a second servlet generates an pdf document via the iText library and works also fine.
    the problem or question is how to call the first servlet to insert an
    image into the generated pdf??
    tia
    marky

    Have a look to HttpURLConnection object (in java.net package). A example of the code :
    URL url = "http://myServer/myJpegServlet";
    HttpURLConnection uc = (HttpURLConnection) url.openConnection();
    uc.setDoInput(true);
    uc.setUseCaches(false);
    uc.setAllowUserInteraction(false);
    InputStream dataIn = uc.getInputStream();
    byte[] buf = new byte[512];
    while( (dataIn.read(buf)) != -1 ) {
    //Do what you want with the data
    datain.close();
    uc.close;
    Hope this helps!
    Simon Pierre NOLIN

  • Calling my servlet from browesr

    Hello,
    I asked a similar question recently but now have a slightly better understanding of my problem. I have a servlet running on localhost which i wish to forward all request messages to. i.e Every request for a page will go to the servlet. My reason for this is so i can do things like log all web usage but also to learn how to use servlets.
    i had hoped that i could configure my browser to use the address of the servlet as a proxy but this has not worked so far. Am i correct in my understanding that the servlet itself does not have a port number but works on port 80 through my server? And in this case is there a way to configure requests to be sent from the server to an individual process on the server (i.e my servlet).
    Thanks,
    jB

    I asked a similar question recently but now have a
    slightly better understanding of my problem. I have
    a servlet running on localhost which i wish to
    forward all request messages to. i.e Every request
    for a page will go to the servlet. Yes you can so configure your web.xml that all requests go to one servlet (or a jsp for that matter). This is done all the time in standard MVC2 frameworks where all requests are routed to a Controller Servlet
    i had hoped that i could configure my browser to use
    the address of the servlet as a proxy but this has
    not worked so far. Will not work, the servlet doesnt listen on any port, the container/webserver hosting the servlet does.
    Am i correct in my understanding
    that the servlet itself does not have a port number
    but works on port 80 through my server? Correct, see previous answer. Though the port number could be configured to any value (like 8080)
    And in this
    case is there a way to configure requests to be sent
    from the server to an individual process on the
    server (i.e my servlet). Yes, you should configure your web.xml in this fashion
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- schema or dtd declaration here dependent on the servlet spec that  your server supports -->
    <web-app>
           <!-- other decalartions-->
            <servlet>
         <servlet-name>AllPuposeServlet</servlet-name>
                         <servlet-class>fully qualified class name </servlet-class>
            </servlet>
             <!--other servlet definitions-->
              <servlet-mapping>
                     <servlet-name>AllPuposeServlet</servlet-name>
                      <url-pattern>/*</url-pattern> <!-- This ensures your servlet intercepts
    all requests to this context-->
              </servlet-mapping>
               <!-- other decalartions-->
    </web-app>Hope that helps.
    cheers,
    ram.

  • How can Servlet includel another servlet?

    I want to have a servlet calling another servlet in the middle of code... how to do that ?
    eg
    Servlet 1 print
    line1..
    line2...
    <-- here include Servlet2 to print line 3 and line 4 -->
    then servlet 1 continue to print
    line 5
    line6

    request.getRequestDispatcher("/servlet/MyServlet").include(request, response);

  • Calling another servlet in other server

    Hi - a quick newbie question -
    I need to call a servlet sitting on another server via http.
    I'm thinking of doing following..
    URL url = new URL("http",HOSTNAME_,PORT_, "/sp/xmlBuilderRates?" + urlParams );
    HttpURLConnection uc = (HttpURLConnection) url.openConnection();
    // now how would I pass back output stream? to the original response object?
    uc.getOutputStream();
    Thanks

    I was looking to find a way to somehow relay child's servlet's output to current response object's output - streaming
    Maybe something like
    URL url = new URL("http","nyfddapp02",8889,"/sp/xmlReport?" + urlParams );
    BufferedReader in = new BufferedReader( new InputStreamReader( url.openStream()));
    String line;
    while( ( line = in.readLine()) != null )
    out.println( line );
    out.flush();

  • How to call a other servlet in other server

    I want to forward a request coming from one HTTP Client to another servlet which is in other web server. Is it possible? If Possible how can I do it?
    Can anybody explain with an example.
    Thanks,
    Thiru

    You could open an HttpURLConnection to the other servlet and recieve the output from the servlet and incorporate this output into the first servlet's response. You will not be able to directly pass the original request to the second servlet but can construct a new request to the second servlet.

  • How to call a servlet in new window without toolbar from OA page

    How to call a servlet in new window without toolbar from a OA page?Please provide sample code

    I have tried with the way suggested in Mukul's blog using javascript in Destination URI property.
    I tried to open a OA Page and from which forwarded it to a servlet..
    It is showing the error:
    Error Page
    Exception Details.
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1223)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getAppId(OAWebBeanFactoryImpl.java:5391)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)
    oracle.apps.fnd.framework.OAException: The application id or shortname () you entered does not exist.
         at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getAppId(OAWebBeanFactoryImpl.java:5391)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:969)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423)
         at oa_html._OA._jspService(_OA.java:86)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:96)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:534)

  • 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

  • How can I call a servlet from a javascript

    Hello
    I have a JSP page that has 2 aim : save and list. I want to use javascript like this to call my save and list methods :
    <SCRIPT language="JavaScript">
    function savedata(){
    document.kaydetsorgula.action = "hatBilgisiKaydetKontroller.java";
    document.kaydetsorgula.submit();     
    function listdata(){
    document.kaydetsorgula.action = "hatbilGoruntulemeKontroller.java";
    document.kaydetsorgula.submit();     
    </SCRIPT>
    I use this js in my JSP, hatBilgisiKaydetKontroller.java and hatbilGoruntulemeKontroller.java are my servlets names.In servlets I call the methods of sessions.
    Also in my JSP I use
    <tr>
    <td colspan=9 align=center>
    <input type="submit" value="Kaydet" >
    <input type="submit" value="Sorgu">
    </td>
    </tr>
    code to call the js.
    But my code does not work?
    Does anyone have any idea?
    Thanks
    ANIL

    Thanks.....
    I could manage to work it by using <input type="submit" value="Sorgu" onClick="sorgula()"> ...
    And know I have another problem...
    I have a listing page.This pages shows data from a database table and in this table there are 100 rows but I want to show data 10 by 10.I mean when I click on next link I want to see the other 10...
    My JSP code is like this :
    <%@ page contentType="text/html;charset=windows-1254"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.lang.*"%>
    <% Context context = new InitialContext();
    DataSource ds = (DataSource) context.lookup("jdbc/DUKSDS");
    Connection conn = ds.getConnection();
    Statement stmt = conn.createStatement();
    stmt.executeQuery("select rownum,hatKodu,hatAdi from HATBIL where rownum < 11 order by hatkodu");
    String vhatKodu = request.getParameter("hatKodu");
    ResultSet rs = stmt.getResultSet();
    ResultSetMetaData rsmd = rs.getMetaData();
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
    </head>
    <SCRIPT language="JavaScript">
    function sonrakikayitlar(){
    document.listelemeekrani.action = "listeleme.jsp";
    document.listelemeekrani.submit();     
    </SCRIPT>
    <body>
    <img src="file:/C:/DUKS/ERD Logo.gif" width="100" height="100">
    <H2><center>DEMIR URETIM KONTROL SISTEMI</center> </H2>
    <br>
    <H3><center>HAT BILGISI LISTELEME EKRANI</center> </H3>
    <center><input type="hidden" name="hiddenField">
    <form name="listelemeekrani" method="get">
    <table class="clsScroller" cellspacing="2" cellpadding="3">
    <tr>
    <td>Previous</td>
    <td align="center">
    <select>
    <option selected value="1">1-2 of 2</option>
    </select>
    </td>
    <td>Next</td>
    </tr>
    </table>
    <table border="1">
    <tr>
    <td align="center" colspan="5" >HAT KODU</td>
    <td align="center" colspan="5">HAT ADI</td>
    </tr>
    <%
    while (rs.next()) {
    %>
    <tr>
    <td bgcolor="pink" colspan="5"><%=rs.getString("hatKodu")%></td>
    <td bgcolor="pink" colspan="5"><%=rs.getString("hatAdi")%></td>
    <!-- <td bgcolor="pink" colspan="5"><%=vhatKodu%></td>-->
    </tr>
    <%
    rs.close();%>
    </table>
    <% System.out.println(rsmd.getColumnCount()); %></p>
    BILGI GIRIS EKRANI
    </table>
    </form>
    </body>
    </html>
    How?
    Thanks
    ANIL

Maybe you are looking for