当前位置:首页 » 净水方式 » filter过滤jsp

filter过滤jsp

发布时间: 2021-04-06 06:02:12

『壹』 如何在过滤器Filter.java中获取jsp页面文本框的值

1、在Jsp页面将文本框输入域放在html表单form之中提交
2、后台定义一个过滤器继承Filter.java
3、在过滤器中的doFilter方法中,将参数ServletRequest转化为HttpServletRequest
4、利用HttpServletRequest.getParameter();方法即可获取对应输入域的value值。
示例:
在Jsp页面:
<form>
<input type="text" name="username" value="zhangsan"/>

</form>
后台过滤器:
public class TestFilter implements Filter{

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
HttpServletRequest res = (HttpServletRequest) request;
//获取页面的username输入框的值

String username = request.getParameter("username");

return;
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}
}

『贰』 JSP filter过滤器,怎样可以配置成除某几个jsp文件外,所有的jsp文件都过滤呢

你可以在xml文件里面去更改
你在里面好好的找找你过滤器的名字

过滤器默认的都是/*
你想保护什回么就吧*换成什么或者答是换成一个文件夹

如果你是昨晚项目在放的过滤器那就多弄几个过滤器
一个个来(麻烦,最好提前想好,把需要保护的放在一个包里面)

『叁』 jsp servlet filter 如何过滤

过滤器的xml配置文件可以配置哪些页面是受保护的,,也就是说要经过过滤器之后才能访问的!!!具体怎么写我就不记得了,,如果你想要怎么配的话,,发个邮件给我,,,!!!
[email protected]

『肆』 在Jsp页面或者Filter过滤器中怎么过滤脏话

不管是JSP还是Servlet,其Filter过滤器都是一个东西。因为JSP的本质就是Servlet,只不过是被包装了一下,成了标准,让Web服务器都遵循这个标准来解析编译执行而已。 以下演示的就是在JSP中如何过滤脏话(Servlet的处理方式也差不多): 一、 过滤器类 package com.filter;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;public class WordsFilter implements Filter { private Map< String, String>map = new HashMap< String, String>(); //过滤器的初始化 public void init(FilterConfig config) throws ServletException { String filePath = config.getInitParameter("filePath");//从配置文件中取得文件的相对路径 ServletContext context = config.getServletContext(); String realPath = context.getRealPath(filePath);//根据相对路径取得绝对路径 try { FileReader freader = new FileReader(realPath);//根据绝对路径,通过文件流来读取文件 BufferedReader br = new BufferedReader(freader); String line = null; while((line=br.readLine()) != null) { String []str = line.split("="); map.put(str[0], str[1]); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //乱码处理 request.setCharacterEncoding("gb2312"); response.setContentType("text/html;charset=gb2312"); HttpServletRequest HttpReq = (HttpServletRequest) request; HttpReqWrapper hrw = new HttpReqWrapper(HttpReq); hrw.setMap(map); chain.doFilter(hrw, response); } public void destroy() { System.out.println("--过滤器的销毁--"); } }二、请求包装器
package com.filter;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;public class HttpReqWrapper extends HttpServletRequestWrapper { private Map< String,String> map = null; public HttpReqWrapper(HttpServletRequest request) { super(request); } //过滤脏话 public String replace(String str){ StringBuffer sb = new StringBuffer(str); Setkeys = this.getMap().keySet(); Iteratorit = keys.iterator(); String ss = null; while(it.hasNext()) { String key = it.next(); int index = sb.indexOf(key); if(index != -1) { if(key != null) ss = key; sb.replace(index, index+key.length(), this.getMap().get(key)); } } if(ss!=null) { if (sb.toString().indexOf(ss) == -1) { return sb.toString(); } else { return replace(sb.toString()); } } return sb.toString(); }// 重写getParameter()方法 public String getParameter(String str) { if(str.equals("pager.offset")){ return super.getParameter(str); }else{ String content = super.getParameter(str); return replace(content); } } public Map< String,String> getMap() { return map; } public void setMap(Map< String,String> map) { this.map = map; } }

三、脏话列表word.txt妈的=**
老子=**
狗日的=***
我日=我*
TMD=***
我靠=我*
贱人=**
滚=*
操=*

四、web.xml中配置过滤器
<filter>
<filter-name>WordsFilter</filter-name>
<filter-class>com.filter.WordsFilter</filter-class>
<init-param>
<param-name>filePath</param-name>
<param-value>/WEB-INF/word.txt</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WordsFilter</filter-name>
<url-pattern>/getNote.jsp</url-pattern>
</filter-mapping>

『伍』 如何配置Filter过滤器处理JSP中文乱码

注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk。虽然两种都可以出来中文乱码,但是却造成了处理乱码的格式不一致。所以编译出错。
解决方法:所有地方都用utf-8或gbk

//过滤器类
CharactorFilter.jsp
package cn.com.Filter;
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;

public class CharactorFilter implements Filter { //继承Filter类
//字符编码
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//设置request字符编码
request.setCharacterEncoding(encoding);
//设置response字符编码
response.setContentType("text/html;charset="+encoding);
}
//传递给下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//获取初始化参数
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}

web.xml
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>

『陆』 JSP中用filter 过滤某个包中的所有servlet

web.xml中这样配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中写注解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中这样写:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中写注解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想过滤的servlet名字前加上“/setvlet”在过滤的时候过滤路径就可以写成“/servlet/*”这样就能过滤所有的Servlet。

『柒』 web配置问题 过滤所有的jsp文件该怎么搞啊

写个过滤器(创建一个类实现Filter接口)
在web.xml中配置如下
添加以下代码
<filter>
<filter-name>encoding</filter-name> //名字任意
<filter-class>全类路径</filter-class> //实现回filter接口的类的路径
</filter>
<filter-mapping>
<filter-name>encoding</filter-name> //与上面的答名字匹配
<url-pattern>*.jsp</url-pattern> //*.jsp表示任意jsp文件
</filter-mapping>

『捌』 Java:现在Filter把所有请求都拦截了,怎么使Filter不过滤login.jsp页面呢

通过request获取URL然后做判断来绕过拦截器执行的代码

『玖』 filter过滤器,怎样可以配置成除某几个jsp文

过滤器是针对路径过滤 设置想要过滤路径就可以了 其实更推荐使用spring拦截器

『拾』 在filter中,我要过滤所有JSP和action,但登录页login.jsp和login.action不能过滤,这样的话怎么配置

把login.jsp换一个后缀嘛,比如login.htm

热点内容
丁度巴拉斯情人电影推荐 发布:2024-08-19 09:13:07 浏览:886
类似深水的露点电影 发布:2024-08-19 09:10:12 浏览:80
《消失的眼角膜》2电影 发布:2024-08-19 08:34:43 浏览:878
私人影院什么电影好看 发布:2024-08-19 08:33:32 浏览:593
干 B 发布:2024-08-19 08:30:21 浏览:910
夜晚看片网站 发布:2024-08-19 08:20:59 浏览:440
台湾男同电影《越界》 发布:2024-08-19 08:04:35 浏览:290
看电影选座位追女孩 发布:2024-08-19 07:54:42 浏览:975
日本a级爱情 发布:2024-08-19 07:30:38 浏览:832
生活中的玛丽类似电影 发布:2024-08-19 07:26:46 浏览:239