java - 网址映射问题

标签 java url tomcat mapping

我有一个名为 notebook.war 的 .war 文件。我正在使用 tomcat 部署它,将其放入 webapps 目录,然后启动 tomcat。

有一个带按钮的表单

<form id="jform" method="post" action="/add">

还有一个servlet,映射到web.xml

<servlet>
    <servlet-name>Create</servlet-name>
    <servlet-class>controller.CreateServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Create</servlet-name>
    <url-pattern>/add</url-pattern>
</servlet-mapping>

我启动 tomcat,在浏览器中写入 localhost:8080/notebook 并转到主页面,然后我转到页面 http://localhost:8080/notebook/add.html通过主页上的链接。页 http://localhost:8080/notebook/add.html包含该表格,提交后我转到 http://localhost:8080/add而不是 http://localhost:8080/notebook/add .

甚至在我将/add 重新映射到/notebook/add 之后,在 servlet 映射和表单操作标记中,我转到了 http://localhost:8080/add提交表格后。

如何制作http://localhost:8080/notebook/add而不是 http://localhost:8080/add

最佳答案

您需要定义您的 <form>作为

<form id="jform" method="post" action="add">

注意,action如何属性没有前导 /这就是让您的客户转到网站的根目录的原因,即localhost:8080/然后 add .

当您指定 action作为add , 它相对于当前 URL 的上下文根 进行解释,即 /notebook因此使客户发布/notebook/add .

关于java - 网址映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28658496/

相关文章:

javascript - 当我通过 AJAX 管理我的网站时如何更新我的 URL?

tomcat - AXIS2 网络服务客户端 java.net.SocketException : Connection reset

java - Tomcat 未加载 MSSQL 驱动程序

java - LibGDX - 循环调整射速的最佳方式

java - Volley android java.lang.NullPointerException

xml - URL 在 XML 中被视为无效

python - 获取当前网址

jsp - tomcat-users.xml 文件的动态配置

java - JPanel 和 PaintComponent

java - 抑制 Maven 依赖插件的 "Unused declared dependencies found"警告