2013-12-24 4 views
0

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> 

Я не могу позвонить с servlet1 одного к другому servlet2 Я не знаю, где я ошибаюсь в sservlet2, мы должны указать класс имени или URL-адрес patter plz в коде сервлета 1. Я не могу t о вызове сервлет 2 по нажатию кнопки на servlet1 пожалуйста, помогите мне

ответ

2

вы не написали метод формы здесь

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

поэтому по умолчанию он будет get Так что вам нужно вызвать doGet() второго сервлета или напишите форму как postout.print("<form action='servlet2' method='post'>");

Смежные вопросы