Request_获取请求头数据和Request_获取请求体数据
Request_获取请求头数据:
获取请求头数据
方法:
1.(*)String getHeader(String name):通过请求头的名称获取请求头的值
2.Enumeration<String> getHeaderNames():获取所有的请求头名称
代码实现:
@WebServlet("/requestDemo1")
public class RequestDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//演示获取请求头数据
//1、获取所有请求头名称
Enumeration<String> headerNames = request.getHeaderNames();
//2、遍历
while (headerNames.hasMoreElements()){
String name = headerNames.nextElement();
//根据名称获取请求头
String value = request.getHeader(name);
System.out.println(name+"-----"+value);
}
//获取请求头数据:user-agent
String header = request.getHeader("user-agent");
//判断header的浏览器版本
if(header.contains("Chrome")){
//谷歌
System.out.println("谷歌");
}else if (header.contains("Firofox")){
//火狐
System.out.println("火狐");
}
//演示获取请求头数据:referer
String referer = request.getHeader("referer");
System.out.println(referer);
//防盗链
if (referer!=null){
if (referer.contains("/")){
//正常访问
// System.out.println("播放");
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("播放");
}else {
//盗链
System.out.println("去首页");
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("播放");
}
}
}
}
login.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/demo3" method="post"> <input name="username"> <input type="submit" value="提交"> </form> <hr> <a href="/requestDemo1">requestdemo1</a> </body> </html>
Request_获取请求体数据:
获取请求体数据:
请求体:只有POST请求方式,才有请求体,在请求体中封装了POST请求的请求参数
步骤:
1.获取流对象
BufferedReader getReader():获取字符输入流,只能操作字符数据
ServletInputStream getInputSream():获取字符输入流,可以操作所有类型的数据
1.在文件上传知识后讲解
代码实现:
@WebServlet(name = "RequestDemo5", value = "/RequestDemo5") public class RequestDemo5 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取请求消息体--请求参数 //1.获取字符流 BufferedReader br = request.getReader(); //2.读取数据 String line = null; while ((line = br.readLine())!= null){ System.out.println(line); } } }
regist.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="RequestDemo5" method="post"> <input type="text" placeholder="请输入用户名" name="username"><br> <input type="text" placeholder="请输入密码" name="password"><br> <input type="submit" value="注册"> </form> </body> </html>
浙公网安备 33010602011771号