gpt4 book ai didi

Java JSP Jquery AJAX Servlet

转载 作者:行者123 更新时间:2023-12-02 11:54:28 25 4
gpt4 key购买 nike

更新

我不同意建议问题的答案将直接适用于这个问题,因为我使用的是非标准目录结构。

/opt/tomcat/webapps/nothing/
/public/
/views/
/home/
home.jsp
/nothing/
nothing01.jsp
/partials/
header.jsp
footer.jsp
/logic/
/nothing/
nothing01.js
nothing01test.java
nothing01test.class
/resources/
/WEB-INF/
web.xml

我在尝试使用 Jquery AJAX 在我的应用程序中使用 JSP Servlet 时遇到了一些困惑。

我很可能错过了一个步骤(或者完全错误)。

我有我的看法

/public/view/nothing/nothing01.jsp

<% include file="../partials/header.jsp" %>
<button id="buttTest">Test</button>
<% include file="../partials/footer.jsp" %>

它链接到一个 Javascript 文件,该文件旨在对我的 Java Servlet 进行 Jquery AJAX 调用

/public/logic/nothing/nothing01.js

$(document).ready(function() {
$("#buttTest").on("click", function() {
ajaxTest();
});
});

function ajaxTest() {

$.ajax ({
url : "nothing01test",
type : "GET",
cache : false,
dataType : "json",
success : function(results) {
console.log("success");
console.log(JSON.stringify(results));
},
error : function(results) {
console.log("error");
console.log(JSON.stringify(results));
}
});

}

然后我就有了源代码并编译了 Java Servlet

/public/logic/nothing/nothing01test.java
/public/logic/nothing/nothing01test.class

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class nothing01test extends HttpServlet {
protected void doGet (
HttpServletRequest request,
HttpServletResponse response
) throws
ServletException,
IOException
{
PrintWriter out = response.getWriter();
out.println("AJAX RESPONSE");
}
}

编译工作正常,没有任何错误,但我不确定如何使其可用于 Jquery AJAX 请求,因为该请求响应时出现 404 未找到错误。如果我尝试指定 AJAX url 来指向 java 和类文件,它只会提取内容而不是执行。

更新

我将包含 web.xml 文件以防万一

/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">

<display-name>Java Web App</display-name>
<description>
Welcome to Java Web App
</description>

<welcome-file-list>
<welcome-file>public/views/home/home.jsp</welcome-file>
</welcome-file-list>

</web-app>

最佳答案

您的 AJAX 调用不正确,请尝试用下面的代码替换它

$(document).ready(function() {
$("#buttTest").on("click", function() {
ajaxTest();
});
});

function ajaxTest() {
$.ajax({
url : "nothing01test",
type : "GET",
cache : false,
dataType : "json",
success : function(results) {
console.log("success");
console.log(JSON.stringify(results));
},
error : function(results) {
console.log("error");
console.log(JSON.stringify(results));
}
});
}

关于Java JSP Jquery AJAX Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com