基于jersey的pojo对象如何获取HttpServletRequest对象

当你在jsp页面通过JS方式调用restful web services服务提供的某个方法时,往往需要在方法中获取request,response等对象,例如,假如你希望在方法中判断用户输入的验证码与 你保存到session中的值是否一致,那么你就必须要获取request对象。那jersey是如何满足这一需求的呢?很简单,只要通过 @Context标注就可以实现,具体就是在你需要调用的方法中增加一如@Context HttpServletRequest request的参数,调用的时候不用传入这个参数,直接在方法中直接调用request对象即可。

 

下面是一个检验验证码的例子

 

pojo类的方法如下:

@GET
 @Produces(MediaType.TEXT_PLAIN)
 public String validate(@DefaultValue("") @QueryParam("authCode") String authCode,
       @Context HttpServletRequest request){
  String flag = "false";
  String sessionAuthCode = ""+request.getSession().getAttribute("authCode");
  if(sessionAuthCode != null && sessionAuthCode.equalsIgnoreCase(authCode)){
   flag = "true";
  }
  return flag;
 }

 

页面通过jquery进行访问:

jQuery.ajax({
    type: "GET",
    url: '<%=path%>/services/authCodeValidator',
    data: "authCode="+authCode,
    success: function(data) {
      flag = data;
      if(flag == "false"){
          alert("验证码错误!");
          return;
      }   

}
  });

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值