【问题标题】:Servlet url-mappingServlet url 映射
【发布时间】:2017-09-21 05:55:31
【问题描述】:

我在理解 servlet 的 url 映射如何工作时遇到了一些问题。

我在网上观看了大量教程并在这里发帖,但没有运气。

假设我有一个 servlet (WelcomeServlet.java)、一个索引页面 (index.html) 和我的 web.xml 文件。

WelcomeServlet.java 文件位于 src 目录中,而 index.html 位于 WebContent 目录中。

我的索引页面将被 web.xml 调用,并显示一个按钮,一旦按下该按钮,就会向 servlet 发送一个 get 请求。

问题是,一旦我按下按钮,页面在 url 旁边的任何内容都不会改变,来自

http://localhost:8080/WelcomeServlet

http://localhost:8080/WelcomeServlet/?

这是索引页的正文:

<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>

我很确定问题出在索引表单操作中的寻址,但我真的不知道应该放什么。我尝试了几条路径,但没有运气。

【问题讨论】:

  • 去掉前面的“/”应该没问题;)
  • 我必须在复制代码时修复了一些问题,因为这就像我大约 3 小时前所做的第一件事一样。我不知道为什么它以前不能工作,但非常感谢无论如何:D
  • 这个问题的答案可能会有所帮助:stackoverflow.com/q/234210/6069
  • 这个问题现在解决了吗?
  • 是的,Rene M. 解决了这个问题。我试图选择他的评论作为答案,但恐怕我只能用实际答案来做到这一点

标签: java servlets servlet-mapping


【解决方案1】:

假设您在 IDE 中设置的默认源目录是 /src,而您的默认 Web 内容目录是 /web,那么在您的 servlet-context 中只写您的 servlet 名称,不带“/”。确保您的默认 Web 内容目录是网页内容。然后从表单的 action 属性中删除“/”。

【讨论】:

    【解决方案2】:

    你快到了。只需在您的操作中添加 ../ ,这样它就可以后退一步。目前,它指向与您的 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>
    

    【讨论】:

      猜你喜欢
      • 2012-01-20
      • 1970-01-01
      • 2018-11-24
      • 2011-07-09
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      相关资源
      最近更新 更多