Java Web第三章知识点

1.JSP是一种动态页面技术,主要目的是将表示逻辑从Servlet中分离出来实现表示逻辑(即更好的表示界面)。

2.JSP页面元素

JSP页面元素简要说明标签语法
声明定义变量和声明方法<%! Java声明   %>
小脚本执行业务逻辑的Java语言

<% Java代码    %>

表达式用于在JSP页面输出表达式的值<%=表达式       %>
指令指定转换时容器发出的指令<%@指令         %>
动作向容器提供请求时的指令<jsp:动作名        />
EL表达式表达式语言${applicationScope.email}
注释用于文档注释<%-- 任何文本--%>
模板文本HTML标签和文本同HTML规则

3.三种脚本元素:声明、小脚本、表达式

JSP声明:<%!LocalData date=null; %>//声明语句必须以分号结束

声明的变量仅在页面第一次载入时由容器初始化一次,初始化后在后面请求中一直保持改值

小脚本:嵌套在JSP页面的Java代码段,小脚本在每次访问页面时都被执行,

eg:<% date=LocalDate.now();%>因此每次请求时都会返回当前日期

由于是java代码段,因此语句结束必须以分号结束

JSP表达式:在页面每次被访问时都会进行表达式计算,表达式不能以分号结束

JSP指令:有关于JSP页面的总体信息,指令有三种:page、include、taglib指令

page通知容器有关于JSP页面的总体特性
include实现把另外一个文件(HTML、JSP等)的内容包含到当前页面中
taglib用来指定在JSO页面中使用标准标签或自定义标签的前缀与标签库的URI

(属性值必须使用一对单引号或双引号括起来;在“=”与值之间不能有空格)

JSP动作:页面发送给容器的命令,指示容器在页面执行期间完成某种任务。

常见的JSP动作:

jsp:include在当前页面中包含另外一个页面的输出
jsp:forward将请求转发到指定的页面
jsp:useBean查找或创建一个JavaBeans对象
jsp:setProperty设置JavaBeans对象的属性值
jsp:getProperty返回JavaBeans对象的属性值
jsp:plugin在JSP页面中嵌入一个插件

4.JSP页面生命周期:

JSP页面从结构上看与HTML页面类似,但实际上是作为Servlet运行

JSP页面实现类:JSP页面第一次被访问时,将进行扫描,Web容器将会将其转化为相应的Java文件,该文件声明了一个Servlet类,称之为页面实现类。

JSP页面执行过程:(JSP扫描转化为Java文件,编译找出页面实现类,根据页面实现类对其进行初始化、提供服务和销毁服务)

5.JSP九大隐含变量:(可在JSP页面脚本直接调用,无需定义)

application引用Web应用程序上下文
session引用用户会话
request引用页面当前请求对象
response用来向客户发送一个响应
out引用页面输出流
page引用页面的Servlet实例
pageContext引用页面的上下文实例
config引用Servlet的配置对象
exception用来处理错误

request与response变量:与其在Servlet中使用一致,即分析请求和发送响应。

out变量:使用print()和println()完成输出

application变量:使用其getAttriute()方法检索存储在上下文的数据

session变量:在JSP页面中表示HTTP会话对象。

exception变量:用作其他页面的错误处理器

config变量;*

pageContext变量:PageContext类,存储隐含对象的引用;提供不同作用域内返回或设置属性的方法;提供forword()和include()实现将请求转发到另外一个资源和将一个资源输出包含到当前页面的功能。

page变量:

6.page指令属性:

import导入到JSP页面使用的Java类和接口
pageEncoding指定JSP文件的字符编码
language指定容器支持的脚本语言(默认Java)
session指定JSP页面是否加入HTTP会话

 7.JSP组件包含

静态包含:include指令在JSP页面转换阶段将另外一个文件的内容包含到当前JSP页面<%@  include file="被包含的文件">
动态包含:include动作请求时将另外一个页面的输出包含到当前主页面的输出<jsp:include page="relativeURL(相对URL)" flush="true|false">
<jsp:forword>动作将请求转发到组件,然后由转发到组件把响应发送到客户<jsp:forword page="相对URL">(在MVC设计模式之中,控制逻辑应该由控制器是实现)

8.四大作用域对象:所有隐含变量以及用户定义的对象都处于这四种作用域之一,这些作用域定义了对象存在性和从JSP页面和Servlet中的可访问性(从上到下作用域范围依次减小)

应用作用域application在整个Web应用程序中有效
会话作用域session在一个用户会话范围之中有效
请求作用域request在用户的请求和转发的请求之中有效
页面作用域pageContext只在当前页面之中有效 

9.JavaBeans是Java平台的组件技术,在Java Web中常用JavaBeans来实现存放数据、封装业务逻辑等,从而实现业务逻辑,和表示逻辑的分离。

JavaBeans最大的好处是实现了代码的重用,使得程序更加易维护

JavaBeans是使用Java语言定义的类,需满足以下三个要求

1)JavaBeans应该是public类,并且具有无参数的public构造方法

2)JavaBeans类的成员变量一般称作属性,每个属性的访问权限一般被定义为private而不是public,属性名必须以小写字母开头

3)每个属性一般定义两个方法,一个是访问方法(getter)另外一个是修改方法(setter),使用它们来访问和修改JavaBeans的属性值

eg:JavaBeans类中有一个String类型的color属性,访问方法和定义方法如下:

//访问方法
public String getcolor{
       return this.color:
}
//修改方法
public String setcolor{
        this.color=color;
}

属性为布尔类型时,访问方法应该定义为isXxx()

public boolean isVald(){
       return this.isVald;
}

*JavaBeans与EJB(企业JavaBeans)并不一样,后者属于Java EE应用中的组件技术。

10.JSP页面中使用JavaBeans

三个动作来实现:

<jsp:useBean>动作:用来在指定的作用域中查找或创建一个bean实例,

属性说明:id:标识bean实例;scope:bean的作用域范围(默认为page);class指定创建bean实例的Java类(实现类,如果该类属于某个包,则必须指定类的全名,如com.demo.Customer)

<jsp:setProperty>动作:

<jsp:getProperty>动作

11.MVC设计模式

Web组件分为模型(Model)、视图(View)、控制器(Controller)

一般步骤:

1.定义JavaBeans存储数据,使用JavaBeans对象或者实体类来存放数据。

2.使用Servlet处理请求,使用Servlet或者Filter充当控制器,从请求中读取请求信息、创建JavaBeans对象、执行业务逻辑,最后将请求转发到视图组件(JSP页面)

3.结果与存储:将这些对象存储在JSP页面能够访问到的地方,在Web中主要可以在以下三个位置存储JSP页面所需数据,分别为HttpServletRequest对象、HttpSession对象和ServletContext对象

4.转发请求到JSP页面,使用请求作用于共享数据时,应该使用RequestDispatcher对象的forword()方法将请求转发到JSP页面;在使用会话作用域共享数据时,应该是响应对象的sendRedirect()方法

5.从JavaBeans对象中提取数据

12.错误处理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值