一、会话技术

  1、概念:在一次会话中共享数据,在web中指,浏览器和服务器的一次通信。包含多次请求,和多次响应。

  可以在一次会话的多次请求中共享数据。

  2、客户端会话技术:Cookie

  将数据保存在客户端 服务器压力不大 但数据不安全;Cookie默认存储在浏览器的内存中

  //发送cookie:

  Cookie c = new Cookie(msg,hehe);

  response.addCookie(c);

  //接受cookie:

  Cookie[] cs = request.getCookies();

  if(cs != null){

  for(Cookie c : cs){

  String name = c.getName();

  if(msg.equals(name)){

  String value = c.getValue();

  }

  }

  }

  //设置Cookie的存活时间,可以使其持久化

  setMaxAge(int second):

  正数:存在硬盘上

  负数:默认值-1 存在浏览器内存中

  0:删除cookie

  //使用cookie传递中文

  Cookie uc = new Cookie(username, URLEncoder.encode(username, utf-8));//编码

  username = URLDecoder.decode(c.getValue(), utf-8);//解码

  3、服务端会话技术:Session

  将数据保存在服务端 数据安全 服务器压力大;session依赖于cookie存在

  //1.获取session

  HttpSession session = request.getSession();

  //2.存储数据

  session.setAttribute(msg, hehe);

  //3.获取数据

  Object msg = session.getAttribute(msg);

  //销毁session

  session.invalidate()

  //销毁 session 超时30分钟就会自动销毁

  session-config

  session-timeout30/session-timeout

  /session-config

  二、jsp —— java servlet page

  1、概念:是一种既可以写HTML语言也可以写Java代码的页面,JSP的本质是一个Servlet

  语法:

  %! int num=1000; % 生成的Java代码在成员位置

  % System.out.println(hello); % 生成的代码在service()方法中

  %= hello world % out.print(hello word);

  %-- jsp专用注释 --% 注释

  2、三大指令:配置JSP页面的属性或者导入一些额外的内容

  %@ 指令名称 属性名=属性值 %

  1)page指令

  language:java

  import:导入软件包

  pageEncoding:utf-8

  autoFlush:自动刷新

  buffer:缓冲区大小

  errorPage:指定错误页面

  isErrorPage:是否是错误页面 可以使用内置对象exception

  2)taglib指令

  导入额外的内容

  %@ taglib uri=http://java.sun.com/jsp/jstl/core prefix=c %

  prefix:指定标签前缀,这个东西可以随意起名

  uri:指定第三方标签库的uri(唯一标识)

  3)include指令

  静态包含%@include file=页面% 包含后,只会存在一个.class文件

  3、六个动作标签

  1)jsp:useBean id=对象名 class=包名.类名 scope=作用范围(request/page/application/session)/

  jsp:setProperty name=javaBean对象 property=javaBean对象属性名 param=username/

  jsp:getProperty name=javaBean对象 property=javaBean对象属性名 /

  2)jsp: include page=included.jsp flush=true / 动态包含 多个.class字节码文件

  3) jsp:forward page=/index.jsp

  jsp:param name=msg value=hehe/

  /jsp:forward

  4、九个内置对象

  1)out 输出对象 向客户端输出数据,字节流.如out.print(hello);

  2)request 请求对象 接收客户端的http请求

  3)response 响应对象 a:addCookie(Cookie cookie); b:sendRedirect(/wel.jsp)

  4)session 会话对象 getAttribute(String name)

  5)application 应用程序对象 它是ServletContext类的实例

  6)page 页面对象 代表jsp这个实体本身,即当前页面有效.相当于java中的this

  7)exception 例外对象 代表运行时的异常

  8)pageContext 页面上下文对象 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问

  9)config 配置对象 jsp对应的servlet的配置,可以得到web.xml中的初使化参数

会话技术及jsp概述的更多相关文章

  1. JavaWeb-10(会话技术之session&JSP)

    JavaWeb-会话技术之session&JSP 会话管理之Session技术 一.Session 在WEB开发中,server能够为每一个用户浏览器创建一个会话对象(session对象),注 ...

  2. JSP入门&会话技术

    一.JSP    1.jsp技术        jsp是sun提供动态web资源开发技术.为了解决在Servlet中拼写html内容css.js内容十分不方便的问题,sun提供了这样一门技术.如果说S ...

  3. 会话技术: Cookie Session JSP

    ##  Cookie A..概念:客户端会话技术,将数据保存到客户端 B.使用步骤: 1.创建Cookie对象,绑定数据 new Cookie(String  name, String value) ...

  4. JavaEE之动态页面技术(JSP/EL/JSTL)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  5. 会话技术——Cookies和Session详解

    会话技术 (一) 概述.用途以及分类 (1) 基本概述 概述:会话是浏览器和服务器之间的多次请求和响应 也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和 ...

  6. 会话技术( Cookie ,Session)

    会话技术:    会话:浏览器访问服务器端,发送多次请求,接受多次响应.直到有一方断开连接.会话结束.        解决问题:可以使用会话技术,在一次会话的多次请求之间共享数据.           ...

  7. Java实战之04JavaWeb-03会话技术

    一.会话技术简介 1.什么是会话,为什么需要会话技术? 会话:从打开一个浏览器,访问某个网站,到关闭这个浏览器的这个过程称为一次会话.http协议是状态的. 2.会话技术的分类 客户端存储技术:Coo ...

  8. 会话技术cookie和session详解

    什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一 ...

  9. web基础之会话技术

    一.会话技术之Cookie Cookie技术是将数据存储到客户端 1.怎样去向客户端写出一个cookie 1)创建Cookie对象 Cookie cookie = new Cookie(name,va ...

随机推荐

  1. Windows程序自启动方法汇总

    文件夹 一.当前用户专有的启动文件夹 二.对所有用户有效的启动文件夹 三.Load注册键 四.Userinit注册键 五.Explorer\Run注册键 六.RunServicesOnce注册键 七. ...

  2. 关闭WPS启动时显示的在线模板

    关闭WPS启动时显示的在线模板 以WPS2016为例,如下图: 操作步骤如下: ①点击在线模板页面右下方的"设置"选项 ②"设置"界面打开后,选择启动WPS默认 ...

  3. 软件包管理:rpm命令管理-包命名与依赖性

    rpm包的管理主要有两种方法:一种是rpm命令管理另一种是yum在线管理 注意软件包没有扩展名,写上只是为了好看,便于识别而已. 注意区别包名,包全名.之所以要区分,就是因为有些命令十分挑剔,需要跟正 ...

  4. phper

    0 坚持写博客,有独立的博客1 有自己的github项目,目前致力于瓦力:meolu/walle-web · GitHub,瓦尔登:meolu/walden · GitHub变得更实用,欢迎标星:)2 ...

  5. Java内存管理(一):深入Java内存区域

    本文转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html#undefined 推荐查看原文,原文格式更好一些. 本文引用自:深 ...

  6. Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法

    Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...

  7. Python之路----生成器函数进阶

    def generator(): print(123) yield 1 print(456) yield 2 g = generator() ret = g.__next__() print('*** ...

  8. kafka生产者和消费者

    在使用kafka时,有时候为验证应用程序,需要手动读取消息或者手动生成消息.这个时候可以借助kafka-console-consumer.sh和kafka-console-producer.sh 这两 ...

  9. nginx作防盗链设置

    盗链是一种损害原有网站合法权益,给原网站所在服务器造成额外负担的非法行为. 盗链的实现原理: 客户端向服务器请求资源时,为了减少网络带宽,提高响应时间,服务器一般不会一次将所有资源完整地传回给客户端. ...

  10. Jquery获取敲击回车时光标所在的位置

    $(document).keyup(function(event){ ){ //是否是回车 var el = event.srcElement || event.target; var input_t ...