我正在JBoss AS 5中运行一个Web应用程序。我也有一个servletfilter,拦截所有到服务器的请求。 现在,如果会话已过期,我想将用户redirect到login页面。 我需要做这个'isSessionExpired()'检查filter,并需要相应的redirect用户。 我该怎么做? 我在web.xml中设置会话时间限制,如下所示: <session-config> <session-timeout>15</session-timeout> </session-config>
我试图find一个方法来redirect我的请求从filterlogin页面,但我不知道如何从servletredirect。 我search,但我发现是sendRedirect()方法。 我无法find这个方法在我的反应obect在filter。 是什么原因? 我该如何解决这个问题?
Servlet和Filter有什么区别? 你build议用什么来授权页面?
Spring中的HandlerInterceptor现在可以被configuration为仅在特定的URL上使用<mvc:interceptors>来调用。 Servletfilter可以实现相同的function(日志logging,安全等)。 那么应该使用哪一个? 我认为使用拦截器,可以使用ModelAndView对象来处理模型,所以它具有更多的优势。 任何人都可以画出filter或拦截器相比其他优势的情况吗?
我正试图编写一个filter,可以检索请求的URL,但我不知道如何做到这一点。 这是我到目前为止: import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; public class MyFilter implements Filter { public void init(FilterConfig config) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { chain.doFilter(request, response); String url = ((HttpServletRequest) request).getPathTranslated(); System.out.println("Url: " + url); } public void destroy() { } } 当我在我的服务器上打一个页面时,我看到的唯一的输出是“Url:null”。 在filter中从给定的ServletRequest对象获取请求的URL的正确方法是什么?
我在我的JSF应用程序中使用Servletfilter 我的应用程序中有三组网页 所以我想在我的Servletfilter中检查这个部分页面的身份validation 我的文件夹 /Admin/ *.xhtml /Supervisor/*.xhtml /Employee/*.xhtml 和我写web.xml一样 <filter> <filter-name>LoginFilter</filter-name> <filter-class>com.ems.admin.servlet.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/Employee/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/Admin/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/Supervisor/*</url-pattern> </filter-mapping> 但请求像 http://localhost:8080/EMS2/faces/Html/Admin/Upload.xhtml 不进入filter。 我必须为这3个文件夹提供安全性 如何解决这个问题呢 ?
Servlet中有Filters和Listenersfunction。 我想知道filter和侦听器之间的确切区别。
我想知道,如果在Spring Boot中有一个Filter类(用于Web应用程序)的注释吗? 也许@Filter ? 我想在我的项目中添加一个自定义filter。 Spring Boot Reference Guide提到了FilterRegistrationBean ,但是我不确定如何使用它。
我已经定义了一个javax.servlet.Filter并且我有Spring类注解的Java类。 import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Bean; @Configuration public class SocialConfig { // … @Bean public UsersConnectionRepository usersConnectionRepository() { // … } // … } 我想在我的Filter获得Bean UsersConnectionRepository ,所以我尝试了以下方法: public void init(FilterConfig filterConfig) throws ServletException { UsersConnectionRepository bean = (UsersConnectionRepository) filterConfig.getServletContext().getAttribute("#{connectionFactoryLocator}"); } 但是它总是返回null 。 我怎样才能得到一个Filter的Spring bean?
我有这个代码: @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { logger.info("Filter start…"); HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; String ba = getBaId(getBody(httpRequest)); if (ba == null) { logger.error("Wrong XML"); httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST); } else { if (!clients.containsKey(ba)) { clients.put(ba, 1); logger.info("Client map : init…"); } else { clients.put(ba, clients.get(ba).intValue() […]