ServletRequest
Servlet API 中定义的 ServletRequest 接口类用于封装请求消息。
HttpServletRequest 是专用于HTTP协议的ServletRequest 子接口,它用于封装 HTTP 请求消息。
在 service() 方法内部调用 HttpServletRequest 对象的各种方法来获取请求消息。
1.获取请求参数
String getParmeter(String name):根据请求参数的名字,返回参数值;
若请求参数有多个值:该方法只能获取到第一个提交的值;
- java代码
String user = request.getParameter("user");
String password =request.getParameter("password");
System.out.println(user+","+password);
- HTML代码
<form action="loginServlet" method="post">
user:<input type="text" name="user"/>
password: <input type="password" name="password"/>
<input type="submit" value="Submit">
</form>`
String [] getParameterValues(String name) :根据请求参数的名字,返回请求参数对应的字符串数组;
- java代码
String[] interertings = request.getParameterValues("interesting");
for(String interesting:interertings){
System.out.println("-->"+interesting);
- HTML代码
<form action="loginServlet" method="post">
user:<input type="text" name="user"/>
password: <input type="password" name="password"/>
<br><br>
intererting:
<input type="checkbox" name="interesting" value="shopping"/>shopping
<input type="checkbox" name="interesting" value="game"/>game
<input type="checkbox" name="interesting" value="sport"/>sport
<input type="checkbox" name="interesting" value="party"/>party
<input type="checkbox" name="interesting" value="TV"/>TV
<input type="submit" value="Submit">
</form>
Enumeration getParameterNames(): 返回参数名对应的Enumeration对象;类似于ServletConfig或ServletContex的getInitParamterNames();
Enumeration<String> names = request.getParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String val = request.getParameter(name);
System.out.println("--"+name+":"+val);
}
Map getParamterMap():返回请求参数的键值对;key:参数名;value:参数值;
Map<String,String[]> map = request.getParameterMap();
for(Map.Entry<String,String[]> entry : map.entrySet()){
System.out.println("**"+entry.getKey()+":"+ Arrays.asList(entry.getValue()));
}
ServletResponse:
Servlet API中定义的ServletResponse接口类用于创建响应消息。
HttpServletResponse是专用于HTTP协议的ServletResponse子接口,它用于封装HTTP响应消息。
getWriter():返回PrintWriter对象,调用该对象的Print()方法;将把print中的参数直接打印到客户的浏览器上;
response.setContentType():设置响应的内容类型;