如何检索Http请求参数的值到Servlet中?

如何检索Http请求参数的值到Servlet中?

问题描述:

我是绝对新的J2EE和这个,如果我的第一次,我实现一个的HttpServlet如何检索Http请求参数的值到Servlet中?

在我的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> 

所以这个servlet执行/salwf.do/*模式到HTTP请求中。

进入我的servlet的服务()方法,我发现类似的东西:

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

那么究竟做这行?我认为它在HTTP请求中检索名为serv的GET参数的值。

因此,举例来说,如果在我的浏览器我把类似的东西:

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

它检索SERV参数的值“1”?

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

TNX

+1

所有领域(在jsp中)信息和URL字段将被传输,并使请求对象成为'参数',如果明确地设置了任何其他信息,那么这将作为'属性'提供。 – hemanth 2014-11-25 11:10:32

+1

完全正确;也可用于表单输入的POST。当没有这样的参数时'null'。 arr = 2&sarr = 3&arr = 5'使用'string [] req.getParameterValues(“arr”)' – 2014-11-25 11:11:44

你corrrect,如果你有里边反GET参数?serv=1req.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