2016-05-27 7 views
-1

In der Datei web.xml ich diese URL-Muster habe passen:URL nicht url-Muster in web.xml

<url-pattern>/servletPrueba/*</url-pattern> 

und in der JSP-Datei habe ich auf diesen Link:

<a href="servletPrueba/a">Enlace servlet</a> 

Aber ich bekomme einen 404 Fehler, ich denke, die URL stimmt mit dem URL-Muster überein, oder?

hier ist das Servlet, es onle einem Testzwecke Servlets,

nur für die Praxis
package pruebas; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class servletPrueba 
*/ 
//@WebServlet("/servletPrueba") 
public class servletPrueba extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public servletPrueba() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     //response.getWriter().append("Served at: ").append(request.getContextPath()); 
     RequestDispatcher despachador = null; 
     String ruta = request.getPathInfo();  
     PrintWriter out = response.getWriter(); 
     out.println(request.getPathInfo()); 
     out.println(request.getServletPath()); 


    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     //doGet(request, response); 
     PrintWriter out = response.getWriter(); 
     out.println("POST"); 
    } 

} 

webb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>pruebas</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <servlet-name>servletPrueba</servlet-name> 
    <servlet-class>pruebas.servletPrueba</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>servletPrueba</servlet-name> 
    <url-pattern>/servletPrueba/*</url-pattern> 
    </servlet-mapping> 
</web-app> 
+0

Whe Ist die JSP lokalisiert? Dieser Link kann nur funktionieren, wenn sich die JSP im Webapp-Root befindet. –

+0

Die JSP ist in der Webapp-Ordner – AFS

+0

Können Sie Ihr Servlet posten? – codependent

Antwort

0

Hier ist ein komplettes Beispiel (ich benutze Maven nicht, aber ich könnte): Eclipse Screen

How it looks in browser

+0

Auf diese Weise nimmt den literalen Wert, die URL ist pageContext.request.contextPath}/servletPrueba/a – AFS

+0

Interessant, könnten Sie bitte komplette web.xml posten? Oder vervollständigen Sie das Servlet-Mapping für diesen Eintrag. – cingulata

+0

die XML ist jetzt auf den ursprünglichen Beitrag – AFS