user2782773
user2782773

Reputation: 99

Unable to call one servlet to another

Servlet1:

public void doPost(HttpServletRequest request, HttpServletResponse response){  
    try{  

    response.setContentType("text/html");  
    PrintWriter out = response.getWriter();  

    String n=request.getParameter("userName");  
    out.print("Welcome "+n);  

    Cookie ck=new Cookie("uname",n);//creating cookie object  
    response.addCookie(ck);//adding cookie in the response  

    //creating submit button  
    out.print("<form action='servlet2'>");  
    out.print("<input type='submit' value='go'>");  
    out.print("</form>");  

    out.close();  

        }catch(Exception e){System.out.println(e);}  
  }  

Servlet2:

public void doPost(HttpServletRequest request, HttpServletResponse response){  
    try{  

    response.setContentType("text/html");  
    PrintWriter out = response.getWriter();  

    Cookie ck[]=request.getCookies();  
    out.print("Hello "+ck[0].getValue());  

    out.close();  

         }catch(Exception e){System.out.println(e);}  
    }  

web.xml:

<servlet>  
<servlet-name>s1</servlet-name>  
<servlet-class>FirstServlet</servlet-class>  
</servlet>  

<servlet-mapping>  
<servlet-name>s1</servlet-name>  
<url-pattern>/servlet1</url-pattern>  
</servlet-mapping>  

<servlet>  
<servlet-name>s2</servlet-name>  
<servlet-class>SecondServlet</servlet-class>  
</servlet>  

<servlet-mapping>  
<servlet-name>s2</servlet-name>  
<url-pattern>/servlet2</url-pattern>  
</servlet-mapping> 


    <welcome-file-list>
        <welcome-file>index.html</welcome-file>

    </welcome-file-list>
</web-app>

I am unable to call from servlet1 one to another servlet2 I don't know where am doing wrong in sservlet2 we have to give the name class or URL patter plz check in code of servlet 1. i am unable to call servlet 2 on button click on servlet1 please help me

Upvotes: 0

Views: 146

Answers (1)

SpringLearner
SpringLearner

Reputation: 13844

you have not written the form method here

out.print("<form action='servlet2'>");  
    out.print("<input type='submit' value='go'>");  
    out.print("</form>"); 

so by default it will be get.So you need to call the doGet() of second servlet or write form method as post like this out.print("<form action='servlet2' method='post'>");

Upvotes: 2

Related Questions