• Servlet的request应用案例


    request部分用法如代码:

    AServlet

     1 package cn.yzu;
     2 import java.io.IOException;
     3 import javax.servlet.ServletException;
     4 import javax.servlet.http.HttpServlet;
     5 import javax.servlet.http.HttpServletRequest;
     6 import javax.servlet.http.HttpServletResponse;
     7 public class AServlet extends HttpServlet {
     8 
     9     public void doGet(HttpServletRequest request, HttpServletResponse response)
    10             throws ServletException, IOException {
    11         //演示简单用法
    12         System.out.println("访问的IP地址:"+request.getRemoteAddr());
    13         System.out.println("请求方法:"+request.getMethod());
    14         System.out.println("操作系统浏览器信息:"+request.getHeader("User-Agent"));
    15         System.out.println("项目名:"+request.getContextPath());
    16         //可用于防盗链,只会显示通过链接点击进入该servlet的请求路径,如果在浏览器地址栏直接输入则输出null
    17         System.out.println("请求来自:"+request.getHeader("Referer"));
    18         System.out.println("用户名:"+request.getParameter("username"));
    19         
    20         /**
    21          * 演示请求转发(留头不留体),如果是请求包含(request.getRequestDispatcher("BServlet").include(request, response))
    22          * 则留头又留体
    23          */
    24         System.out.println("AServlet被访问到");
    25         response.setHeader("aaa", "AAA");//响应头
    26         response.getWriter().println("AServlet..............................");//响应体
    27         //request域
    28         //需要在下一个Servlet中获取request域中的数据,必须要使用转发
    29         request.setAttribute("bbb", "BBB");
    30         //请求转发只能转发到本项目的其他servlet,不可转发到其他项目(比如百度),但是重定向可以重定向到其他项目
    31         //请求转发是服务器端行为,只需给出转发的Servlet路径,而重定向需要给出requestURI,即包含项目名!
    32         //需要地址栏发生变化,那么必须使用重定向!
    33         request.getRequestDispatcher("BServlet").forward(request, response);
    34     }
    35 }
    View Code

    BServlet

     1 package cn.yzu;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 public class BServlet extends HttpServlet {
    11     public void doGet(HttpServletRequest request, HttpServletResponse response)
    12             throws ServletException, IOException {
    13         response.getWriter().println("BServlet..............................");
    14         response.getWriter().println(request.getAttribute("bbb"));
    15     }
    16 
    17 
    18 }
    View Code

    控制台输出:

    页面输出:

    补充:request获取请求路径相关的方法

  • 相关阅读:
    CentOS上安装Mysql+PHP-fpm+Nginx
    CentOS查看端口
    QTP卷土重来之一录制脚本
    Windows Application 自动化测试之QTP卷土重来
    JAVA Appium自动化测试入门
    iOS自动化遇到坑的解决方式
    将一个字符串形式的字典转化为字典
    【python】接口测试中的异步调用
    【python】接口自动化测试中,如何校验json返回数据的格式是否正确
    【python】接口自动化测试中,json解析神器jsonpath
  • 原文地址:https://www.cnblogs.com/fengmingyue/p/5991047.html
Copyright © 2020-2023  润新知