gpt4 book ai didi

Java HttpServlet 没有从 backbone.js 获取 GET/POST

转载 作者:行者123 更新时间:2023-11-28 22:30:49 24 4
gpt4 key购买 nike

我是 backbone.js 和前端开发的新手。如果我的问题很愚蠢,请道歉。我搜索了 google 和 stackoverflow,但没有得到答案。这是我的问题。由于我在前端使用 backbone,在后端使用 java,因此我试图通过 backbone 的 collections.fetch() 和 save() 等与 Java Servlet 对话。模型就这么简单:

var Todo = Backbone.Model.extend({
defaults: {
title: '',
completed: false
}
});

var TodosCollection = Backbone.Collection.extend({
model: Todo,
url: '/todo'
});

var todos = new TodosCollection();
todos.fetch();

我在 web.xml 中有

<servlet>
<servlet-name>todo</servlet-name>
<servlet-class>test.web.TodoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>todo</servlet-name>
<url-pattern>/todo</url-pattern>
</servlet-mapping>

对于 TodoServlet.java,我只需使用以下代码来检查它是否获得 GET 和 POST:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
logger.debug("In /todo: doGet");
}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
logger.debug("In /todo: doPost");
}

当我在 Tomcat 上运行它并打开网页时,服务器似乎没有获取 GET。这是正确的方法吗?提前致谢!

最佳答案

调用的 URL 应包含上下文路径,即部署应用程序的路径。这通常是包含应用程序的文件夹的名称或 WAR 文件的名称,不带 .war 扩展名。因此,如果您的应用程序位于文件夹 xxx.war 中,请尝试 url: "/xxx/todo"

同时检查 Firebug 以查看被调用的确切 URL 和来自服务器的响应。

关于Java HttpServlet 没有从 backbone.js 获取 GET/POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19544963/

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