Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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
如果JavaServlet会话为空,如何拒绝对jsp的访问?_Java_Jsp_Servlets - Fatal编程技术网

如果JavaServlet会话为空,如何拒绝对jsp的访问?

如果JavaServlet会话为空,如何拒绝对jsp的访问?,java,jsp,servlets,Java,Jsp,Servlets,我正在尝试使用Javaservlet、jsp和Glassfish服务器在NetBeans中开发一个web站点。 我在Servlet中使用以下代码为用户创建了一个会话: boolean logged_as_admin = Authentication.login_as_admin(name, pass); boolean logged_as_normal = Authentication.login_as_normal(name, pass); if(logged_

我正在尝试使用Javaservlet、jsp和Glassfish服务器在NetBeans中开发一个web站点。 我在Servlet中使用以下代码为用户创建了一个会话:

boolean logged_as_admin = Authentication.login_as_admin(name, pass);
        boolean logged_as_normal = Authentication.login_as_normal(name, pass);
        if(logged_as_admin){
            //creating a session
            HttpSession sessione_admin = request.getSession();
            sessione_admin.setAttribute("username", name);
            sessione_admin.setAttribute("logged_admin","Amministratore");
            response.sendRedirect("jsp/HomePage.jsp");

        } 
现在,如果用户尚未登录,我想阻止直接访问HomePage.jsp。 在主页中,我添加了以下代码:

<%
            HttpSession sessionsa = request.getSession(false);
            String username = (String) sessionsa.getAttribute("username");
        %>
我想要的是避免浏览器上出现Glassfish错误,并在会话为null或会话属性为null时显示自定义html页面,如
access\u denied.html
或其他内容

为了实现这一点,我必须在代码中修改什么?
谢谢,

检查会话验证是否为jsp页面

例如:

if(sessionsa.getAttribute("username")!=null) {

} else {
  redirect access denied page
}

问题不在于属性为null。
if(sessionsa.getAttribute("username")!=null) {

} else {
  redirect access denied page
}