Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EE don';登录后不更新_Java_Jsp_Model View Controller_Web_Jsp Tags - Fatal编程技术网

Java EE don';登录后不更新

Java EE don';登录后不更新,java,jsp,model-view-controller,web,jsp-tags,Java,Jsp,Model View Controller,Web,Jsp Tags,我有一个带有JavaEE后端的网站。我刚刚对登录系统进行了编码,它工作正常 我在所有页面中都有一个包含的标题,其中包含一些针对未登录用户的选项(链接),如果用户已登录,则应显示其他选项。但是,在我登录之后,我有一个到帐户页面的调度程序,只有在您登录时才能访问该页面 问题是,当我第一次登录时,标题会更新并向用户显示其他选项,但当我单击标题的链接并将页面ex:更改为索引时。页面显示,但标题好像我没有登录。它还向我显示了登录页面,我应该能够使用它,因为我在 但在那之后,如果我刷新寻呼机(F5),标题会

我有一个带有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>