赞
踩
- String getParameter(String name):通过指定名称获取参数值
-
- String[] getParameterValues(String name):通过指定名称获取参数值数组,有可能一个名字对应多个值,例如表单中的多个复选框使用相同的name时。
-
- Enumeration getParameterNames(): 获取所有参数的名字
-
- Map getParameterMap():获取所有参数对应的Map,其中key为参数名,value为参数值。
方式:GET和POST
GET:
(1)地址栏中直接给出参数:http://localhost/param/ParamServlet?a1=aa&a2=a2
(2)超链接中给出参数:
- <h1>链接请求</h1>
- <a href="/HelloWord_war_exploded/hello?name=张三">点击</a>
(3)表单中给出的参数:<form method="GET" acton="paramservelt">....</form>
POST:
(1)表单中给出的参数:<form method="GET" acton="paramservelt">....</form>
- <h1>表单提交</h1>
- <form action="/HelloWord_war_exploded/hello?" method="get">
- 姓名:<input type="text" name="name"><br>
- 年龄:<input type="text" name="age"><br>
- 爱好:
- <input type="checkbox" value="1" name="favor">篮球
- <input type="checkbox" value="2" name="favor">足球
- <input type="checkbox" value="3" name="favor">游泳
- <br>
- <input type="submit" value="提交">
- </form>
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
-
- public class Test01 extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- /*
- *单值接收
- * */
- // 根据请求中的key来获得值
- String name = req.getParameter("name");
- String age = req.getParameter("age");
- // 不适合接收多选,他只能接收到多选中的第一个
- // String favor = req.getParameter("favor");
- System.out.println(name);
- System.out.println(age);
-
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req,resp);
- }
- }

-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
-
- public class Test01 extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-
- /*
- *多值接收
- * */
- // 接收多选
- String[] favors = req.getParameterValues("favor");
- for (String val : favors) {
- System.out.println(val);
- }
-
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req,resp);
- }
- }

-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.Enumeration;
-
- public class Test02 extends HttpServlet {
- /*
- * getParameterNames用于获得表单中文本域的所有的name,适合动态表单
- * */
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- // 获得表单中所有文本域的name
- Enumeration<String> names = req.getParameterNames();
- while (names.hasMoreElements()) {
- // 获得每个文本域的name
- String s = names.nextElement();
- // 根据文本域的name来获得值
- String[] values = req.getParameterValues(s);
- for (String value : values) {
- System.out.println(value);
- }
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req,resp);
- }
- }

-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.Enumeration;
- import java.util.Map;
- import java.util.Set;
-
- public class Test03 extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- // 获得表单中所有文本域的name和值,以map方式存储
- Map<String, String[]> map = req.getParameterMap();
- // 获得map的key(就是表单中文本域的name集合)
- Set<String> set = map.keySet();
- for (String name : set) {
- // 获得每个文本域所对应的值
- String[] vals = map.get(name);
- System.out.println(name);
- for(String val : vals) {
- System.out.println(val);
- }
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req,resp);
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。