标签:referer game 定义 his pop throws ebs res err
ServletRequest --接口
|继承
HttpServletRequest --接口
|实现
org.apache.catalina.connector.RequestFacade 类(Tomcat)
package cn.itcast.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet({"/d4","/dd4","/ddd4","/demo4"})
//@WebServlet("/user/demo4")
//@WebServlet("*.do")
//*是指通配符
public class ServletDemo4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("demo4.....");
System.out.println(req);
}
}
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 演示request对象获取请求行数据
*/
@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.获取请求方式:GET
* String getMethod()
2.(*)获取虚拟目录:/day14
* String getContextPath()
3.获取Servlet路径:/demo1
*String getServletPath()
4.获取get方式请求参数:name=zhangsan
* String getQueryString()
5.(*)获取请求url:/day14/demo1
* String getRequestURI() /day14/demo1l
* StringBuffer getRequestURL() :http://localhost/day14/demo1
6.获取协议及版本:HTTP/1.1
* String getPortocol()
7.获取客户机的IP地址
* String getRemoteAddr()
*/
//1.获取请求方式:GET
String method=request.getMethod();
System.out.println(method);
//2.(*)获取虚拟目录:/day14
String contextPath=request.getContextPath();
System.out.println(contextPath);
//3.获取Servlet路径:/demo1
String servletPath=request.getServletPath();
System.out.println(servletPath);
//4.获取get方式请求参数:name=zhangsan
String queryString =request.getQueryString();
System.out.println(queryString);
// 5.(*)获取请求url:/day14/demo1
String requestURI =request.getRequestURI();
StringBuffer requestURL=request.getRequestURL();
System.out.println(requestURI);
System.out.println(requestURL);
// 6.获取协议及版本:HTTP/1.1
String protocol=request.getProtocol();
System.out.println(protocol);
// 7.获取客户机的IP地址
String remoteAddr=request.getRemoteAddr();
System.out.println(remoteAddr);
}
}
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
@WebServlet("/RequestDemo2")
public class RequestDemo2 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);
}
}
}
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/RequestDemo3")
public class RequestDemo3 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// //演示请求头数据
// String agent=request.getHeader("user-agent");
// //判断agent的浏览器版本
// if(agent.contains("Chorme")){
// //谷歌
// System.out.println("谷歌来了.....");
// }else if(agent.contains("Firefox")){
// //火狐
// System.out.println("火狐来了.....");
// }
//演示请求头数据 referer
String referer = request.getHeader("referer");
System.out.println(referer);
//防盗链
if (referer != null) {
if (referer.contains("/04_Request_war_exploded")) {
//正常访问
// 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("想看电影么,来......");
}
}
}
}
-------------------------页面----------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/04_Request_war_exploded/RequestDemo5" method="post">
<input type="text" placeholder="请输入用户名" name="username"><br>
<input type="text" placeholder="请输入密码" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
-------------------------java--------------------
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
@WebServlet("/RequestDemo5")
public class RequestDemo5 extends HttpServlet {
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);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
-----------------------------index.jsp------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/04_Request_war_exploded/RequestDemo6" method="get">
<input type="text" placeholder="请输入用户名" name="username"><br>
<input type="text" placeholder="请输入密码" name="password"><br>
<input type="checkbox" name="hobby" value="game">游戏
<input type="checkbox" name="hobby" value="study">学习
<br>
<input type="submit" value="注册">
</form>
</body>
</html>
-------------------------------java---------------------------------
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;
@WebServlet("/RequestDemo6")
public class RequestDemo6 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// post 获取请求参数
// 根据参数名称获取参数值
String username = request.getParameter("username");
// System.out.println("post");
// System.out.println(username);
//根据参数名称获取参数值的数组
String[] hobbies = request.getParameterValues("hobby");
// for (String hobby : hobbies) {
// System.out.println(hobby);
// }
// 获取所有请求的参数值名称
Enumeration<String> parameterNames = request.getParameterNames();
// while (parameterNames.hasMoreElements()) {
// String name = parameterNames.nextElement();
// System.out.println(name);
// String value = request.getParameter(name);
// System.out.println(value);
// System.out.println("-----------------------------------------");
// }
// 获取所有参数的map集合
Map<String, String[]> parameterMap = request.getParameterMap();
// 遍历
Set<String> keyset = parameterMap.keySet();
for (String name : keyset) {
//获取键获取值
String[] values = parameterMap.get(name);
System.out.println(name);
for (String value : values) {
System.out.println(value);
}
System.out.println("---------------------------------------");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get 获取请求参数
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username);
this.doPost(request, response);
}
}
---------------------存储转发---------------------------
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/RequestDemo8")
public class RequestDemo8 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo8888被访问了.....");
//存储数据到request域中
request.setAttribute("msg", "hello");
//转发到demo9资源
// RequestDispatcher requestDispatcher = request.getRequestDispatcher("/RequestDemo9");
// requestDispatcher.forward(request, response);
request.getRequestDispatcher("/RequestDemo9").forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get 获取请求参数
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username);
this.doPost(request, response);
}
}
---------------------提取显示---------------------------
package cn.itcast.web.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/RequestDemo9")
public class RequestDemo9 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取数据
Object msg = request.getAttribute("msg");
System.out.println(msg);
System.out.println("demo9999被访问了.....");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get 获取请求参数
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username);
this.doPost(request, response);
}
}
package cn.itcast.web.request;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/RequestDemo10")
public class RequestDemo10 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取数据
ServletContext servletContext = request.getServletContext();
System.out.println(servletContext);
System.out.println("demo1010被访问了.....");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// get 获取请求参数
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username);
this.doPost(request, response);
}
}
Map<String,String[]> map=req.getParameterMap()或者是一个map集合就可以
User user=new User()
BeanUtils.populate(user,map)//进行转换
标签:referer game 定义 his pop throws ebs res err
原文地址:https://www.cnblogs.com/dongxuelove/p/13040540.html