struts中过滤器的实例

来源:互联网 发布:c语言用while求次方 编辑:程序博客网 时间:2024/06/06 13:07
package com.xuefeng.ssh.action;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;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class FilterLoginAction implements Filter {@Overridepublic void destroy() {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest  sRequest, ServletResponse sResponse,FilterChain  filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) sRequest;HttpServletResponse response =(HttpServletResponse) sResponse;HttpSession session = request.getSession();String url = request.getServletPath();String contextPath = request.getContextPath();if (url.equals(""))url += "/";if ((url.startsWith("/") && !url.startsWith("/login"))) {// 若访问后台资源// 过滤到loginString user = (String) session.getAttribute("u");//获取登录时,加的session变量名,作为一个简单的判断点if (user == null) {// 转入管理员登陆页面response.sendRedirect(contextPath + "/login.jsp");return;}} filterChain.doFilter(sRequest, sResponse);}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}


然后在web.xml中做一个配置

<filter>       <filter-name>loginFilter</filter-name>       <filter-class>com.xuefeng.ssh.action.FilterLoginAction</filter-class>       </filter>       <filter-mapping>    <filter-name>loginFilter</filter-name>    <url-pattern>/*</url-pattern>    </filter-mapping>


 

0 0
原创粉丝点击