当前位置:生活全书馆 >

综合知识

> 怎么使用filter实现未登录用户自动跳转到登录页面 未登录的过滤器怎么写

怎么使用filter实现未登录用户自动跳转到登录页面 未登录的过滤器怎么写

1.怎么使用filter实现未登录用户自动跳转到登录页面

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

未登录的过滤器怎么写 怎么使用filter实现未登录用户自动跳转到登录页面

HttpServletRequest req = (HttpServletRequest)request;

if(req.getSession().getAttribute("user")==null){

req.setAttribute("error", "请你先登录");

//非法请求才会进到这里面,在这里保存请求的url地址,在成功登录后再进行跳转

req.getSession().setAttribute("goUrl", req.getRequestURL()+"?"+ req.getQueryString());

request.getRequestDispatcher("/ulogin.jsp").forward(request, response);

}

else{

chain.doFilter(request, response);

}

}

上面的代码是过滤器中的代码

下面的是servlet中的代码

if(request.getSession().getAttribute("goUrl")!=null){

String url = (String)request.getSession().getAttribute("goUrl");

response.sendRedirect(url);

}

else{

response.sendRedirect("/webshopping/index.jsp");

}

2.怎么使用filter实现未登录用户自动跳转到登录页面

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest)request;if(req.getSession().getAttribute("user")==null){req.setAttribute("error", "请你先登录");//非法请求才会进到这里面,在这里保存请求的url地址,在成功登录后再进行跳转req.getSession().setAttribute("goUrl", req.getRequestURL()+"?"+ req.getQueryString());request.getRequestDispatcher("/ulogin.jsp").forward(request, response);}else{chain.doFilter(request, response);}}上面的代码是过滤器中的代码下面的是servlet中的代码if(request.getSession().getAttribute("goUrl")!=null){String url = (String)request.getSession().getAttribute("goUrl");response.sendRedirect(url);}else{response.sendRedirect("/webshopping/index.jsp");}。

3.如何用Filter实现对注册用户是否登录的过滤

下面是我从前写的项目里用的用户过滤。供你参考。你可以去上看看,那儿有过滤器的视频教程。

package filter;

import java.io.*;

import javax.servlet.*;

import javax.servlet. ;charset=GBK");

request.setCharacterEncoding("GBK");

PrintWriter out=response.getWriter();

HttpServletRequest req=(HttpServletRequest)request;

HttpSession session=req.getSession();

//System.out.println(session.getAttribute("user"));

//user是用户登录后session.setAtrribute("user",***)中的user

if(session.getAttribute("user")!=null){

chain.doFilter(request, response);

}

else{//未登录,后退

out.println("<script language='javascript'>alert('你还未登录');");

out.println("history.go(-1);</script>");

}

}

//过滤器销毁

public void destroy(){}

}

4.如何使用filter实现未登录用户自动跳转到登录页面

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest)request;if(req.getSession().getAttribute("user")==null){req.setAttribute("error", "请你先登录");//非法请求才会进到这里面,在这里保存请求的url地址,在成功登录后再进行跳转req.getSession().setAttribute("goUrl", req.getRequestURL()+"?"+ req.getQueryString());request.getRequestDispatcher("/ulogin.jsp").forward(request, response);}else{chain.doFilter(request, response);}}上面的代码是过滤器中的代码下面的是servlet中的代码if(request.getSession().getAttribute("goUrl")!=null){String url = (String)request.getSession().getAttribute("goUrl");response.sendRedirect(url);}else{response.sendRedirect("/webshopping/index.jsp");}。

5.java过滤器怎么写 用的是SSH框架 主要目的是防止有些比如登录不填

在web.xml中配置过滤器

<filter>

<filter-name>encoding</filter-name>

<filter-class>;此处是自己已实现filter类的目录</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>utf-8</param-value>

</init-param>

</filter>

<filter-mapping>

<url-pattern>;此处是要过滤的路径</url-pattern>

<filter-name>encoding</filter-name>

</filter-mapping>

  • 文章版权属于文章作者所有,转载请注明 https://shqsg.com/zh-cn/zonghezhishi/lyw45w.html