JAVA中的过滤器Filter

来源:互联网 发布:java socket demo 编辑:程序博客网 时间:2024/06/05 03:49

 1.

<filter>  <filter-name>Filter</filter-name>  <filter-class>com.chinasoft.Filter.Filter</filter-class>  </filter>  <filter-mapping>  <filter-name>Filter</filter-name>  <url-pattern>/buy/*</url-pattern>  </filter-mapping>



2.

<a href="/buy/index.jsp">购买</a>      



3.

public class FilterOne implements javax.servlet.Filter{public voidinit(FilterConfig filterConfig) throwsServletException{};//初始化public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throwsIOException,ServletException{System.out.println("===========进入了过滤器");HttpServletRequest httpServletRequest=(HttpServletRequest) request;HttpServletResponse httpServletResponse=(HttpServletResponse) response;HttpSession session=httpServletRequest.getSession();User user=(User) session.getAttribute("login_state");if(user==null){httpServletResponse.sendRedirect("../login.jsp");}else {chain.doFilter(request, response); //不拦截}};public void destroy(){};//销毁}



4.

<form action=" " method="post">   帐号<input type="text" name="Name"></input>   密码<input type="password" name="Pwd"></input>   <input type="submit"></input>   </form>



5.

public class Action1 extends HttpServlet{@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String name=request.getParameter("Name");String pwd=request.getParameter("Pwd");User user=new User(name, pwd);HttpSession session=request.getSession();session.setAttribute("login_state", user);response.sendRedirect("/buy/index.jsp");}}



6.

index.jsp登录成功!<a href="/Tuichu">退出登录</a>   

   


7.

public class Tuichu{protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session=request.getSession(false);session.invalidate(); //销毁sessionresponse.sendRedirect("../login.jsp");}}


-------------------------------------------------------------------------分隔线-----------------------------------------------------------------------------

防止中文乱码过滤器

项目使用spring框架时。当前台JSP页面和Java代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那就可以使用这个过滤器。

<filter>    <filter-name>encoding</filter-name>    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>    <init-param>        <param-name>encoding</param-name><!--用来指定一个具体的字符集-->        <param-value>UTF-8</param-value>    </init-param>    <init-param>        <param-name>forceEncoding</param-name><!--true:无论request是否指定了字符集,都是用encoding;false:如果request已指定一个字符集,则不使用encoding-->        <param-value>false</param-value>    </init-param></filter><filter-mapping>    <filter-name>encoding</filter-name>    <url-pattern>/*</url-pattern></filter-mapping>


0 0
原创粉丝点击