request对象的相关方法和获取request对象的方式

request对象相关方法如下:

1.获取客户机环境信息常见方法::

 1.getRequestURL方法返回客户端发出请求时的完整URL。

2.getRequestURI方法返回请求行中的资源名部分。

3.getQueryString方法返回请求行的参数部分。

4.getRemoteAddr方法返回发出请求的客户机的IP地址。

5.getRemoteHost方法返回发出请求的客户机的完整主机名。

6.getRemotePort方法返回客户机所使用的网络端口号。

7.getLocalAddr方法返回WEB服务器的IP地址。

8.getLocalName方法返回WEB服务器的主机名。

9.getMethod得到客户机请求方式

System.out.println(request.getRequestURL());//得到请求URL地址
System.out.println(request.getRequestURI());//得到请求的资源
System.out.println(request.getQueryString());
System.out.println(request.getRemoteAddr());//得到来访者IP
System.out.println(request.getRemoteHost());
System.out.println(request.getRemotePort());//得到请求的资源
System.out.println(request.getMethod());//得到请求的资源

在浏览器地址栏输入:http://192.168.1.121:18085/user/list后,后台输出:

http://192.168.1.121:18085/user/list
/user/list
showCount=-1&currentPage=1
192.168.1.121
192.168.1.121
5640
POST

2.获得客户机请求参数

   //http://localhost:8080/?name=yyz
   String value = request.getParameter("name");
   System.out .println(value);

   //http://localhost:8080/test?like=sing&like=dance
   String likes[] = request.getParameterValues("like");
   if(likes!=null){
    for(String like : likes){
     System.out.println(like);
    }
   }
   //下面是这种遍历的专业写法,获取数组数据的方式(可避免空指针异常)
   for(int i=0;likes!=null&&i<likes.length;i++){
    System.out.println(likes[i]);
   }

   //获取所有名称,并根据名称获取值
   Enumeration e = request.getParameterNames();
   while(e.hasMoreElements()){
    String name = (String) e.nextElement();
    value = request.getParameter(name);
    System.out.println(name+"="+value);
   }
   System.out.println("----------------------");

   //得到request对象中用来封装数据的Map集合
   Map<String,String[]> map = request.getParameterMap();
   for(Entry<String, String[]> me : map.entrySet()){
    String name = me.getKey();
    String [] v = me.getValue();
    System.out.println(name+"="+v[0]);

第一种:直接在方法参数中

public ModelAndView UserList(Model model, HttpServletRequest request){
 
}

第二种:注解

@Autowired
private  HttpServletRequest request;

第三种:

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();

实例:获取request对象,获取当前请求session 

import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpSession;  
  
  
import org.springframework.web.context.request.RequestContextHolder;  
import org.springframework.web.context.request.ServletRequestAttributes;  
  
  
  
  
/**  
* 使用该类必须在 web.xml 中添加监听(org.springframework.web.context.request.RequestContextListener) 
* 该作用域仅适用于WebApplicationContext环境 
*/  
public class Global {  
    static String _loginSessionKey="login_session";  
    /** 
     *    得到request对象
     * @return 
     */  
    public static HttpServletRequest getHttpServletRequest(){  
        HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder  
                .getRequestAttributes())  
                .getRequest();  
        return request;  
    }     
    /** 
     * 获取当前请求session 
     * @return 
     */  
    public static HttpSession getHttpSession(){  
        return getHttpServletRequest().getSession();  
    }  
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值