客户端发送请求的方式
1.地址栏直接输入url
2.超链接指定的url
3.表单form的action指定的url
4.js的location.href指定url
如果要想获取http请求的参数就需要明白HttpServletRequest接口,这个接口处理http请求
由容器实现,开发中直接从domethod的参数中获取实例
获取请求参数的方法:
使用HttpServletRequest提供的方法获取参数
getParameter
getParameterValues 返回数组
getParameterNames 获取所有参数名
getParameterMap 获取所有参数名与参数值
如果表单有指定属性enctyoe=“multipart/from-data”,则以上方法无效
超链接来传值
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String gender = request.getParameter("gender");
System.out.println(name);
System.out.println(gender);
System.out.println("--------------------");
String[] names = request.getParameterValues("name");
for (String n : names) {
System.out.println(n);
}
System.out.println("--------------------");
Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
String param = params.nextElement();
System.out.println(param + ":" + request.getParameter(param));
}
System.out.println("--------------------");
Map<String, String[]> map = request.getParameterMap();
Set<String> keys=map.keySet();
for (String key : keys) {
System.out.println(key+":"+map.get(key));
}
}
表单来获取
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("username");
System.out.println(userName);
System.out.println(request.getParameter("userpwd"));
System.out.println(request.getParameter("gender"));
String[] favors = request.getParameterValues("favors");
if (favors != null) {
for (String favor : favors) {
System.out.println(favor);
}
}
System.out.println(request.getParameter("cities"));
System.out.println(request.getParameter("description"));
System.out.println("--------------------");
Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
String param = params.nextElement();
System.out.println(param + ":" + request.getParameter(param));
}
System.out.println("--------------------");
Map<String, String[]> map = request.getParameterMap();
Set<String> keys=map.keySet();
for (String key : keys) {
System.out.println(key+":"+map.get(key));
}
}
request.setCharacterEncoding(“UTF-8”);解决中文乱码问题,且要加载最前面