如何检索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
答
你corrrect,如果你有里边反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
所有领域(在jsp中)信息和URL字段将被传输,并使请求对象成为'参数',如果明确地设置了任何其他信息,那么这将作为'属性'提供。 – hemanth 2014-11-25 11:10:32
完全正确;也可用于表单输入的POST。当没有这样的参数时'null'。 arr = 2&sarr = 3&arr = 5'使用'string [] req.getParameterValues(“arr”)' – 2014-11-25 11:11:44