我是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 -->
的Servlet
@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");
}
}
答案 0 :(得分:0)
您应该使用 servlet过滤器。
过滤器是将针对给定url-mapping的所有请求和/或针对给定servlet的所有请求调用的组件。
然后,过滤器可以检查用户是否已登录。如果他已经进入,它会要求容器继续,即调用目标servlet,就好像没有过滤器一样。如果他没有登录,过滤器可以返回错误,或重定向到登录页面,或做任何想做的事。有关servlet过滤器的介绍和示例,请参阅http://www.oracle.com/technetwork/java/filters-137243.html。