0

为了练习,我编写了一个简单的网页,它将向用户显示一个下拉菜单。用户将选择一个数字并点击Submit按钮。

之后,servlet 将被执行并返回一个偶数列表。

在此处输入图像描述

查看网页浏览器地址栏中的地址,是:

http://localhost:8080/FindEvenOdd/FindEvenOdd

我希望它是http://localhost:8080/FindEvenOdd/Result

我怎么做 ?
我的 DD 看起来像这样:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    web-app_2_4.xsd"
    version="2.4">

    <servlet>
        <servlet-name>Evens</servlet-name>
        <servlet-class>FindIt</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Evens</servlet-name>
        <url-pattern>/FindEvenOdd</url-pattern>
    </servlet-mapping>
</web-app>  

我的 HTML:

<html>
    <head>
        <title> List of Even/Odd Numbers </title>
    </head>

    <body>
        <form method="POST" action="FindEvenOdd">
        <center>
            <select name="number" size="1">
                <option> <50
                <option> <100
                <option> <150
            </select>
        </center>
            <center>
                <input type="SUBMIT">
            </center>
        </form>
    </body>
</html>  

我试过的

  • 我改变action="FindEvenOdd"action="Result"
  • 我将<url-pattern>结果更改为

  • 我同时做了上述两件事,但得到了 404。
    那么,
    我该怎么做才能得到http://localhost:8080/FindEvenOdd/Result

    4

    3 回答 3

    2

    将 url 模式更改为/FindEvenOdd/Result并尝试

    于 2013-02-02T12:07:42.927 回答
    2

    您尝试的几乎是正确的。url-pattern必须设置/Result为。

    一些注意事项:

    • 总是把你的课程放在一个包里。不在默认包中
    • 生成有效的 HTML5。center是一个不应该长时间使用的标签,并且您的选择框是无效的 HTML。
    • 学习 servlet 3.0 而不是 servlet 2.4。
    于 2013-02-02T08:28:59.783 回答
    0

    为了更改 URL,您需要在 servlet 中进行重定向。

    String contextPath = request.getContextPath();
    response.sendRedirect(response.encodeRedirectURL(contextPath + "/Result") );
    
    于 2013-02-02T08:38:59.973 回答