HttpServletRequest对象
1. 常用方法
1.1. 获取参数的常见方法
// 获取客户端请求的完整URL (从http开始,到?前面结束)
String url = req.getRequestURL().toString();
System.out.println(url);
// 获取客户端请求的部分URL (从站点名开始,到?前面结束)
String uri = req.getRequestURI();
System.out.println(uri);
// 获取请求行中的参数部分
String query = req.getQueryString();
System.out.println(query);
//获取客户端的请求方式
String method = req.getMethod();
System.out.println(method.toString());
//获取http版本号
String protocol = req.getProtocol();
System.out.println(protocol.toString());
//获取webapp名字
String contextPath = req.getContextPath();
System.out.println(contextPath);
根据上述代码,在地址框输入
http://localhost:8080/servlet01/ser01?name=tom
可以得到结果
http://localhost:8080/servlet01/ser01
/servlet01/ser01
name=tom
GET
HTTP/1.1
/servlet01
1.2. 获取请求内容的两个重要方法
String name = req.getParameter("name");
String[] hobby = req.getParameterValues("hobby");
System.out.println(name);
System.out.println(Arrays.toString(hobby));
第二个获得的是一个数组,输入链接如下:
http://localhost:8080/servlet01/ser01?name=tom&hobby=play&hobby=music
可以得到结果如下:
tom
[play, music]
HttpServletResponse对象
2. 响应乱码问题
resp.setCharacterEncoding("UTF-8");
resp.setHeader("content-type", "text/html;charset=UTF-8");
resp.getWriter().write("测试");
如果不加上前两句,在客户端的显示会出现乱码问题。