导航:首页 > 净水问答 > mavenfilter过滤器不管用

mavenfilter过滤器不管用

发布时间:2022-02-16 10:09:56

A. 为何java中的过滤器filter不起作用

过滤器配置正抄确,但却没有起到过滤作用,原因可能是排放位置的问题。如下:

错误:

<filter>
<filter-name>struts2</filter-name>
<filter-class>com.yiwo.base.web.filter.PrepareFilter</filter-class>
</filter>

<filter>
<filter-name>userFilter</filter-name>
<filter-class>com.yiwo.base.web.filter.UserFilter</filter-class>
</filter>

B. filter的使用 java 过滤器的几种使用方法

过滤器来

过滤器是处于客户端自与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。

过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中还要进行相应的操作。

C. java过滤器不过滤某个货某一些路径

<param-name>noLoginPaths</param-name> 参数名可自取

<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.imooc.filter.LoginFilter</filter-class>
<init-param>
<param-name>noLoginPaths</param-name>
<param-value>login.jsp;fail.jsp;LoginServlet</param-value>
</init-param>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

关键代码 :

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}

完整代码:

importjava.io.IOException;

importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;

{

privateFilterConfigconfig;

@Override
publicvoiddestroy(){

}

@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{

HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponse=(HttpServletResponse)arg1;
HttpSessionsession=request.getSession();

StringnoLoginPaths=config.getInitParameter("noLoginPaths");

Stringcharset=config.getInitParameter("charset");
if(charset==null){
charset="UTF-8";
}
request.setCharacterEncoding(charset);

if(noLoginPaths!=null){
String[]strArray=noLoginPaths.split(";");
for(inti=0;i<strArray.length;i++){

if(strArray[i]==null||"".equals(strArray[i]))continue;

if(request.getRequestURI().indexOf(strArray[i])!=-1){
arg2.doFilter(arg0,arg1);
return;
}
}

}
if(session.getAttribute("username")!=null){
arg2.doFilter(arg0,arg1);
}else{
response.sendRedirect("login.jsp");
}

}

@Override
publicvoidinit(FilterConfigarg0)throwsServletException{
config=arg0;
}

}

D. maven的filter怎么选择

方法如下:1、创建maven工程,新建project,右键选择NewProject,勾选快速创建选项,这个选项可以快速创建简单的maven工程。2、项目创建成功后,项目目录主要有:主代码目录、主资源目录、测试代码目录、测试资源目录、输出目录(代码编译存放的目录)。3、添加项目依赖,查找项目依赖通常有两种方式:1.直接在eclipse上查找,2.在私服nexus上查找再复制依赖信息到pom.xml中。在eclipse中查找右键项目或pom.xml,输入关键信息查找,选中要引入的构件,点OK就可以自动引入。4、在nexus中查找依赖,打开nexus输入关键信息点击查找按钮,在搜索结果中找到对应的jar包,复制右下角的那段信息到pom.xml的dependencies下,如图所示。5、在MyEclipse上运行mvn命令,右键项目选择RunAs--》Mavenclean。mvn命令有很多,简单说明下比较常用的命令:1.clean用于清理输出目录target/2.compile用于编译项目主代码3.test用于编译运行测试代码4.package接受编译好的代码,打包成可发布的模式5.install将包安装到maven本地仓库6.Deploy将最终的包复制到远程仓库6、执行以上命令时,clean是不会自动执行的,因为clean和其他5个命令是不同的生命周期,因此需要使用组合命令。7、在MyEclipse中运行组合命令,右键项目选择RunAs--》Mavenbuild前面介绍了怎么运行一些命令,现在讲下怎么样运行实例。在主代码目录和测试目录上添加代码。8、运行命令cleaninstall,运行结果如图所示,从结果可以看到,命令运行成功,运行了一次测试并且运行通过,同时,将jar打包到项目的target目录下,也安装到maven的的本地仓库上了。9、将jar包部署到私服nexus上,在pom.xml中添加一些配置,最后发布运行命令cleandeploy,发布后可以到私服nexus查找有没有刚刚部署的jar包。

E. 在springmvc中使用过滤器chain.dofilter 出不去

如果走chain的话,通过chain.doFilter(request,response)这个方法会立即跳转到被拦截的servlet并且执行完还要再返回filter.chain相当于一扇门,从这扇门出去再从这扇门回来.调用filter的方法就是在web.xml中配置,需要配置一个与你需要拦截的servlet相同的url-pattern.
<!-- 配置一个过滤器 -->
<filter>
<filter-name>suibianxie</filter-name>
<filter-class>com.etoak.filter.MyEncoding</filter-class>
<!-- 配置一个私有参数 -->
<init-param>
<param-name>mycode</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<!-- 拦截的先后顺序和mapping的顺序有关 -->
<filter-mapping>
<filter-name>suibianxie</filter-name>
<!-- 注意这里和要拦截的servlet的url-pattern必须一致,等于是过滤器
抢在servlet之前拦截住了 -->
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>
<!-- 配置第二个过滤器 -->
<filter>
<filter-name>suibianxie2</filter-name>
<filter-class>com.etoak.filter.Naming</filter-class>
</filter>
<filter-mapping>
<filter-name>suibianxie2</filter-name>
<url-pattern>/servlet/Test</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.etoak.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/Test</url-pattern>
</servlet-mapping>

F. filter过滤器问题

你的问题好像是只需要Filter处理jsp的请求,只要改web.xml里Filter配置就可以。url-pattern别给/*,给/.jsp,如果需要过滤多种文件请求,可以再增加filter-mapping,每个的url-pattern对应一种文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>

G. filter过滤器配置如何不过滤一些页面

直接添加多个文件映射啊,为每个需要进行过滤的文件都写个映射标签

H. 不明白Filter过滤器怎么用,大家帮帮我

我来给你简单的说一下吧:)
首先要明确。Filter是JSP2.0里面的东西 ,顾名思义,也就是过滤器的意思
和你说说如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一样的哦
<filter>
<filter-name>PrivFilter</filter-name>
<filter-class>com.myPriv.filter.PrivFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>PrivFilter</filter-name>
<url-pattern>/resource/*</url-pattern>
</filter-mapping>
//com.myPriv.filter.PrivFilter是这个过滤器所在的位置。当然这个过滤器必须实现接口javax.servlet.Filter。
然后就可以在过滤器这个接口方法中增加过滤条件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{

然后你可以把过滤条件写出来,写在doFilter方法里面
我这里写一个简单的例子:
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();

if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request, response);
}

}

在上面的这个过滤方法中,如果session.getAttribute("userSession")==null)那就跳转到错误页面。如果不为空,则继续
所以
chain.doFilter(request, response);的意思就是跳转到下个页面,
明白了吧?

如果还有不明白。,可以留下你的问题

------------------------
还有忘了回答你的问题 了。java会在处理每一个Servlet时都走一次Filter的。所以你不必担心你的过滤不起作用了
而且chain.doFilter(request.response);
是必须的。没有他,程序就不会继续了:)他是让你的request和response继续运行哦
--------------------------------
这个你就可接写/*
好了。它是说对哪些范围起作里这个过滤器

I. java项目中配置过滤器filter后jquery的日期控件和列表控件不起作用了,什么原因啊,求帮助。

是不是控件引用的js 或css被拦截住了

J. 我的filter过滤器配好了,但是执行,不知道怎么回事,请大神指点

http://blog.csdn.net/u013210620/article/details/52464468

阅读全文

与mavenfilter过滤器不管用相关的资料

热点内容
汇通ro膜和沁园ro膜区别 浏览:575
沁园反渗透膜怎么拆开 浏览:298
废水用管材料 浏览:201
为什么总觉得纯净水很甜 浏览:558
包头哪里有卖滤芯的 浏览:494
超滤膜可以去除氨氮吗 浏览:90
先锋车载净化器滤芯怎么拆 浏览:716
远景3空调滤芯在什么位置 浏览:837
别墅污水提升泵德国科赛尔 浏览:852
安利净化器遥控怎么换电池 浏览:656
污水处理器价格03td 浏览:398
一台最好的净化器多少钱 浏览:989
没有空气滤芯的车会怎么样 浏览:910
电位滴定怎么滴定纯水 浏览:290
如果用金钱能卖回昨天是什么歌名 浏览:712
小米2空气净化器是什么味道 浏览:492
koch电泳超滤膜 浏览:815
奥迪a4l花粉过滤是什么 浏览:719
钠离子交换器程序 浏览:408
反渗透装的压差有啥用 浏览:416