2017-06-13 4 views
0

J'essaye d'impelemnt mon premier projet de JavaEE, mais j'obtiens toujours l'erreur 404, quand j'essaye d'appeler GET sur mon HttpServlet. J'ai lu beaucoup de publications et de tutoriels, mais je n'ai pas trouvé de solution. Voici mon index.jspAppel annoté HttpServlet de jsp avec jquery

<%-- 
    Created by IntelliJ IDEA. 
    User: molnard 
    Date: 2017. 06. 13. 
    Time: 10:03 
    To change this template use File | Settings | File Templates. 
--%> 
<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
    <title>Learn Jsp</title> 
    <script src="/lib/jquery-3.2.1.min.js"></script> 
    <script> 
     $(document).ready(function() { 
      $("#myspan").click(function() { 
       $.ajax({ 
        type: "GET", 
        url: "/FirstServlet", 
        success: function() { 
         window.alert("Success"); 
        }, 
       }); 
      }); 
     }); 
    </script> 
</head> 
<body> 
<%int age = 34;%> 
<%String name = "Daniel"; %> 
<%String numberOfProject = "first";%> 
<span id="myspan">My name is <%=name%> and I'm <%=age%> years old. This is my <%=numberOfProject%> jsp project.</span> 
</body> 
</html> 

Et ceci est mon Servlet générée par servlet Intellijpackage;

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.io.IOException; 

/** 
* Created by molnard on 2017. 06. 13.. 
*/ 
@WebServlet(name = "FirstServlet") 
public class HttpServlet extends javax.servlet.http.HttpServlet { 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    } 
} 

Je peux voir cette erreur sur Consol du navigateur: `

GET http://localhost:8080/FirstServlet 404()

Ceci est ma structure de projet

enter image description here

+0

Essayez changer l'URL en '/ learningjsp/FirstServlet'. –

+0

Merci, mais je reçois toujours cette erreur: http: // localhost: 8080/learningjsp/FirstServlet 404() – user3057944

+0

J'ai essayé également /learnjsp/FirstServlet, /learnjsp/servlet/FirstServlet, /servlet/FirstServlet mais dans tous les cas, j'ai eu une erreur 404. – user3057944

Répondre

0

Votre annotation @WebServlet(name = "FirstServlet") n'a pas tendance URL.

Vous pouvez essayer d'ajouter modèle url:

@WebServlet(name = "MyOwnServlet", urlPatterns = "/FirstServlet") 

Ou comme ceci:

@WebServlet("/FirstServlet") 

Enfin, vous pouvez accéder à chaque fois que vous voulez à l'aide contextPath:

${pageContext.request.contextPath}/FirstServlet

+0

Merci, ça marche! – user3057944