利用Filter检查Request参数

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

import Java.io.IOException;

import java.util.Enumeration;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class CheckFilter implements Filter {

private FilterConfig config;

public CheckFilter() {

}

public void init(FilterConfig filterConfig) throws ServletException {

this.config = filterConfig;

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

Enumeration params = request.getParameterNames();

boolean rejected = false;

while (params.hasMoreElements()) {

if (isEmpty(request.getParameter((String) params.nextElement()))) {

reject(request, response);

rejected = true;

}

}

if (!rejected)

chain.doFilter(request, response);

}// doFilter

private boolean isEmpty(String param) {

if (param == null param.length() < 1) {

return true;

}

return false;

}

private void reject(ServletRequest request, ServletResponse response)

throws IOException, ServletException {

request.setAttribute("errorMsg",

"Please make sure to provide a valid value for all of the text fields.");

Enumeration params = request.getParameterNames();

String paramN = null;

while (params.hasMoreElements()) {

paramN = (String) params.nextElement();

request.setAttribute(paramN, request.getParameter(paramN));

}

RequestDispatcher dispatcher = request

.getRequestDispatcher("/form.jsp");

dispatcher.forward(request, response);

}

public void destroy() {

/*

* called before the Filter instance is removed from service by the web

* container

*/

}

}

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航