jsp(2)
2016-04-12 12:04
671 查看
JavaBean简介
JavaBeans就是符合某种特定的规范的java类,使用Javabeans的好处是解决代码重复编写,
减少代码冗余,功能区分明确,提高了代码的维护性
JSP动作元素
JSP动作元素,动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名
的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
jsp动作标签
<jsp:useBeans>
作用:在jsp页面中实例化或者在指定范围内使用javabean:
<jsp:useBean id = "标识符" class = "java类名" scope = “作用范围”/>
<jsp:setProperty>
作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式
<jsp:getProperty>
作用:获取指定JavaBean对象的属性值
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围
page 仅在当前页面有效
request 可以通过HttpRequest.getAttribute()方法取得javaBean对象
session 可以通过HttpSession.getAttribute()方法取得JavaBean对象
application 可以通过application.getAttribute()方法取得javabean对象
JSP状态管理
http协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。
但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是
刚才那个浏览器
简单的说,就是服务器不会去记得你,所以就是无状态协议
保存用户状态的两大机制
Session、Cookie
Cookie是Web服务器保存在客户端的一系列文本
Cookie的作用
对特定对象的追踪
保存用户网页浏览记录与习惯
简化登录
安全风险:非常容易泄露用户的信息
JSP中Cookie的使用
创建: Cookie newCookie = new Cookie(String key,Object value);
写入: response.addCookie(newCookie);
读取: Cookie[] cookies = request.getCookies();
常用方法
void setMaxAge(int expiry) 设置cookie的有效期,秒为单位
void setValue(String value) 在cookie创建后,对cookie进行赋值
String getName() 获取cookie的名称
String getValue() 获取cookie的值
int getMaxAge() 获取cookie的有效时间,秒为单位
案例:
Session与Cookie的对比
session在服务器端保存用户信息
cookie在客户端保存用户信息
session中保存的是Object类型
cookie中保存的是String类型
session会随会话的结束而将其存储的数据销毁
cookie可以长期保存在客户端
session常用于保存重要的信息
cookie保存不重要的用户信息
指令与动作
include指令
语法:<%@include file="URL"%>
forward动作
<jsp:forward page="URL"/>
等同于
request.getRequestDispatcher("/url").forward(request,response);
param动作
<jsp:param name="参数名" value="参数值">
常常与<jsp:forward>一起使用,作为其的子标签
JavaBeans就是符合某种特定的规范的java类,使用Javabeans的好处是解决代码重复编写,
减少代码冗余,功能区分明确,提高了代码的维护性
JSP动作元素
JSP动作元素,动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法,有一个包含元素名
的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。
jsp动作标签
<jsp:useBeans>
作用:在jsp页面中实例化或者在指定范围内使用javabean:
<jsp:useBean id = "标识符" class = "java类名" scope = “作用范围”/>
<jsp:setProperty>
作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式
<jsp:getProperty>
作用:获取指定JavaBean对象的属性值
Javabean的四个作用域范围
说明:使用useBeans的scope属性可以用来指定javabean的作用范围
page 仅在当前页面有效
request 可以通过HttpRequest.getAttribute()方法取得javaBean对象
session 可以通过HttpSession.getAttribute()方法取得JavaBean对象
application 可以通过application.getAttribute()方法取得javabean对象
JSP状态管理
http协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。
但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是
刚才那个浏览器
简单的说,就是服务器不会去记得你,所以就是无状态协议
保存用户状态的两大机制
Session、Cookie
Cookie是Web服务器保存在客户端的一系列文本
Cookie的作用
对特定对象的追踪
保存用户网页浏览记录与习惯
简化登录
安全风险:非常容易泄露用户的信息
JSP中Cookie的使用
创建: Cookie newCookie = new Cookie(String key,Object value);
写入: response.addCookie(newCookie);
读取: Cookie[] cookies = request.getCookies();
常用方法
void setMaxAge(int expiry) 设置cookie的有效期,秒为单位
void setValue(String value) 在cookie创建后,对cookie进行赋值
String getName() 获取cookie的名称
String getValue() 获取cookie的值
int getMaxAge() 获取cookie的有效时间,秒为单位
案例:
<% request.setCharacterEncoding("utf-8"); String[] isUseCookies = request.getParameterValues("isUseCookie"); if(isUseCookies!=null&&isUseCookies.length>0){ //这样做可以解决cookie中不能保存中文的问题 String username = URLEncoder.encode(request.getParameter("username"),"utf-8"); String password = URLEncoder.encode(request.getParameter("password"),"utf-8"); Cookie usernameCookie = new Cookie("username",username); Cookie passwordCookie = new Cookie("password",password); usernameCookie.setMaxAge(864000); passwordCookie.setMaxAge(864000); response.addCookie(usernameCookie); response.addCookie(passwordCookie); }else{ Cookie[] cookies = request.getCookies(); if(cookies != null &&cookies.length > 0){ for(Cookie c : cookie){ if(c.getName().equals("username")||c.getName().equals("password")){ c.setMaxAge(0); response.addCookie(c); } } } } %>
Session与Cookie的对比
session在服务器端保存用户信息
cookie在客户端保存用户信息
session中保存的是Object类型
cookie中保存的是String类型
session会随会话的结束而将其存储的数据销毁
cookie可以长期保存在客户端
session常用于保存重要的信息
cookie保存不重要的用户信息
指令与动作
include指令
语法:<%@include file="URL"%>
forward动作
<jsp:forward page="URL"/>
等同于
request.getRequestDispatcher("/url").forward(request,response);
param动作
<jsp:param name="参数名" value="参数值">
常常与<jsp:forward>一起使用,作为其的子标签
相关文章推荐
- 理解 JavaScript 中的 Function.prototype.bind
- Koajs原理
- 五种js判断是否为整数类型方式
- golang json 处理
- 可视区域检测js
- 【bzoj1449】【JSOI2009】【球队收益】【费用流】
- 介绍一篇关于session的好文章,写的很详细(jsp-servlet 技术)
- js跨域问题
- 20款最好的JavaScript开发框架
- js日期加减
- 对象与json文件之间的转换
- slide.js使用文档
- 前台post提交表单时获取不到数据的原因
- eclipse项目里javascript总是验证,且出现最多的error是 "Description Resource Path Location Type Syntax error on toke
- js一百零一夜之第十四夜-正则表达式(1)
- JSON
- agent_web--common.jsp
- JayRock:JSON and JSON_RPC for .Net
- 笔记练习:《Javascript入门经典(第5版)》page185_15.10_Practice
- javascript设计模式--简单工厂模式