【问题标题】:Call annotated HttpServlet from jsp with jquery使用 jquery 从 jsp 调用带注释的 HttpServlet
【发布时间】:2017-06-13 08:43:35
【问题描述】:

我尝试执行我的第一个 JavaEE 项目,但是当我尝试在我的 HttpServlet 上调用 GET 时,我总是遇到 404 错误。我已经阅读了很多 SO 帖子和教程,但我找不到任何解决方案。 这是我的 index.jsp

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

    }
}

我可以在浏览器控制台上看到这个错误:`

GEThttp://localhost:8080/FirstServlet404()

这是我的项目结构

【问题讨论】:

  • 尝试将 URL 更改为 /learningjsp/FirstServlet
  • 谢谢,但我仍然收到此错误:localhost:8080/learningjsp/FirstServlet404 ()
  • 我也尝试了这些 /learnjsp/FirstServlet、/learnjsp/servlet/FirstServlet、/servlet/FirstServlet,但在所有情况下我都收到 404 错误。

标签: jquery ajax jsp servlets java-ee-6


【解决方案1】:

您的@WebServlet(name = "FirstServlet") 注释没有网址格式。

您可以尝试添加 url 模式:

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

或者像这样:

@WebServlet("/FirstServlet")

最后,你可以使用 contextPath 访问任何你想访问的地方:

${pageContext.request.contextPath}/FirstServlet

【讨论】:

    猜你喜欢
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 2021-03-28
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多