❶ 如何在过滤器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 {
}
}
❷ Java Web 中的过滤器如何使用
你你在配置过来滤器的自 时候
配置web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后的<url-pattern>/*</url-pattern> 就是过滤的路径
比如你在文件夹下吧不过滤的放在根目录,过滤的放在一个filter的文件夹下,那么就配<url-pattern>/filter/*</url-pattern> 这样根目录的所有文件都不过滤,名字我随便起的,你可以根据你自己的写,或者这个*也可以用匹配符,比如<url-pattern>/*.jsp</url-pattern>
再或者<url-pattern>/java*</url-pattern> 这样只有以java开头的才过滤,其他的不过滤
你可以根据实际设置
❸ 如何用java过滤器是不要把login.jsp页面也过滤掉
|public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest hrequest = (HttpServletRequest) request;
String uri = hrequest.getRequestURI();得到请求地址
String file[] = uri.split("/");通过/分隔,这样,数组的最后一个值,就是页面,
你比较下file[file.lenght-1].equals("login.jsp")就可以了。版
if(file[file.lenght-1].equals("login.jsp"||)){}要解除某页权面的过滤,用||在if里面添加就可以
chain.doFilter(request, response);
}
为了让层次跟清晰一点,最好还是分文件夹。
❹ 在 java EE中怎么实现对哪一个.jsp文件进行过滤
先写个过滤的bean,然后在web.xml里配置,如下面是字符过滤:
<!-- 字符编码过滤器 -->
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>filters.ChangeCharsetFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
<!-- 指定编码为UTF-8 -->
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern> //注:把要过滤的jsp页面添加到这里,*则对所有的页面过滤
<!-- 对于所有的request改变其编码 -->
</filter-mapping>
我只是个初学者,不知道说得对不对,嘿嘿。。。
❺ java web项目中过滤器的使用(过滤器执行多次)
图片中显示的log是执行一次的。
不是本来就打开login.jsp吗,不用再跳转到login.jsp,不是的时候,再跳转。
❻ 如何配置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\java如何编写过滤器过滤特殊字符
正则表达式来校验:过滤器就网络一大堆,怎么写正则表达式,也可以网络,不知你说的特殊字符是什么字符,所以只能给方法
❽ jsp 过滤器过滤jsp和html怎么写
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
❾ 关于sevlet、过滤器、jsp、html、xml等这些javaweb的相关知识和用途,请各位大大们给个详细的解释和区别~
说简单点:servlet就是接抄收页面请求然后转发的。
过滤器就是在servlet之前可以做验证、乱码方面的。
jsp就是java语言中的动态页面.
html就是静态页面。
太详细的话这里1W个字都说不完的.
❿ java jsp 中过滤器 filter 有什么功能
过滤器来,听名字就自是过滤作用了!!!
就是在浏览器发送请求道服务器,可以先经过过滤器,然后再到我们写的逻辑部分。
这些过滤器可以实现 表单验证,用户权限等功能。比如一些不合法的表单输入,就可以再过滤
器中处理不让他运行我们的后面的逻辑。比如权限低的用户不能进入某些页面或者实现某些功能