设为首页 加入收藏

TOP

javaWeb_Request对象(二)
2019-09-03 00:52:47 】 浏览:40
Tags:javaWeb_Request 对象
tHeader("User-Agent")); System.out.println("查询所有信息"); Enumeration<String> hn = req.getHeaderNames(); while(hn.hasMoreElements()){ String str=hn.nextElement(); System.out.println(str+req.getHeader(str)); } }

 

 

七.request对象_请求头_通过referer实现防盗链

1.什么是盗链?

通过其他网站访问本网站的一些资源

2.如何防止盗链?

思路

通过网页发送的请求eg.download.jsp

如果download.jsp中的请求,来源于盗链者服务器,我们就显示不可以下载;

如果download.jsp中的请求,来源于正规服务器,我们就显示可以下载;

 

实现

通过referer获取请求头信息

String header=request.getHeader(“referer”);

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String referer = req.getHeader("referer");
    System.out.println(referer);
    if(referer.startsWith("http://localhost:8080/zc/")||referer.startsWith("http://127.0.0.1:8080/zc/")){
        System.out.println("正常连接");
    }else{
        System.out.println("盗链连接");
    }
}

盗链主要通过标红的地方判断

 

八.request对象_获取请求体

接下来说的是无论是get提交还是post提交,即无论请求体中有没有数据,都是可以使用的

1).public String getParameter(String key):获取某个键的值。

    2).public String[] getParameterValues(String key)获取一个键的多个值(复选框、多选下拉列表)

    3).public Map<String,String[]> getParameterMap();获取所有的键值对并封装到一个Map.

    4).public void setCharacterEncoding(String charsetName):设置request的解码方式如果参数中有中文

                                       需要使用:"UTF-8"。

 

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //获取请求体信息
    System.out.println("获取请求体信息");
    String username = req.getParameter("username");
    String password = req.getParameter("password");

    System.out.println("username:"+username);
    System.out.println("password:"+password);

    System.out.println("-----------------------------------------------");
    //当一个name对应多个值时,例如复选框,下拉列表,使用getParameterValues
    String[] pv = req.getParameterValues("hobby");
    for (String s : pv) {
        System.out.println(s);
    }

    System.out.println("-----------------------------------------------");
    //getParameterMap,获取所有的键值对,并封装到一个对象中
    Map<String, String[]> map = req.getParameterMap();

    Set<String> strings = map.keySet();
    for (String string : strings) {
        System.out.println(string+" : "+map.get(string));
    }

}

九.request对象_BeanUtils工具类的使用

 

1.什么是"BeanUtils":它是一个第三方的软件包。

作用自动解析客户端的请求并根据一个Map自动封装JavaBean

2..使用步骤:

        1).将BeanUtils所需jar包复制到lib目录下,并关联到模块中。

        2).使用BeanUtils工具包:

 

 

1.    案例代码

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    User user=new User();
    //使用工具类
    try {
        BeanUtils.populate(user,req.getParameterMap());
    } catch (IllegalAccessException
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一起来学Spring Cloud | 第五章:.. 下一篇Java面试题总结之数据结构、算法..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目