1

我想做这样的事情:

localhost:7001/servlet/character?name=zombies

我试过这样做:

<servlet-mapping>
    <servlet-name>zombies</servlet-name>
    <url-pattern>/character?name=zombies</url-pattern>
</servlet-mapping>

但它不起作用并且给我未找到的错误。关于如何做的任何建议或解决方案?

4

3 回答 3

1

您的?name=zombiesurl-pattern 部分不应在web.xml. 它是一个查询参数,实际上并不是 servlet 安装点的一部分。您需要name通过request.getParameter("name").

于 2012-09-27T22:24:48.757 回答
0

如果您想将参数传递给您的 servlet,请这样做

<servlet>
    <servlet-name>zombies</servlet-name>
    <servlet-class>com.ZombiesDemo</servlet-class>

    <init-param>
        <param-name>name</param-name>
        <param-value>zombies</param-value>
    </init-param>
</servlet>


<servlet-mapping>
    <servlet-name>zombies</servlet-name>
    <url-pattern>/character</url-pattern>
</servlet-mapping>

这可以在 ZombiesDemo.java servlet 中检索为

public void init(ServletConfig servletConfig) throws ServletException{
  String name = servletConfig.getInitParameter("name");
  }
于 2012-09-28T05:55:02.853 回答
0

您正在尝试将查询字符串附加到后面的内容与您的URL 模式。URL 模式旨在映射您的 servlet 类。如果您可以在地址栏中传递查询字符串。

于 2012-09-27T22:33:39.080 回答