JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session
EL表达式语言
EL这是Expression Language。的目的是为了简化JSP句法。来看几个例子来清除。
${test} 它会被翻译成<%=test%>
${test.name} 会翻译成 <%=test.getName()%>
${sessionScope.username}} 会翻译成 <%=session.getAttribute("username")%>
仅仅有sessionScope、requestScope等才会翻译成getAttribute("xxx"),而其它的对象,会翻译成getXXX()。
EL中还支持四则运算、逻辑运算,语法和Java中的一样。EL中有隐含对象:pageContext、pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、initParam。
param等价于request.getParameter,paramValues等价于request.getParameterValues,返回的是字符串数组。
Java Bean
- 有默认构造函数
- 成员变量都是私有的,仅仅能通过getXX和setXX来訪问
- 可序列化(implements Serializable。可选。在分布式系统中才有意义)
Cookie
Cookies中包括三个属性,过期时间、路径、域名。所以在HTTP应答中Cookie的样子例如以下:
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=example.com
Servlet中的Cookie类有下面方法:
JSP中能够向应答中加入多个Cookie,每一个Cookie对象是一个键值对,能够往HTTP应答中写入多个Cookie。下面是一个演示样例:
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(86400);
response.addCookie(cookie);
读取Cookie能够通过request.getCookies获取一个Cookie数组。因为可能存在多个Cookie名字同样的情况,因此不能直接通过名称直接获得对应的Cookie。
删除Cookie能够将maxAge设为0,然后调用response.addCookie增加到应答中。
Session
HTTP是一个无状态的协议,所以server和浏览器须要一个方式来区分用户的身份。
首先。浏览器向server发送一个请求,server检測Cookie中是否有会话ID。假设server“不认识”这个会话ID(或者找不到会话ID),那么server会创建一个新的唯一编号,放在Map中,Key就是这个新的会话ID。Value就是空的Session对象。浏览器记下Cookie。在兴许的请求中都使用这个Cookie。假设server认识这个会话ID,那么server就会从Map中获取对应的Session对象。
sessionid能够放在Cookie中。也能够放在post表单中。也能够放在url中,比方http://example.com/page;JSESSIONID=45678943。
Session对象经常使用的方法例如以下:
Session的过期时间能够在web.xml文件里配置,单位为分钟。Tomcat中默认的超时时间是30分钟。
<session-config>
<session-timeout>15</session-timeout>
</session-config>
Session和Cookie的差别。分析差别之前还是先弄清楚是什么导致了它们的不同。在HTTP刚发明的时候。还没有Session的概念,因此开发人员仅仅能将重要的数据保存在Cookie中。可是Cookie的数据是保存在浏览器中的,用户能够随意改动,很不安全。因此有人提出了Session的概念,在Cookie中仅仅保存一串随机生成的SessionID,server依据SessionID查找相应的数据,这样。重要的数据就保存这里server上,用户不能随意改变,因此更安全。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session的更多相关文章
- JSP简明教程:汇总
原创JSP教程,简洁明了,不含废话. JSP简明教程(一):JSP简单介绍 JSP简明教程(二):JSP基本的语法 JSP简明教程(三):JSP隐含对象 JSP简明教程(四):EL表达式语言.Java ...
- Java EE JSP内置对象及表达式语言
一.JSP内置对象 JSP根据Servlet API规范提供了一些内置对象,开发者不用事先声明就可使用标准变量来访问这些对象. JSP提供了9种内置对象: (一).request 简述: JSP编程中 ...
- 实战1--应用EL表达式访问JavaBean的属性
(1)编写index.jsp页面,用来收集用户的注册信息 <%@ page language="java" pageEncoding="GBK"%> ...
- EL表达式语言
EL (Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ...
- 在jsp中怎么使用Cookie?el表达式中获取cookie的问题
初学jsp,不清楚cookie的使用方法,希望高手指点一下! 一般来说有两种办法,在JSP中使用Java的嵌入脚本. 例如: 写入Cookie <html> <head>. ...
- JSP页面无法识别EL表达式
昨天一直纠结一个问题,JSP页面无法获取${user}的值,一直显示的是${user},今天解决了,原来是JSP页面无法识别EL表达式. 我的web.xml的声明如下: <!DOCTYPE we ...
- JSP页面不支持EL表达式的解决方法
JSP页面不支持EL表达式的问题就出在新建项目时web.xml的声明上. web.xml声明部分一般分为如下版本的xsd: web-app_2_2.xsd web-app_2_3.xsd web-ap ...
- jsp页面无法解析EL表达式问题
Servlet版本的问题.原来Servlet中可以设定是否解析EL表达式,只有2.4版本的Servlet默认是解析EL表达式的,而其他版本是默认不解析EL表达式.于是把web.xml中使用的2.5版本 ...
- JSP的EL表达式语言
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...
随机推荐
- cocos2dx A* + tiledMap
本文转自:http://blog.csdn.net/w18767104183/article/category/1757765 前面一章讲了cocos2dx 中使用A星算法 这章中讲 A*结合tile ...
- Java调用摄像头截图
使用webcam-capture替换JMF调用摄像头 最近有个需要通过java调用摄像头,并截图的需求,在网上找了下资料,大部分是用一个叫jmf的库,但是jmf已经几百年没有更新,用起来各种问题.后来 ...
- Android HAL
- Thread Dump 和Java应用诊断(转)
Thread Dump 和Java应用诊断 Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力.虽然各 ...
- 使用CSS3制图
参考资料:http://blog.csdn.net/fense_520/article/details/37892507 本文非转载.为个人原创,转载请先联系博主,谢谢~ 准备: <!DOCTY ...
- HDU1194_Beat the Spread!
Beat the Spread! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Chrome应用技巧之代码整理。
我们有时候在看别人站点代码时往往是经过压缩的,代码都在一行上了,调试非常是困难,今天给大家介绍一种基本Chrome浏览器的代码整理方法.请看图:
- POJ1502(Dijkstra)
MPI Maelstrom Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5538 Accepted: 3451 题目链 ...
- 入门git
入门git 0x01前言 既然没有华丽的出场,那就平凡的分享,首先我要说明一点本篇文章针对Git初学者,对我自己学Git的资源的整合,其实本篇索引应该在我写Git系列文章的时候就紧跟着放上索引的, ...
- c++程序代写(qq:928900200)
1. Both main memory and secondary storage are types of memory. Describe the difference between the ...