HttpServletRequest
程序员文章站
2024-02-04 14:15:22
...
HttpServletRequest
1、请求行
Get http://localhost:8080/day09/servlet/req1?username=zs http/1.1
getMethod(); 获得请求方式
getRequestURL();返回客户端发出请求时的完整URL。
getRequestURI(); 返回请求行中的资源名部分。
getContextPath(); 当前应用的虚拟目录 /day09_01_request
getQueryString() ; 返回请求行中的参数部分。
System.out.println(request.getMethod());
System.out.println(request.getRequestURL());
System.out.println(request.getRequestURI());
System.out.println(request.getContextPath());
System.out.println(request.getQueryString());
3、请求正文(重要)
与获取表单数据相关的方法
getParameter(name) 根据表单中name属性的名,获取value属性的值方法
getParameterValues(String name)专业为复选框取取提供的方法
getParameterNames() 得到表单提交的所有name的方法
getParameterMap 到表单提交的所有值的方法 //做框架用,非常实用
getInputStream 以字节流的方式得到所有表单数据
<body>
<form action="/day03_request/servlet/demo01" method="post">
用户名:<input type="text" name="username"><p>
密码:<input type="password" name="pwd"><p>
性别:<input type="radio" name="sex" value="男" checked="checked">男
<input type="radio" name="sex" value="女">女<p>
爱好:<input type="checkbox" name="hobby" value="听歌">听歌
<input type="checkbox" name="hobby" value="睡觉">睡觉
<input type="checkbox" name="hobby" value="看电影">看电影<p>
城市:<select name="city">
<option>.....请选择.....</option>
<option value="bj">北京</option>
<option value="shh">上海</option>
<option value="sz">深圳</option>
</select><p>
<input type="submit" value="注册">
</form>
</body>
String name=request.getParameter("username");
String pwd=request.getParameter("pwd");
String sex=request.getParameter("sex");
String[] hobbys=request.getParameterValues("hobby");
String city=request.getParameter("city");
System.out.println(name);
System.out.println(pwd);
System.out.println(sex);
for(int i=0;hobbys!=null&&i<hobbys.length;i++){
System.out.print(hobbys[i]+"\t");
}
System.out.println();
System.out.println(city);
与操作非表单数据相关的方法(request也是一个域对象)
* void setAttribute(String name, Object value);
* Object getAttribute(String name);
Void removeAttribute(String name);
与请求转发相关的方法
//得到请求转发或请求包含的协助对象
RequestDispatcher getRequestDispatcher(String path).forward(ServletRequest request, ServletResponse response) //转发的方法
RequestDispatcher getRequestDispatcher(String path).include(ServletRequest request, ServletResponse response) //请求包含
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("啦啦啦啦");
request.setAttribute("name", "tom");
//请求转发
request.getRequestDispatcher("/servlet/demo03").forward(request, response);
//请求包含 //request.getRequestDispatcher("/servlet/demo03").include(request, response);
System.out.println("大家好");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("你好");
System.out.println(request.getAttribute("name"));
}
与请求编码相关的方法:
//解决post方式编码
request.setCharacterEncoding(“UTF-8”); //告诉服务器客户端什么编码,只能处理post请求方式
//解决get方式编码
String name = new String(name.getBytes(“iso-8859-1”),”UTF-8”);
上一篇: 开源框架索引中extensions和vendors的理解
下一篇: ps制作非常漂亮的火红枫叶