【问题标题】:Log in verification in JSPJSP中的登录验证
【发布时间】:2024-04-17 05:15:01
【问题描述】:

我要做的是在没有用户登录的情况下启动一个新会话,并且如果有人登录它应该重定向到一个页面(loginsucces.jsp),他们将在其中看到当前登录的实际人问题是,如果我输入这段代码,它完全可以工作:

  <%
   if ( session.isNew() )
   {
     out.println( "<h3>NB: New session starting</h3>" );
  }
  else
  {
    session.invalidate();
%>
    <jsp:forward page="example91.jsp" />
<%
  }
%>

这应该是我想要实现的代码,但它不起作用......

<%
  if ( session.isNew() )
  {
    out.println( "<h1>New session starting </h1>" );
  }
  else (session.is)
  {
    out.println( "<h1>You are already logged in!");
  }
%>
    <jsp:forward page="userlogin.jsp" />
<%
    <jsp:forward page="loginsucces.jsp" />
%>

【问题讨论】:

  • 错误是什么?
  • type 异常报告消息 Unable to compile class for JSP: description 服务器遇到一个内部错误,阻止它完成这个请求。异常 org.apache.jasper.JasperException:无法为 JSP 编译类:在 jsp 文件中的第 48 行发生错误:/userlogin.jsp 令牌上的语法错误,错误的构造 45:%> 46 : 47: 49: %> 50: 51:
  • 这个错误有什么令人困惑的地方?也许在你的问题中阐明这一点。

标签: java html jsp


【解决方案1】:

我在您的代码中看到两个直接错误。参考内联 cmets。

<%
  if ( session.isNew() )
  {
    out.println( "<h1>New session starting </h1>" );
  }
  else (session.is) // TYPO HERE
  {
    out.println( "<h1>You are already logged in!");
  }
%>
    <jsp:forward page="userlogin.jsp" />

// THIS JSP TAG SHOULD NOT BE INSIDE <% %>
<%
    <jsp:forward page="loginsucces.jsp" />
%>

【讨论】:

  • 好的,解决了!但是我应该把 else 重定向 () 放在哪里?