【问题标题】:App name removes from url when clicking button to open servlet单击按钮打开 servlet 时,应用程序名称从 url 中删除
【发布时间】:2013-11-24 13:08:54
【问题描述】:

我需要简单地从 html 页面调用 servlet,但是当我单击 html 页面上的按钮时,我的应用程序名称会从 url 中删除。

我检查了 web.xml,对我来说似乎很好。 我还通过在浏览器中直接提供目标 URL 来检查 Servlet

HTML 代码:

<body>
    <form action="/bomb" method="get">
        <button type="submit">Send</button>
    </form>
</body>

web.xml

<servlet>
    <servlet-name>MySevlet</servlet-name>
    <servlet-class>bomb.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/bomb</url-pattern>
</servlet-mapping>

Servlet 只是简单地写一个字符串作为响应。

点击按钮前的网址

http://localhost:8080/XYZ/

点击按钮后的网址

http://localhost:8080/bomb?

但正确的网址应该是

http://localhost:8080/XYZ/bomb

【问题讨论】:

    标签: java html servlets web.xml


    【解决方案1】:

    从表单操作中删除 /。它跳过了servletcontext path

    <body>
     <form action="bomb" method="get">
        <button type="submit">Send</button>
     </form>
    </body>
    

    【讨论】:

    • 继续。如果我做对了,这意味着当我写 /bomb 时,我正在告诉 ROOT 搜索 servlet 映射到 ROOT/bomb 。是不是这样。通过 ROOT i 表示服务器的 ROOT
    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 2022-10-02
    • 2016-05-07
    • 2015-10-04
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多