我试图在我的web应用程序中使用jsf 2实现loginfilter,遵循本指南: https://stackoverflow.com/tags/servlet-filters/info 在编译我的filter,并在“web-inf / classes”(如指南所述)中添加.class后,filter工作,但我把错误的urlredirect到login页面,所以我从文件夹中删除filter.class (networkinginf /类),并试图再次编译该项目,但它失败了,从那时起我得到“包javax.servlet不存在” 这是奇怪的,因为在它工作之前,我有我的pom.xml中的javax.servlet ..我试图清理项目,但没有。 这是我的filter类: package Bean; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Created with IntelliJ IDEA. * User: rodrigo * Date: 28-04-13 * Time: 06:54 AM * To change this […]
现有的Web应用程序正在Tomcat 4.1上运行。 页面存在XSS问题,但我无法修改源代码。 我已经决定编写一个servletfilter来清除参数,然后才能看到页面。 我想写一个这样的Filter类: import java.io.*; import javax.servlet.*; public final class XssFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String badValue = request.getParameter("dangerousParamName"); String goodValue = sanitize(badValue); request.setParameter("dangerousParamName", goodValue); chain.doFilter(request, response); } public void destroy() { } public void init(FilterConfig filterConfig) { } } 但是ServletRequest.setParameter不存在。 如何在将请求传递给链之前更改请求参数的值?