Java EE don';登录后不更新
我有一个带有JavaEE后端的网站。我刚刚对登录系统进行了编码,它工作正常 我在所有页面中都有一个包含的标题,其中包含一些针对未登录用户的选项(链接),如果用户已登录,则应显示其他选项。但是,在我登录之后,我有一个到帐户页面的调度程序,只有在您登录时才能访问该页面 问题是,当我第一次登录时,标题会更新并向用户显示其他选项,但当我单击标题的链接并将页面ex:更改为索引时。页面显示,但标题好像我没有登录。它还向我显示了登录页面,我应该能够使用它,因为我在 但在那之后,如果我刷新寻呼机(F5),标题会更新,一切正常 我有一个处理登录表单结果的登录操作:Java EE don';登录后不更新,java,jsp,model-view-controller,web,jsp-tags,Java,Jsp,Model View Controller,Web,Jsp Tags,我有一个带有JavaEE后端的网站。我刚刚对登录系统进行了编码,它工作正常 我在所有页面中都有一个包含的标题,其中包含一些针对未登录用户的选项(链接),如果用户已登录,则应显示其他选项。但是,在我登录之后,我有一个到帐户页面的调度程序,只有在您登录时才能访问该页面 问题是,当我第一次登录时,标题会更新并向用户显示其他选项,但当我单击标题的链接并将页面ex:更改为索引时。页面显示,但标题好像我没有登录。它还向我显示了登录页面,我应该能够使用它,因为我在 但在那之后,如果我刷新寻呼机(F5),标题会
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
String email = request.getParameter("email");
String password = request.getParameter("password");
HttpSession session = request.getSession(true);
RequestDispatcher dispatcher;
boolean exists = false;
if(action!=null){
switch (action){
case "login":
DAOLogin dl = new DAOLogin();
exists = dl.authenticate(email, password);
if(exists){
DAOUser du = new DAOUser();
int id = du.getUserId(email);
String name = du.getName(email);
String country = du.getCountry(email);
session.setAttribute("isLoged",true);
session.setAttribute("userid", id);
session.setAttribute("name", name);
session.setAttribute("email", email);
session.setAttribute("country", country);
request.setAttribute("message", "Successfully loged!");
//response.sendRedirect("/Account");
dispatcher = getServletContext().getRequestDispatcher("/Account");
dispatcher.forward(request, response);
}else{
session.setAttribute("isLoged", false);
request.setAttribute("error", "Wrong email or password.");
dispatcher = getServletContext().getRequestDispatcher("/Login");
dispatcher.forward(request, response);
}
break;
case "logout":
default:
session.invalidate();
request.setAttribute("message", "You loged out.");
response.sendRedirect("/");
}
}else{
response.sendRedirect("/Login");
}
}
我还在JSP页面中检查用户是否登录(登录页面):
您已登录
去。
所有页面中都包含header.jsp:
<header id="fh5co-header-section" class="sticky-banner">
<div class="container">
<div class="nav-header">
<a href="#" class="js-fh5co-nav-toggle fh5co-nav-toggle dark"><i></i></a>
<h1 id="fh5co-logo">
<a href="/"><img src="images/logo_index.png" width="65px"
height="65px"></img></a> <a href="/">Kalamu</a>
</h1>
<!-- START #fh5co-menu-wrap -->
<nav id="fh5co-menu-wrap" role="navigation">
<ul class="sf-menu" id="fh5co-primary-menu">
<li id="nav_index"><a href="/"><fmt:message key="nav.home" /></a></li>
<li id="nav_downloads"><a href="/Downloads"
class="fh5co-sub-ddown"><fmt:message key="nav.downloads" /></a></li>
<li id="nav_faq"><a href="/FAQ" target="_blank"
class="fh5co-sub-ddown"><fmt:message key="nav.faq" /></a></li>
<c:choose>
<c:when test="${sessionScope.isLoged}">
<li id="nav_account"><a href="/Account"><fmt:message key="nav.account" /></a></li>
<li id="nav_logout"><a href="/LoginAction?action=logout"><fmt:message key="nav.logout" /></a></li>
</c:when>
<c:otherwise>
<li id="nav_login"><a href="/Login"><fmt:message key="nav.login" /></a></li>
</c:otherwise>
</c:choose>
<!-- <li><a href="contact.html">Contact</a>
<ul class="fh5co-sub-menu">
<li><a href="#">Kalamu</a></li>
<li><a href="#">Kalamu+</a></li>
<li><a href="#">Kalamu++</a></li>
<li><a href="#">Kalamu Lite</a></li>
</ul></li>-->
</ul>
</nav>
</div>
</div>
</header>
希望有人能帮助我
谢谢 你有曲奇饼拦截器吗?听起来好像没有维护会话,这可能表明没有创建会话cookie。不,我没有任何cookie阻止程序。似乎您的代码在用户登录后命中了session.setAttribute(“isLoged”,false)(操作参数仍为'login'?是的,但当我刷新页面时,标题会更新,并且不会显示登录页面。您能否列出未记录有效用户值的情况?我的意思是会话何时可用,何时不可用?
<header id="fh5co-header-section" class="sticky-banner">
<div class="container">
<div class="nav-header">
<a href="#" class="js-fh5co-nav-toggle fh5co-nav-toggle dark"><i></i></a>
<h1 id="fh5co-logo">
<a href="/"><img src="images/logo_index.png" width="65px"
height="65px"></img></a> <a href="/">Kalamu</a>
</h1>
<!-- START #fh5co-menu-wrap -->
<nav id="fh5co-menu-wrap" role="navigation">
<ul class="sf-menu" id="fh5co-primary-menu">
<li id="nav_index"><a href="/"><fmt:message key="nav.home" /></a></li>
<li id="nav_downloads"><a href="/Downloads"
class="fh5co-sub-ddown"><fmt:message key="nav.downloads" /></a></li>
<li id="nav_faq"><a href="/FAQ" target="_blank"
class="fh5co-sub-ddown"><fmt:message key="nav.faq" /></a></li>
<c:choose>
<c:when test="${sessionScope.isLoged}">
<li id="nav_account"><a href="/Account"><fmt:message key="nav.account" /></a></li>
<li id="nav_logout"><a href="/LoginAction?action=logout"><fmt:message key="nav.logout" /></a></li>
</c:when>
<c:otherwise>
<li id="nav_login"><a href="/Login"><fmt:message key="nav.login" /></a></li>
</c:otherwise>
</c:choose>
<!-- <li><a href="contact.html">Contact</a>
<ul class="fh5co-sub-menu">
<li><a href="#">Kalamu</a></li>
<li><a href="#">Kalamu+</a></li>
<li><a href="#">Kalamu++</a></li>
<li><a href="#">Kalamu Lite</a></li>
</ul></li>-->
</ul>
</nav>
</div>
</div>
</header>