您现在的位置是:首页
>
struts标签库 Web App struts框架里实现Filter
We A trut 框架里实现Filter we xml里添加filter配置信息 lt filter gt lt filter ame gt Authe ticatio lt /f
Web App struts框架里实现Filter

web xml里添加filter配置信息 <filter> <filter name>Authentication</filter name> <filter class> limas web filters AuthenticationFilter </filter class> <init param> <param name>onError</param name> <param value>/pages/index jsp</param value> </init param> </filter> <filter mapping> <filter name>Authentication</filter name> <url pattern>/protect/*</url pattern> </filter mapping> <filter class>定义使用limas web filters AuthenticationFilter类执行过滤Action <init param>当验证失败后Forward到/pages/index jsp <filter mapping>只有当地址包括/protect/时运行filter类 实现limas web filters AuthenticationFilter package limas web filters; import java io IOException; import javax servlet RequestDispatcher; import javax servlet ServletException; import javax servlet *; import javax servlet Filter;import javax servlet FilterChain; import javax servlet FilterConfig; import limas web bean UserBean; import javax servlet ServletRequest; import javax servlet ServletResponse;import apache struts Globals; import apache struts action *; import nstants Constants; /** * Filter implementation for user authentication 必须实现Filter接口 * @author tyrone * @version $Id: AuthenticationFilter java v */public class AuthenticationFilter implements Filter{ /** * filterConfig will store the reference of FilterConfig */ private FilterConfig filterConfig; private String onErrorUrl; /** * store the reference of the FilterConfig * @param config FilterConfig object * @throws ServletException */ public void init(FilterConfig config) throws ServletException {//获得验证失败forward地址 filterConfig = config; onErrorUrl=filterConfig getInitParameter( onError ); if (onErrorUrl==null || equals(onErrorUrl)){ onErrorUrl= /pages/index jsp ; } } /** * User Authentication is done If User is authenticated successful then * control is transferred to logon URI * @param ServletRequest Request * @param ServletRequest Response * @param FilterChain Filter Chain * @throws ServletException IOException */ public void doFilter(ServletRequest request ServletResponse response FilterChain next) throws IOException ServletException { HttpServletRequest Request = (HttpServletRequest)request; HttpServletResponse Response=(HttpServletResponse)response; // Current session HttpSession Session = (); //Session里是否有用户信息 if ((Constants USER_KEY) == null) { ActionErrors errors=new ActionErrors(); errors add(ActionErrors GLOBAL_ERROR new ActionError( error authentication )); (Globals ERROR_KEY errors); //没有 验证失败forward到/pages/index jsp (onErrorUrl) forward(Request Response); }else//成果过滤Action结束 next doFilter(request response); } /** * destroy() method is called by the servlet container */ public void destroy() { } } lishixinzhi/Article/program/Java/ky/201311/28400
很赞哦! (1062)