java登陆跳转_java程序实现登陆。用户没有登录但访问非登录的页面,使用过滤器跳转到登录页,登录后肿么回到访问页?...

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");

}

取消

评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您的问题是如何用Java编写一个过滤器来过滤登录登录页面为login.jsp,使用谷歌浏览器。下面是一个简单的示例代码,供您参考: ```java import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebFilter(filterName = "AuthFilter", urlPatterns = "/login.jsp") public class AuthFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; // 判断是否登录(此处假设已登录,如果未登录跳转登录页面) boolean loggedIn = true; if (loggedIn) { chain.doFilter(request, response); // 已登录,继续执行下一步操作 } else { res.sendRedirect("login.jsp"); // 未登录跳转登录页面 } } @Override public void destroy() { } } ``` 以上代码实现了一个简单的登录过滤器,当用户访问/login.jsp页面时,会先进入过滤器。在过滤器中,我们根据用户是否已登录来决定是否放行,如果已经登录则继续执行下一步操作,如显示登录成功页面;如果未登录,则跳转登录页面。如果您需要实现更复杂的登录过滤器功能,可根据具体的需求进行进一步开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值