gpt4 book ai didi

java - Servlet地址不正确

转载 作者:行者123 更新时间:2023-11-28 22:43:37 25 4
gpt4 key购买 nike

我正在尝试创建一个 servlet,并且我正在使用 Tomcat 7。我在 webapps 文件夹中为我的应用程序添加了一个文件夹,它看起来像这样:

--[webapps]
--[agtel]
--[web-inf]
--[classes]
--add.class
--web.xml
--index.html

web.xml 包含:

  <servlet>
<servlet-name>add</servlet-name>
<servlet-class>add</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>add</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>

和 index.html 包含:

<FORM METHOD=GET ACTION="/add">

当我按下提交按钮时,它会尝试访问:

http://localhost:8080/add

这会导致 404 错误。但是如果我把它改成

http://localhost:8080/agtel/add

然后当然是执行applet

所以我尝试将 html 文件中的 URL 更改为

<FORM METHOD=GET ACTION="agtel/add">

但随后它尝试访问:

http://localhost:8080/agtel/agtel/add

为什么现在要添加两次名称?这非常令人困惑,快把我逼疯了。

最佳答案

当您在 HTML 中使用 URL 时,没有前导/它们是相对于当前 URL 的。带前导/它们是绝对的:

<FORM METHOD=GET ACTION="/agtel/add">

<FORM METHOD=GET ACTION="add">

会做你想做的。

我建议您在动态示例(在 JSP 中)的操作路径中添加上下文:

<FORM METHOD=GET ACTION="${pageContext.request.contextPath}/add">

有了它,您将永远不必更改路径,例如,如果您移动文件或复制代码。当然,您需要一个 index.jsp。

关于java - Servlet地址不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657329/

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