2017-04-18 3 views
1

Eh bien, encore une fois frappé sur un suppoused pas de problème. J'ai un servlet simple "Myservlet.java" qui imprime une chaîne (Nom du projet Web dynamique est "JspCallingServlet" et sa racine de contexte est "/") DynamicWebProject ExplorerEclipse: jsp: inclure l'action avec le servlet

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.*; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.*; 

/** 
* Servlet implementation class MyServlet 
*/ 
@SuppressWarnings("serial") 
@WebServlet(
     name="MyServlet", 
     urlPatterns="/MyServlet" 
     ) 
public class MyServlet extends HttpServlet { 

... omitted code 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     PrintWriter out = response.getWriter(); 
     out.println("... I'M MyServlet ..."); 
    } 

} 

Et ça marche depuis si i " exécuter en tant que/exécuter sur le serveur », il montre servlet output

donc je pensais que je pouvais facilement l'appeler dans un jsp avec l'inclure l'action, le réglage comme la page l'URL de servlet

<html> 
<head> 
<title>Using servlet into a jsp</title> 
</head> 
<body> 
    Using: MyServlet.java 
    <br /> 
    <jsp:include page="/MyServlet" /> 
</body> 
</html> 

mais pourquoi diable le

<jsp:include page="/MyServlet" /> 

ne compile pas, et le message dit

Fragment "/MyServlet" was not found at expected path /JspCallingServlet/WebContent/MyServlet 

Pourquoi déranger le dossier WebContent quand il est censé ouvrir l'URL « page » mis en correspondance avec le servlet ?

Répondre

0

: S i trouvé une réponse par moi-même.

je mal orienté en quelque sorte par la réponse que je trouve à How to call servlet through a JSP page avant de poster la question que je fait ...

Il semble - au moins que ce qui arrive à moi - que le droit « action » à utiliser afin d'inclure une servlet est l'action "en avant": pas le "include".

Ie droit .jsp est le suivant

<html> 
<head> 
<title>Using servlet into a jsp</title> 
</head> 
<body> 
    Using "jsp:include" fails, while using "jsp:forward" works 
    <br /> 
    <jsp:forward page="/MyServlet" />    <%-- WORKING --%> 
    <%-- <jsp:include page="/MyServlet" /> --%>  <%-- NOT WORKING --%> 
</body> 
</html> 
0

<jsp:include page="/MyServlet"> devrait être remplacé <jsp:include page="/xxx.jsp">