如何在java中的url中打两个servlet

时间:2014-10-28 10:20:11

标签: java java-ee

在我想通过url跳转一个jsp或servlet之后,我通过url登录一个web应用程序。 我如何通过url直接进入第二个jsp页面

4 个答案:

答案 0 :(得分:1)

有所有解决方案,

1。使用过滤器通过web.xml拦截网址

2。使用ServletsJsp中的重定向转发功能。

答案 1 :(得分:0)

Web.xml中的用户Servlet过滤器映射: 您的Web应用程序可能会定义具有特定用途的多个不同过滤器考虑一下,您定义了两个过滤器AuthenFilter和LogFilter。除了您需要创建如下所述的不同映射外,其余过程将保持如上所述:

答案 2 :(得分:0)

与servlet一样,有两种方法可以做到这一点。 HttpServletReponse.sendRedirect()实际上向浏览器发送一个响应,给它一个获取的URL而不是原始的URL,它可能位于不同的服务器上。另一个选择是使用RequestDispatcher在服务器上加载不同的资源,而不是加载到浏览器透明的资源。

答案 3 :(得分:0)

有用的例子,所以我减少了编写自己的代码。 SecureFilter检查当前会话以查看是否存在User对象;如果没有,它会将请求转发到登录表单。虽然几乎不是一个强大的组件,但您可以看到如何实现更有用的系统。

if (authorized) {
    chain.doFilter(request, response);
    return;
} else if (filterConfig != null) {
    String login_page = filterConfig.getInitParameter("login_page");
    if (login_page != null && !"".equals(login_page)) {
        filterConfig.getServletContext().getRequestDispatcher(login_page).
forward(request, response);
        return;
    }
}

throw new ServletException
("Unauthorized access, unable to forward to login page");

}