我配置了一个简单的“编码”过滤器如下:
public class EncodeFilter implements Filter {
private FilterConfig config;
public void init(FilterConfig config)
{
this.config=config;
}
public void destroy()
{
this.config=null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest res=(HttpServletRequest)request;
System.out.println(res.getServletPath());
request.setCharacterEncoding("utf-8");
chain.doFilter(request,response);
response.setCharacterEncoding("utf-8");
}}XML配置文件如下:
<!-- 配置编码拦截器 -->
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.padragon.ManagementSystem.Util.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>但是当我开始浏览login.jsp页面时,控制台打印出如下信息:
/admin/login.jsp
/admin/images/Default.css
/admin/images/xtree.css
/admin/images/user_botton.gif
/admin/images/User_Login.css
/admin/images/user_all_bg.gif
/admin/images/user_top_l.gif
/admin/images/user_top_c.gif
/admin/images/user_top_r.gif
/admin/images/user_main_l.gif
/admin/images/user_main_c.gif
/admin/images/user_main_r.gif
/admin/images/user_bottom_l.gif
/admin/images/user_bottom_c.gif
/admin/images/user_bottom_r.gif
/admin/images/user_login_name.gif
/admin/images/user_login_password.gif
红色信息都是我login.jsp页面里关于CSS或者图片的链接,这就意味着我login.jsp页面里的链接又重新提交到了这个filter里一遍?求高手解答
public class EncodeFilter implements Filter {
private FilterConfig config;
public void init(FilterConfig config)
{
this.config=config;
}
public void destroy()
{
this.config=null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest res=(HttpServletRequest)request;
System.out.println(res.getServletPath());
request.setCharacterEncoding("utf-8");
chain.doFilter(request,response);
response.setCharacterEncoding("utf-8");
}}XML配置文件如下:
<!-- 配置编码拦截器 -->
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.padragon.ManagementSystem.Util.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>但是当我开始浏览login.jsp页面时,控制台打印出如下信息:
/admin/login.jsp
/admin/images/Default.css
/admin/images/xtree.css
/admin/images/user_botton.gif
/admin/images/User_Login.css
/admin/images/user_all_bg.gif
/admin/images/user_top_l.gif
/admin/images/user_top_c.gif
/admin/images/user_top_r.gif
/admin/images/user_main_l.gif
/admin/images/user_main_c.gif
/admin/images/user_main_r.gif
/admin/images/user_bottom_l.gif
/admin/images/user_bottom_c.gif
/admin/images/user_bottom_r.gif
/admin/images/user_login_name.gif
/admin/images/user_login_password.gif
红色信息都是我login.jsp页面里关于CSS或者图片的链接,这就意味着我login.jsp页面里的链接又重新提交到了这个filter里一遍?求高手解答
<url-pattern>/*</url-pattern>
过滤所有请求
不如改成*.jsp
相当于http的request