Jersey中ContainerRequestFilter的使用

    手头上有对所有请求做权限认证的需求,必须要在执行rest方法之前判断用户是否是登录状态,也就是要判断session存不存在,这里使用ContainerRequestFilter,从名字上也能看出来它是一个过滤器,会将所有请求拦截下来,之后做什么处理就随我们拉。

    首先是web.xml配置:

<servlet>  <servlet-name>Jersey REST Service</servlet-name>  <servlet-class>  com.sun.jersey.spi.container.servlet.ServletContainer  </servlet-class>  <init-param>  <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>  <!-- 如果想加入多个拦截器,请用;隔开 -->  <param-value>com.my.webservice.TestRequestFilter</param-value>  </init-param>  <load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  <servlet-name>Jersey REST Service</servlet-name>  <url-pattern>/*</url-pattern>  
</servlet-mapping>  

下面是具体代码:

public class TestRequestFilter implements ContainerRequestFilter{@Context private HttpServletRequest servletRequest;@Contextprivate HttpServletResponse servletResponse;@Overridepublic ContainerRequest filter(ContainerRequest creq) {System.out.println("TestRequestFilter Request:" + creq);if(!servletRequest.getRequestURL().toString().endsWith("/login") && !servletRequest.getMethod().equals("OPTIONS")){Response response = Response.ok(new ErrorJSON(99, "error")).status(401).type(MediaType.APPLICATION_JSON).build();throw new WebApplicationException(response); // Throw new UnAuthorized }return creq;}}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机腾讯视频软件如何开启护眼功能

今天给大家简单介绍一下&#xff0c;在手机腾讯视频中&#xff0c;如何开启护眼功能&#xff0c;具体步骤如下&#xff1a; 1、首先&#xff0c;打开手机苏宁易购app; 手机腾讯视频软件如何开启护眼功能 2、进入软件时先点击【跳过】广告页面&#xff0c;如图 手机腾讯视频…

XML解析-Dom4j的DOM解析方式更新XML

Dom4j工具,是非官方的&#xff0c;不在jdk中。 使用步骤&#xff1a; 1&#xff09;导入dom4j的核心包。 dom4j-1.6.1.jar 2&#xff09;编写Dom4j读取xml文件的代码 1、更新XML 1.1、写出内容到xml文档 package com.rk.xml.g_dom4j_write;import java.io.File; import java.io…

爱奇艺如何设置最小化显示在托盘

相信很多朋友都有在使用爱奇艺&#xff0c;那么大家对食物爱奇艺的过程当中如何设置最小化显示在托盘呢?关于这个问题小编就和大家分享一下我的经验&#xff0c;希望能够帮助到大家。 爱奇艺会员活动2020_爱奇艺如何设置最小化显示在托盘 1、首先点击电脑桌面中的爱奇艺&…

傲游浏览器怎么看网页源代码 网页源代码查看方法简述

网页源代码&#xff0c;顾名思义就是指在网页制作过程中需要用到的一些特殊的“语言”&#xff0c;设计人员向通过对这些“语言”进行组织编排制作出网页&#xff0c;再由浏览器进行“翻译”后才会出现用户最终看到的效果。那么&#xff0c;在傲游浏览器中该怎么看网页源代码呢…

Qt前端技术:5.QSS

这个是表示QFrame中的pushButton中的子类和它子类的子类都将背景变为red 写成大于的时候表示只有直接的子类对象才会变 这个图中的QGroupBox和QPushButton都是QFrame的直接的子类 这个中的QGroupBox是QFrame的直接的子类但是QPushButton 是QGroupBox的子类&#xff0c;QPushB…

Spring定时任务的几种实现

近日项目开发中需要执行一些定时任务&#xff0c;比如需要在每天凌晨时候&#xff0c;分析一次前一天的日志信息&#xff0c;借此机会整理了一下定时任务的几种实现方式&#xff0c;由于项目采用spring框架&#xff0c;所以我都将结合 spring框架来介绍。 一&#xff0e;分类 从…

搜狗高速浏览器主页被篡改怎么办 搜狗浏览器中恢复被篡改主页的方法

搜狗浏览器是一款还不错的浏览器&#xff0c;我们在使用搜狗浏览器的过程中发现主页被篡改怎么办呢?接下来我们一起往下看看搜狗浏览器中恢复被篡改主页的方法吧。 方法步骤 1、首先打开我的搜狗浏览器发现我的主页已经被篡改成hao123的主页了; 搜狗高速浏览器主页被篡改怎…

解决quartz的job无法注入spring对象

一般情况下&#xff0c;quartz的job中使用autowired注解注入的对象为空&#xff0c;这时候我们就要使用spring-quartz提供的AdaptableJobFactory类。 自定义一个类: [java] view plaincopy public class JobFactory extends AdaptableJobFactory { Autowired …

谷歌Chrome浏览器如何开启无痕模式 Chrome浏览器无痕模式开启方法

在访问一些特殊网站时&#xff0c;许多人都会开启浏览器自带的无痕模式&#xff0c;以免除一些不必要的麻烦。那么&#xff0c;谷歌Chrome浏览器要如何开启无痕模式呢?不清楚操作方法的朋友&#xff0c;不妨参考一下小编分享的Chrome浏览器无痕模式开启方法。 方法步骤 点击…

搜狗浏览器怎么实现图标旋转 搜狗浏览器实现图标旋转的方法

搜狗浏览器是一款大家经常使用的浏览器&#xff0c;你到知道搜狗浏览器中有一个非常有趣的功能就是图标旋转&#xff0c;那你知道在搜狗浏览器是怎么实现图标旋转的吗?接下来我们呢一起往下看看搜狗浏览器实现图标旋转的方法吧。 方法步骤 1、打开搜狗浏览器动态图标插件的下…

AngularJS+Jersey下载excel

AngularJS代码&#xff1a; $scope.testDownload function () { $http.post("rest/excel/down", $scope.req, {responseType:arraybuffer}).success(function (data) { varblob new Blob([data], {type:"application/vnd.ms-excel"}); varfileName "…

火狐浏览器摄像头权限怎么开启 火狐浏览器摄像头权限开启的方法

火狐浏览器是我们大家经常使用的浏览器之一&#xff0c;在使用这款浏览器的过程有时候需要使用到摄像头&#xff0c;那你知道火狐浏览器摄像头权限怎么开启的吗?接下来我们一起往下看看火狐浏览器摄像头权限开启的方法吧。 方法步骤 1、打开火狐浏览器&#xff0c;点击右上角…

Activiti 基础概念

1、ProcessInstance 与ProcessDefinition 流程实例&#xff08;ProcessInstance&#xff09;和流程定义&#xff08;ProcessDefinition&#xff09;的关系&#xff0c;与类和实例对象的关系有点像&#xff0c;ProcessDefinition是整个流程步骤的说明而ProcessInstance就是指流程…

优酷视频如何修改账号密码?

一.pc端&#xff1a;您能够立即登陆【点一下这儿】密码重置哦~或是能够按下列方式实际操作哦。 1.登陆本站&#xff0c;网页页面最上边【登陆】功能键&#xff0c;登陆界面右下角点一下【密码忘了】。 优酷视频如何修改账号密码&#xff1f; 2.请输入的手机上/电子邮箱&…

MD5加密工具类

这是一个个人认为非常好用的使用MD5salt加密的工具类&#xff0c;一部分代码由网上搜索而得&#xff0c;一部分自己修改添加之后而得。使用这个工具类&#xff0c;非常简单&#xff0c;从前台拿到密码passwd&#xff0c;直接HexUtil.getEncryptedPwd(passwd)就可以返回一个长度…

win7系统笔记本电脑开机蓝屏怎么办

我们在使用电脑的时候难免不了会y遇到一些问题&#xff0c;比如电脑蓝屏或者黑屏的情况出现&#xff0c;就有一位win7系统用户遇到了笔记本电脑开机蓝屏的情况&#xff0c;win7系统笔记本电脑开机蓝屏怎么办?就此问题&#xff0c;让我们一起来聊聊windows7笔记本电脑开机蓝屏解…

回调函数中window.open()被拦截

在回调函数中window.open默认是会被拦截的&#xff0c;因为浏览器判断它不是用户自己打开的&#xff0c;存在安全风险&#xff0c;所以可以伪造一个用户点击事件来避开&#xff0c;代码如下&#xff1a; function newWindow(url, id) { var a document.createElement(a); a.se…

Win7电脑定时关机怎么设置

想必大家一定有遇到过这样的烦恼吧&#xff0c;电脑文件下载到一半或传输到一半的时候&#xff0c;而你有事需外出&#xff0c;关机吧太可惜了&#xff0c;不关机吧又浪费电&#xff0c;还会影响电脑的使用寿命&#xff0c;那么该如何是好呢?这时候选择电脑定时关机是最好的解…

Joda-Time几个用法小记

1, 获取每天的零点 DateTime dtnew DateTime().withMillisOfDay(0); System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss"));//结果 2016-09-09 00:00:00 2, 在每天的6:30处理一些东西 DateTime dtnew DateTime().withHourOfDay(6).withMinuteOfHour(30).withSe…

win7系统找不到我的电脑图标的应对办法

我们在使用win7系统电脑的过程中或多或少都会遇到一些问题&#xff0c;最近有用户表示自己在使用电脑时发现我的电脑图标不见了&#xff0c;怎么显示我的电脑图标?针对用户提出的问题&#xff0c;今天小编就和大家分享一下win7系统找不到我的电脑图标的应对办法&#xff0c;大…