2014-11-25 47 views
0

我是絕對新的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

回答

2

你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

相關問題