Servlet url-mapping



我有一些问题要了解URL映射如何适用于Servlet。

我在网上观看了大量的教程和帖子,但没有运气。

所以,假设我有一个servlet(welcomeservlet.java(,索引页(index.html(和我的web.xml文件。

weelcomeservlet.java文件在src目录中,而index.html在webcontent中。

我的索引页面将由web.xml调用,并将显示一个按钮,一旦按下,它将将get请求发送到servlet。

问题是,一旦我按下按钮,该页面在URL以外的任何内容都不会更改,该页面从

中脱颖而出

http://localhost:8080/weelcomeservlet

to

http://localhost:8080/weleceservlet/?

这是索引页的主体:

<body>
    <form action = "/WelcomeServlet" method = "get">
    <p><label>Click the button to invoke the servlet
            <input type = "submit" value = "Get HTML Document"/>
    </label></p>
    </form>
</body>

这是web.xml servlet映射:

<servlet>
        <servlet-name>welse</servlet-name>
        <servlet-class>WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
        <servlet-name>welse</servlet-name>
        <url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
        <welcome-file>Index.html</welcome-file>
</welcome-file-list>

我非常有信心问题是在索引表单中的解决方案,但我真的无法将自己的头缠绕在那里。我尝试了几条路径,但没有运气。

你快到了。只需在您的动作中添加../,以便它可以返回一步。目前,它指向与您的HTML文件相同的位置。

<body>
    <form action = "../WelcomeServlet" method = "get">
    <p><label>Click the button to invoke the servlet
            <input type = "submit" value = "Get HTML Document"/>
    </label></p>
    </form>
</body>

假设您的iDE is/src中的默认源目录集,而默认的Web内容目录是/web,则在您的servlet-context中,只需在没有"/"的情况下写下您的servlet名称。确保您的默认Web内容目录是WebContent。之后,从表单中删除"/"。

相关内容

  • 没有找到相关文章

最新更新