如何将Http Request参数的值检索到Servlet中?

时间:2014-11-25 10:59:25

标签: java java-ee servlets httprequest

我绝对是J2EE的新手,如果我第一次实现 HttpServlet

在我的 web.xml 文件中,我推出了以下配置:

<servlet>
    <servlet-name>salwf</servlet-name>
    <servlet-class>it.sistinf.ediweb.monitor.servlets.Salwf</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>salwf</servlet-name>
    <url-pattern>/salwf.do/*</url-pattern>
</servlet-mapping>

因此,将 /salwf.do / * 模式的servlet执行到HTTP REQUEST中。

进入我的servlet的 service()方法,我找到了类似的东西:

String service = req.getParameter("serv");

那么这一行到底是什么?我认为它在HTTP请求中检索名为 serv 的GET参数的值。

例如,如果在我的浏览器中我放了类似的东西:

http://localhost:7001/salwf.do/myPage?serv=1

检索&#34; 1&#34; serv 参数的值?

这是正确的还是我错过了什么?

TNX

1 个答案:

答案 0 :(得分:2)

如果你有GET参数?serv=1,那么req.getParameter("serv")会将参数的值(在本例中为1)作为字符串返回。

因此,如果您执行的操作是String service = req.getParameter("serv");,并且请求的GET参数类似于此?serv=1,那么service的值现在为"1"

在您的情况下,<servlet-mapping>中的web.xml不正确。您应该在/*

之后删除/sawlf.do

看起来像这样:

<servlet-mapping>
    <servlet-name>salwf</servlet-name>
    <url-pattern>/salwf.do</url-pattern>
</servlet-mapping>

然后,如果要向servlet发送请求,则url应如下所示: http://localhost:7001/salwf.do?serv=1