Tag: 拦截器

为什么cglib不代理超级调用?

我在下面有以下结构(我使用注释@Intercepted来表示截获的方法):当我在没有使用super关键字的情况下调用intercepted方法作为intercepted() ,会按预期调用拦截器。 但是,当以下面的方式调用时,永远不会调用super.intercepted()拦截。 为什么会这样? public class Base { @Intercepted public void intercepted() {} } public class BaseImpl extends Base { public void doSomething() { super.intercepted(); //<– does not work intercepted(); //<— without the super, it works } }

如何在spring mvc拦截器中validation会话

我是spring framework的新手。在我的代码中,我使用拦截器检查会话是否存在。如果会话存在,我允许调用控制器,否则我重定向登录页面。 以下是我的代码。 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Users user=(Users) session.getAttribute(“user”); if(user == null) { System.err.println(“Request Path : “); response.sendRedirect(“index”); return false; } else { return true; } } 但是这段代码没有成功重定向。我收到以下错误, In Mozilla i get below error The page is not redirecting properly In chorme i get below error? This web page has redirect […]

拦截服务器java中的HTTP请求

我需要实现类似filter或侦听器的东西,它拦截HTTP请求并为各种目的检索HTTP头。 我使用Java,Jboss应用服务器和Web服务。 我希望在Web服务调用之前执行此过滤系统 – 考虑方面但他们不保存HTTP相关的东西。 过滤后,应执行服务调用。 Jax-WS处理程序对我来说不起作用,因为它们只保存SOAP有效负载。 有任何想法吗? 提前致谢。

Spring MVC 3:拦截器返回视图为false

我正在使用拦截器限制对应用程序中某些用户的访问。 例如: @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Logger.logRequest(request); return list.contains(user); } 如果列表包含用户,则完成请求。 否则,它什么都不做。 如果用户没有访问权限,如何显示自定义页面? 现在,如果它是假的,它只显示一个空白页面,这对用户体验不是很好。

停止Apache CXF记录MultipartBody附件的二进制数据

我需要阻止CXF在MultipartBody对象中记录附件的二进制数据(由出站消息中的AbstractLoggingInterceptor抛出)。 当我添加我的LoggingInInterceptor ,我将setShowBinaryData设置为false,但这似乎不会阻止多部分消息中的二进制数据被记录。 我不确定是否需要创建自定义loggingInInterceptor,或者是否有一种配置现有拦截器的方法来截断它找到的任何二进制数据。 停止它完全记录MultipartBody响应,或截断数据都是可接受的解决方案。

无法更改HTTP接受标头 – 使用不同的区域设置解析策略

我在Pluralsight上关注Spring mvc课程,在运行我的应用程序时,我有“无法更改HTTP接受标头 – 使用不同的语言环境解析策略”这个错误。 在此之前,我将theese beans添加到servlet-config.xml 在资源文件夹中我有两个文件。 messages_es.properties和messages.properties。 一个人有目标。 goal.text=Minutos Ejercicio para el día de hoy:和其他goal.text=Minutes Exercise For The Day Today:所以目标是选择语言。 在jsp文件中,我有关于它的这一行 Language : English | Spanish 那么我怎样才能使它正常工作?

抓住spring初始化所有豆子的时刻

我有春季申请(我没有懒豆)。 我想在初始化所有@Component(@Repositoey @Service @Controller)bean时插入逻辑。 我该怎么做?

如何仅在特定方法中使用RESTEasy PreProcessInterceptor?

我正在编写REST API,使用RestEasy 2.3.4.Final。 我知道拦截器将拦截我的所有请求,并且PreProcessInterceptor将是第一个(在所有事情之前)被调用。 我想知道如何在调用特定方法时调用此Interceptor。 我试图使用PreProcessInterceptor和AcceptedByMethod,但我无法读取我需要的参数。 例如,我只需要在调用此方法时运行我的Interceptor: @GET @Produces(“application/json;charset=UTF8”) @Interceptors(MyInterceptor.class) public List listByName(@QueryParam(“name”) String name) {…} 更具体地说,我需要在所有具有@QueryParam(“name”)方法中运行我的拦截器 在它的签名上,这样我就可以抓住名字并在所有事情之前做点什么。 可能吗? 我试图捕获Interceptor中的“name”参数,但我无法做到这一点。 有人可以帮帮我吗?

Spring MVC – Interceptor从未调用过

我试图在我的应用程序中配置拦截器,但我无法使其工作。 在我的应用程序配置类中,我已按以下方式配置: @Configuration @EnableWebMvc public class AppContextConfiguration extends WebMvcConfigurerAdapter { … @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new MyInterceptor()); } … } 和拦截器: public class MyInterceptor extends HandlerInterceptorAdapter{ private static final Logger logger = LoggerFactory.getLogger(MyInterceptor.class); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { logger.debug(“MyInterceptor – PREHANDLE”); } } 有谁知道为什么不被调用?

拦截器的invocation.invoke()之后没有填充Struts 2动作变量

我的问题是,在使用invocation.invoke从拦截器触发动作的变量后,它们不会被填充。 我所知道的是,在使用拦截器之前,它工作正常(从.jsp我提交了一个表单并调用了一个动作,并填充了每个变量) 拦截器类: public String intercept(ActionInvocation invocation) throws Exception { final ActionContext context = invocation.getInvocationContext(); HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST); HttpSession session = request.getSession(true); Object user = session.getAttribute(Constants.USER_HANDLE); if (user == null) { String signUp = request.getParameter(Constants.SIGN_UP); if (!StringUtils.isBlank(loginAttempt)) { if (processLoginAttempt(request, session)) { return “login-success”; } } else if (!StringUtils.isBlank(signUp)) { return invocation.invoke(); } […]