當前位置:生活全書館 >

綜合知識

> 怎麼使用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/zonghezhishi/lyw45w.html