请求:
接口HttpServletRequest表示Http环境中的Servlet请求。它扩展javax.servlet.ServletRequest
常用方法:
(1)String getParameter(String name)根据表单组件名称获取提交数据,返回值是String 注意:服务器在接收数据时使用字符串统一接收
(2)String[] getParameterValues(String name)获取表单组件对应多值时的请求数据。
(3)void setCharacterEncoding(String charset)指定每个请求的编码(针对post请求有用)
(4)RequestDispatcher getRequestDispatcher(String path)跳转页面
RequestDispatcher对象,该对象的forword()方法用于转发请求
(5)存值request.setAttribute(“key”,value)
(6)取值:request.getAttribute(“key”);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="testUser" method="post">
姓名<input type="text" name="na"><br>
学校<input type="text" name="school">
爱好:<input type="checkbox" name="aihao" value="打球">打球
<input type="checkbox" name="aihao" value="跆拳道">跆拳道
<input type="checkbox" name="aihao" value="散打">散打
<input type="checkbox" name="aihao" value="跑步">跑步
提交按钮 <input type="submit">提交
</form>
<a href="testUser?pass=abc&age=12" name="lianjie">点击链接</a>
</body>
</html>
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 防止乱码
req.setCharacterEncoding("utf-8");
String na = req.getParameter("na");
String school = req.getParameter("school");
System.out.println(na+school);
String[] aihaos = req.getParameterValues("aihao");
for (String aihao:aihaos
) {
System.out.println(aihao);
}
// String a1="abc";
//存值
req.setAttribute("key1","ddd");
//取值
System.out.println(req.getAttribute("key1"));
//跳转页面
req.getRequestDispatcher("/Index1.html").forward(req,resp);
}
响应:
在Service API中,定义一个HttpServletResponse接口,它继承ServletResponse接口,专门用来封装Http响应消息。在HttpServletResponse接口中定义了向客户端发送响应状态码,响应消息头,响应消息体的方法。
常用方法:
(1)void addCookie(Cookie var1);给响应一个cookie
(2)void sendRedirect(String var1);发送一个响应码,将浏览器跳转到指定位置
(3)PrintWriter getWriter()获取字符流,通过字符流的write(String s)方法可以将字符串设置到response缓冲区中,随后Tomcat会将response缓冲区中的内容组装成Http响应返回给浏览器端。
(4)setConType()设置相应内容的类型。
resp.setContentType("text/html"); //设置相应的内容
resp.sendRedirect("/index.jsp");//跳转页面
resp.addCookie();//设置Cookie
PrintWriter writer=resp.getWriter();//得到一个可以给前端输出信息的输出对象