Java Web基础学习(二)

Javabean

Javabean简介:它是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。

Javabean的实现原则公有类、无参的公有构造方法、属性私有、getter和setter方法。

JSP动作元素:动作元素为请求处理阶段提供信息。动态元素遵循XML元素的语法,有一个包含元素名的开始标签,可以有属性、可选的内容、与开始标签匹配的结束标签。

Javabean类别

²  与存取JavaBean有关的,包括:

<jsp:userBean><jsp:setProperty><jsp:getProperty>

²  JSP1.2就开始有的基本元素,包括6个动作元素

<jsp:include><jsp:forward><jsp:param><jsp:plugin><jsp:params><jsp:fallback>

²  JSP2.0新增加的元素,主要与JSP Document有关,包括6个元素

<jsp:root><jsp:declaration><jsp:scriptlet><jsp:expression><jsp:text><jsp:output>

²  JSP2.0新增的动作元素,主要是用来动态生成XML元素标签的值,包括3个动作

<jsp:attribute><jsp:body><jsp:element>

²  JSP2.0新增的动作元素,主要是用在Tag File中,有2个元素

<jsp:invoke><jsp:dobody>

在Jsp页面中使用Javabeans

1)  像使用普通java类一样,创建javabean实例。

2)  在Jsp页面中通常使用jsp动作标签使用javabean。动作标签包括:useBeans动作、setProperty动作、getProperty动作。

n  <jsp:useBeans>作用:在jsp页面中实例化或者在指定范围内使用javabean:

<jsp:useBean id=“标识符” class=”java类名” scope=”作用范围”/>

n  <jsp:setProperty>作用:给已经实例化的Javabean对象的属性赋值,一共有四种形式。

<jsp:setProperty name=”JavaBean实例名”property=”*”/>(跟表单关联)

<jsp:setProperty name=”JavaBean实例名”property=“JavaBean属性名”/>(跟表单关联)

<jsp:setProperty name=”JavaBean实例名”property=”JavaBean属性名” value=”BeanValue”/>(手工设置)

<jsp:setProperty name=”JavaBean实例名”property=”propertyName” param=”request对象中的参数名”/>(跟request参数关联)

n  <jsp:getProperty>作用:获取指定Javabean对象的属性值。

<jsp:getProperty name=”JavaBean实例名”property=”属性名”/>

Javabean的四个作用范围

说明:使用userBeans的scope属性可以用来指定javabean的作用范围。

²  page:仅在当前页面有效

²  request:可以通过HttpRequest.getAttribute()方法取得JavaBean对象

²  session:可以通过HttpSession.getAttribute()方法取得JavaBean对象

²  application:可以通过application.getAttribute()方法取得JavaBean对象

 

Model1简介

Model1模型出现前,整个Web应用的情况是几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。

弊端:在界面层充斥着大量的业务逻辑代码和数据访问层的代码,Web程序的可靠展性和可维护性非常差。

Javabean的出现可以使jsp页面中使用JavaBean封装的数据或者调用javabean的业务逻辑代码,这样大大提升了程序的可维护性。

Model1模式:JSP + JavaBean模式

 

JSP状态管理

http协议的无状态性

无状态指:当浏览器发送请求给服务器是,服务器响应客户端请求。但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器。简单说:即服务器不会记得你,故为无状态协议。

Cookies概述

保存用户的状态的两大机制:Session和Cookie(客户端技术)

Cookies技术:名称为“小甜饼”,是Web服务器保存在客户端的一系列文本信息。应用:判断注册用户是否已经登录网站;购物车的处理。生活应用:系统会自动记录已经浏览过的视频,记住用户名和密码实现自动登录功能。

Cookies作用:

²  对特定对象的追踪

²  保存用户网页浏览记录与习惯

²  简化登录

安全风险:容易泄露用户信息

Jsp中创建与使用Cookie

创建Cookie

Cookie newCookie = new Cookie(String key,Object value);

写入Cookie对象

Response.addCookie(new Cookie);

读取Cookie对象

Cookie[] cookies = request.getCookies();

Jsp中创建与使用Cookie常用方法

方法名称

说明

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类型

随会话的结束而将其存储的数据销毁

Cookie可以长期保存在客户端

保存重要的信息

保存不重要的用户信息

 

JSP指令与动作

Include指令

语法:<%@include file=”URL”%>

Include动作动作标签

语法:<jsp:include page=”URL “,flush=”true|false”/>

常用属性包括:page(要包含的页面)和flush(被包含的页面是否从缓冲区读取)

Include指令与include动作区别

 

Include指令

Jsp:include动作

语法格式

<%@include file=”..”%>

<jsp:include page=”..”>

发生作用的时间

页面转换时间

请求时间

包含的内容

文件的实际内容

页面的输出

转换成Servlet

主页面和包含页面转换为一个Servlet

主页面和包含页面转换为独立的Servlet

编译时间

较慢——资源必须被解析

较快

执行时间

稍快

较慢——每次资源必须被解析

Forward动作

语法:<jsp:forward page=”URL”/>等同于:

request.getRequestDispatcher(“/url”).forward(request,response);

param动作

语法:<jsp:param name=”参数名” value = “参数值”>

常常与<jsp:forward>一起使用,是其子标签。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值