request获得参数的两种方式:get、post 共4中!

第一种:

方法:

String name = request.getParameter("name");


传递参数的方式:

get请求传递参数:

1.直接在地址栏给出参数:http://localhost:8080/httprequestdemo/hello3?name=1&age=2


2.a标签的超链接给出参数:

代码:

	fdfsdfdsfdsfds

Java代码:

public class Requst extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		String job = request.getParameter("job");
		System.out.println(name);
		System.out.println(age);
		System.out.println(job);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//定义post方式
		doGet(request, response);
	}
}

post方式:

post方式如果传递参数大概原理和get方式是相同的只不过是放在表单form中了,

HTML代码:


aihao:
nianling :
nianling :
nianling :
favor:
favor: sub :

如果是单值传递的话,,get方式和post方式的Java代码是一样的,

但是如果是传递多值参数的话  Java代码需要更改一下,

否则只能接收到多值参数中的第一个:

java代码需要改一下:

获取代码:

String [] favor = request.getParameterValues("favor");

打印代码:

for(String fav : favor){
    System.out.println(fav);
			}

动态获取表单(不知道name)

     getparameter()

		
		//获取表单中所有文本域的name
		Enumeration names = request.getParameterNames();
		
		//循环获取枚举中所有的内容
		while(names.hasMoreElements()){
			//获取每一个文本域的name
			String name = names.nextElement();
			//根据name获得参数的值
			//为了保证获取到所有的值  因为表单可能是单值  也可能是多值
			String [] values = request.getParameterValues(name);
			//输出参数名和参数值
			System.out.print(name + ":");
			for(String val:values){
				System.out.print(val );
			}
			//换行
			System.out.println();
		}










你可能感兴趣的:(servlet)