如果JavaServlet会话为空,如何拒绝对jsp的访问?
我正在尝试使用Javaservlet、jsp和Glassfish服务器在NetBeans中开发一个web站点。 我在Servlet中使用以下代码为用户创建了一个会话:如果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_
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
}