web-servlet-request

本文详细介绍了HTTP请求中的Request对象及其各种方法,包括获取客户机信息、请求头、请求参数等,同时还探讨了如何处理中文乱码问题,并对比了请求转发与重定向的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

request对象API(常用)

        1、获取客户机信息:
        
            getMethod();            --- 获取请求的方式
            
            getQueryString();       --- 获取请求路径后的提交参数的字符串
            
            getRequestURL();        --- 获取请求路径的url
            
            getRemoteAddr();        --- 获取客户机的ip地址
            
        2、获取请求头的方法:
        
            getHeader(String name);            --- 获得一个key对应一个value的请求头
            
            getHeaders(String name);           --- 获得一个key对应多个value的请求头
            
        3、获取请求参数的方法:
        
            getParameter(String name);          --- 获得提交的参数(一个name对应一个value)
            
            getParameterValues(String name);    --- 获得提交的参数(一个name对应多个value)
            
            getParameterMap();                  --- 获得提交的参数,将提交的参数的名称和对应的值存入到一个Map集合中
            
        4、request作为域对象存储数据的方法:
        
            setAttribute(Sring,object)     向request域对象中存入数据;

            getAttribute(String)         从request域对象中获取数据;

            removeAttrubute(String)      从request域对象中移除数据;

       5、Request对象接收表单请求参数的中文乱码处理

             1、POST方式接收中文

             

             

                  2、GET方式接收中文

                   

 

          6、Request作为域对象作用范围

Request对象其实就是从客户端浏览器向服务器发送的一次请求信息的封装。那么实质上向Request中所保存的数据有效期也是一次请求范围。

一次请求范围:从客户端浏览器向服务器发送一次请求,服务器针对这次请求对浏览器作出响应。当服务器作出响应之后,请求对象就销毁了,保存在其中的数据就无效了。

          7、请求转发的写法

通过ServletRequest对象获得RequestDispatcher对象。

RequestDispather dispather = request.getRequestDispather("/xxx/yyy.jsp");

再根据RequestDispatcher中的方法进行请求转发

dispather.forward(request,response);

即可实现请求转发。

        8、请求转发和重定向区别总结

             1、请求转发是一次请求一次响应,而重定向是两次请求两次响应。

             2、请求转发地址栏不会变化的,重定向地址栏发生变化。

             3、请求转发路径不带工程名,重定向需要带工程名路径。

             4、请求转发只能在本网站内部,重定向可以定向到任何网站。             

           注意:

如果需要使用request进行值传递,需要通过请求转发完成。如果页面需要跳转到其他网站上必须使用重定向。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值