HttpServletRequest对象代表顾客端的恳求,当顾客端通过HTTP合同访问服务器时linux tomcat 中文乱码,HTTP恳求头中的所有信息都封装在这个对象中,开发⼈员通过这个对象的⽅法,可以获得顾客这种信息。简单来说linux tomcat 中文乱码,要得到浏览器信息,就找HttpServletRequest对象。
防盗链#
获取Referer这个消息头,判定Referer是不是从指定页面来的。倘若不是从指定页面的,跳转回指定页面。
这可以用于保证页面广告的观看,浏览量等。
Copy@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取消息头
String referer = req.getHeader("Referer");
//判断访问来源
if (referer == null || !referer.contains("/hello.jsp")){
resp.sendRedirect("/hello.jsp");
return ;
}

//确定来源自指定页面后,开放资源
//设置页面编码
resp.setHeader("Content-Type","text/html;charset=UTF-8");
//输出内容
resp.getWriter().write("这是可以访问的资源。。。");
}
直接访问资源
重定向到指定页面
调试模式下可以看见状态码302(被重定向)。
GET方法递交数据#
Copy@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//重定向
resp.sendRedirect("/request/getServlet?username=ling");
}
?后接数据。
Copy@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//请求重定向的 Servlet 為 demoHttpServlet
String username = req.getParameter("username");
System.out.println(username);
}
用Request对象接收指定属性的值linux多线程,并复印验证。
POST方法表单递交数据#
Copy @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置request 字符编码
req.setCharacterEncoding("UTF-8");
//接收数据
//接收单个值
String username = req.getParameter("username");
String password = req.getParameter("password");
String gender = req.getParameter("gender");
String address = req.getParameter("address");

String textarea = req.getParameter("textarea");
//接收多个值
String[] hobbies = req.getParameterValues("hobbies");
//接收隐藏域的值
String myname = req.getParameter("myname");
//控制台输出数据,验证是否接受数据
System.out.println(username);
System.out.println(password);
System.out.println(gender);
for (String hobby : hobbies) {
System.out.print(hobby);
}

System.out.println(" ");
System.out.println(address);
System.out.println(textarea);
System.out.println(myname);
}
相关页面可自行编撰一个表单
这儿须要提醒的是,注意页面的编码问题,否则会出现乱码问题。通常是由于编码问题造成,须要统一编码。
这儿的编码问题和GET方法的有所不同,POST方法递交的数据封装在Request对象里,而GET方法则是保存在消息头中传递到下一个Servlet或则页面中的。因而GET方式的编码问题相对来说有些棘手,由于涉及到Tomcat编码(默认是ISO8859-1)和浏览器编码之间的转换linux解压命令,也可以通过更改Tomcat的编码来实现等等,工作量远比POST方法直接设置Request对象的编码繁杂。为此我给出下边一个建议(真不是我懒不写了):
通常情况下递交数据能使用就使用POST方法递交。