JSP页面的访问控制
1、 如何实现访问控制
用户直接访问网站的某个页面,系统会去查询是否保存有该用户的登录信息,如果有,则显示该页面的内容,如果没有,就转入登录页面,要求用户登录网站。
JSP为我们提供了一套会话跟踪机制,该机制可以维持每个用户的会话信息,也就是说,使用会话跟踪,可以为不同的用户保存不同的数据。
2、 什么是会话。
就Web开发来说,一个会话就是用户通过浏览器与服务器之间进行的一次通话,它包含浏览器与服务器之间的多次请求、响应过程。
当用户向服务器发出第一次请求时,服务器会为该用户创建唯一的会话,会话将一直延续到用户访问结束,浏览器关闭,本次会话结束。
3、 JSP内置对象session
JSP提供了一个可以在多个请求之间持续有效的会话对象session,session对象充许用户存储和提取会话状态的信息。
session对象用来存储有关用户会话的所有信息。
session对象的常用方法:
void setAttribute(String key,Object value):以键/值的方式,将一个对象的值存放到session中去。例如:session.setAttribute(“name”,”xinxin”); 把字符串xinxin存放到session中。
Object getAttribute(String key):根据键去获取session中存放的对象的值。
例如:String name = (String)session.getAttribute(“name”); 通过名称为name的键去获取session中存放的对象的值。
每个sesion对象都与浏览器一一对应,也就是说,重新开启一个浏览器窗口,相当于重新创建一个session对象,你在其他浏览器窗口保存的登录信息与新的浏览器窗口完全无关,所以系统会判定你尚未登录,必定跳转进入登录页面。
4、 include指令
JSP为我们提供了文件引用指令include。我们可以将一些共性的内容写入一个单独的文件中,然后通过include指令引用该文件,从而缓解代码的冗余问题,并且修改起来也更加方便,即对这些共性内容只需要修改那个独立的文件即可。
4.1、如果要为多个页面添加登录验证,有没有办法避免重复代码的出现。(权限控制)
登录验证文件checklogin.jsp
<%@ page import=”com.xinxin.entity.User” %>
<%
User user = (User)session.getAttribute(“LOGINED_USER”);
If(user == null){
response.sendRedirect(“login.html”);
}
%>
在其他页面可以这样引用:
<%@ include file=”checklogin.jsp” %>
5、 JSP内置对象application
类似于系统的全局变量,用于实现用户之间的数据共享。
application对象的常用方法如下:
void setAttribute(String key,Object value):以键/值的方式,将一个对象的值存放到application中。例如:application.setAttribute(“LOGINED_USER”,new ArrayList()); 把一个ArrayList对象存放到application中去,它对应的键是LOGINED_USER。
Object getAttribute(String key):根据键去获取application中存放对象的值。例如:
if(application.getAttribute(“LOGINED_USER”) != null) {
List loginedUsers = (List)application.getAttribute(“LOGINED_USER”);
}
6、 JSP的内置对象
JSP的内置对象
内置对象名称 |
说明 |
out |
用于向客户端输出数据 |
request |
主要用于客户端的请求处理 |
response |
用于响应客户请求并向客户端输出信息。 |
session |
用来存储有关用户会话的所有信息。 |
application |
类似于系统的全局变量,用于实现用户之间的数据共享。 |
pageContext |
用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 |
config |
用于存取servlet实例的初始化参数。 |
page |
表示从该页面产生的一个servlet实例。 |
Exception |
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象 |
7、 产生随机数
可以使用Math类的random()方法生成0,0~1.0之间的随机数。
JSP页面的访问控制相关推荐
- JSP 页面访问用户验证
jsp安全性问题,当别人知道某个jsp文件的网址后就可以跳过登陆页面直接访问该jsp文件了,这样无法禁止外部无权限用户的访问.本文讨论内容是通过权限验证的用户,才可以访问特定的页面. JSP 页面验证 ...
- 用定制标签库和配置文件实现对JSP页面元素的访问控制
用定制标签库和配置文件实现对JSP页面元素的访问控制 控制客户端访问是开发一个基于B/S的架构的系统的开发者必须考虑的问题.JSP或SERVLET规范的基于配置文件的安全策略对资源的控制是以文件为单位 ...
- Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决
在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决
- 关于jsp页面中的pageEncoding和contentType以及html中的meta标签中字符集的设置(转)...
转载:<关于JSP页面中的pageEncoding和contentType两种属性的区别> pageEncoding是jsp文件本身的编码 contentType的charset是指服务器 ...
- java jsp页面如何添加C标签
在https://mvnrepository.com/找两个jar包分别是: <dependency> <groupId>javax.servlet.jsp.jstl</ ...
- jasp报错_jetty启动访问jsp页面报错
jfinal3.5,jfinal jetty-server 2018.11,然后引入了apache-jsp和apache-jstl,访问jsp页面时还是提示org.apache.jasper.Jasp ...
- 在java中建个jsp文件_第一个jsp页面
安装JDK,配置JDK开发环境: //配置JAVA_HOME,在系统环境变量中创建: //变量名:JAVA_HOME //变量值:(JDK所在的根目录) C:\Program Files\Java\j ...
- SpirngMVC jsp页面空指针
SpirngMVC jsp页面空指针 ,这个错误基本上是jar包冲突,我看网上很多的方案 <dependency><groupId>javax.servlet</grou ...
- java图片文件字符串jsp_将图片转成base64字符串并在JSP页面显示的Java代码
*本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方 ...
最新文章
- VS2005中ajax安装指南[转]
- 阿里面试:索引失效的场景有哪些?索引何时会失效?
- MySQL笔记4:desc命令的两个用法
- 如何在Simulink中添加延迟环节
- linux终端常用命令和windows终端常用命令对比
- 判断 CGRect是否“为空”
- 【Nginx】通过反向代理配置本地图床功能
- Android布局_LinearLayout布局
- sql decimal 转string_音频怎么转文字?这个软件带你体验飞一般的感觉
- Leetcode每日一题:28.implement-strstr(实现strStr())
- 尝试使用iReport4.7(基于Ubuntu Desktop 12.04 LTS)
- Android Studio 编译输出中文乱码的解决办法
- Python开发语音聊天机器人
- 第二章:x264视频制作meGUI工具安装
- 牛客网-前端刷题记录(简单级)
- 深入理解GAN对抗生成网络
- 天宝AMD 300U物理机安装黑群晖处理内存不足的问题
- SpringCloud的实用篇
- textarea的placeholder怎么实现换行-新的方法
- 网络对抗 Exp4 恶意代码分析 20154311 王卓然
热门文章
- 【刷题】2.BM3 链表中的节点每k个一组翻转
- 体验家推出CEM报告 | 从入门到精通——文本分析应用指南
- Java中线程安全的集合
- 第30关:删除顺序表中指定值的所有元素
- 题解【acwing】95 费解的开关
- dfa matlab用法,用MATLAB实现DFA算法及报告.doc
- oppo手机用计算机充满电,OPPO手机的充电小技巧,打开这个开关,让你充一次电可玩三天...
- 最值得推荐的任务悬赏平台
- 巧用Windows 10 Xbox进行屏幕录像
- 好事多磨!《轩辕剑》电视剧版几经周折即将开机