0

我是 Java 世界的新手。我正在尝试使用一个简单的 CSV 文件作为数据库来开发一个 ACME Demo 来验证用户名和密码。我想知道是否可以在index.jsp页面上做一些超链接,如果你点击它们会带你到同一个网站的其他jsp页面。据我所知,超链接将调用 servle 中的 doGet 方法,在我的情况下,如果您的凭据当然有效,您将被重定向到那些安全的 jsp。所以它只适用于一个超链接,无论有多少链接,我都想让事情变得更加动态??!!

jsp

 <a href ="<%=request.getContextPath()%>/LoginNow.do"> Content1</a>
  <!-- Here I would like to add more links -->

小服务程序

    @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
  {
    processRequest(request, response);

    //response.sendRedirect("login.jsp");

     HttpSession session= request.getSession(true);

    if ((session.getAttribute("userSession") != null) && (session.getAttribute("userSession").equals(session.getId())))
    {
      response.sendRedirect("content1.jsp");
      // How can my doGet method manage multiple links here?

    }
    else
    {
      response.sendRedirect("login.jsp");
    }
  }
4

1 回答 1

0

您应该使用servlet 过滤器

过滤器是一个组件,将对给定 url 映射的所有请求和/或对给定 servlet 的所有请求调用。

然后过滤器可以检查用户是否登录。如果他已经登录,它会要求容器继续,即调用目标servlet,就好像没有过滤器一样。如果他没有登录,过滤器可以返回一个错误,或者重定向到一个登录页面,或者做它想做的任何事情。

有关servlet 过滤器的介绍和示例,请参见http://www.oracle.com/technetwork/java/filters-137243.html 。

于 2013-08-16T12:55:59.127 回答