2017-06-13 35 views
0

我试图阻止我的第一个JavaEE项目,但当我尝试在我的HttpServlet上调用GET时,我总是得到404错误。我已经阅读了很多SO帖子和教程,但我无法找到任何解决方案。 这里是我的index.jsp从jsp使用jquery调用带注释的HttpServlet

<%-- 
    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> 

这是Intellijpackage servlet的产生我的servlet;

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 { 

    } 
} 

我可以看到浏览器康寿此错误:`

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

这是我的项目结构

enter image description here

+0

尝试将URL更改为'/ learningjsp/FirstServlet'。 –

+0

谢谢,但我仍然得到这个错误: 的http://本地主机:8080/learningjsp/FirstServlet 404() – user3057944

+0

我也尝试了这些 /learnjsp/FirstServlet, /learnjsp/servlet的/ FirstServlet, /servlet的/ FirstServlet 但在所有情况下,我得到了404错误。 – user3057944

回答

0

@WebServlet(name = "FirstServlet")注释没有URL模式。

你可以尝试添加URL模式:

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

或者只是这样的:

@WebServlet("/FirstServlet") 

最后,您可以访问,无论你想使用的contextPath:

${pageContext.request.contextPath}/FirstServlet

+0

谢谢,它的工作原理! – user3057944