java中jsp结尾的文件_13-Java-JSP知识梳理

一、JSP了解

JSP(java server pages,服务器页面),可理解为HTML+ Java = = JSP,它可生成动态的HTML(拼标签)。是以.jsp为后缀的文件,

内容是以标签为主体,可以内联java代码,本质上是servlet。

二、JSP文件创建

第二步:在项目文件夹下的webRoot下创建.jsp结尾的文件

第三步:jsp文件的默认编码为:ISO-8859-1,需修改为utf-8,步骤如下:

点击Window->点击Preference->在搜索框中输入jsp->找到JSP并点击->在右侧的Encoding下拉框中向上翻选中UTF-8

三、JSP引擎

大概了解

JSP引擎和JSP容器指的同一样东西,他们都指用来统一管理和允许Web应用程序的软件,常见的JSP引擎有Tomcat、JRun等,最常用的就是Tomcat。

安装JSP引擎的计算机,其实就是Web服务器。当浏览器要访问一个JSP文件时,JSP文件会经过JSP引擎转换为一个Servlet,被编译成class,然后通过class

生成的的对象给用户进行响应。

JSP执行流程

首先请求JSP引擎,将文件生成java文件,再将java文件编译成class文件,再通过class创建对象,然后给用户响应

四、JSP页面组成部分

1.静态内容

2.指令

JSP指令用来设置整个JSP页面相关的属性,指令可以有多个属性,以键值对的形式表示,并用空格隔开

1)与页面相关的page指令:设置页面相关的属性

79b200e434d2127edff65a0cee26fe17.png

2)与文件引入相关的include指令:将一个外部文件嵌入到另一个JSP或HTML文件,同时解析这个页面中的JSP语句

3)与标签相关的taglib指令:使用标签库定义新的自定义标签

2859a51140a33e94e122e229566ee19e.png

3.表达式

提供的是一种特殊的JSP语法格式,用来将java中的变量输出到页面上,是出现在__jspService方法中的

在Servlet中所生成的代码为:

out.print(变量名);

在JSP文件中使用如下:

4.小脚本

在JSP文件中编写的java代码,在引擎解析后,也是出现在__jspService方法中的

在JSP文件中使用如下:

show();

System.out.println("这就是小脚本的作用");

%>

5.声明

其实就是Java程序中的成员声明,可以用来声明成员变量、成员方法。此处的声明都是出现在类体中的而不是出现在方法体中的

在JSP文件中使用如下:

private Integer num = 10;

public void show(){

System.out.println(num);

}

%>

6.注释

JSP注释分三种:

HTML注释:(客户端可见)

JSP注释:(客户端不可见)

JSP脚本注释:

//单行注释

/*多行注释*/

五、案例

1.JSP代码

1

2

3 Listlist=DealWithorder.findAll();4 %>

5

6

7

8

9

订单表10

11

12

13

14

15

下单时间

16

姓名

17

详细地址

18

预留电话

19

车牌号码

20

故障描述

21

预约时间

22

23

24

25 for(order o : list){26 System.out.println(o);27 %>

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42 }43 %>

44

45

46 当前 页/共 页 首页 上一页 1 2 3 ... 下一页 尾页47

48

49

50

2.页面效果

3e333224cfdd315e4080bc04bbb898ff.png

六、JSP九大内置对象

大概了解

内置对象(又称隐含对象),在JSP中不需要创建(由服务器/容器创建),可以直接使用的对象

内置对象

out:

out对象是JSPWriter类的实现,是向客户端输出内容常用的对象

类型:JSPWriter

作用:向客户端进行响应字符打印流

request(四大作用域对象之一,important):

类型:HttpServletRequest

作用:请求对象,包含了请求信息

getParameter("key");获取用户提交的表单信息

setCharcterEncoding("字符集");设置请求编码格式,防止乱码

setAtrribute("key","value");将数据保存到Request范围内的变量

forward(String url);转发

getParametersValues(String name);返回包含参数name所有值的数组

response(important):

类型:HttpServletResponse

作用:响应对象,用来给用户进行响应

addCookie();将一个Cookie对象发送到客户端

sendRedirect(String url);重定向

session(四大作用域对象之一,important):

类型:HttpSession

作用:会话对象,用来进行数据的共享和会话的跟踪

setMaxInactiveInterval(int num);设置session对象的有效活动时间

invalidate();销毁当前的session

application(四大作用域对象之一,important):

类型:ServletContext

作用:全局的Servlet上下文对象,每个应用只有一个,从应用启动,就创建了,直到应用消亡,对象才被释放。

config:

类型:ServletConfig

作用:Servlet配置对象,较少使用

page:

类型:Object

作用:指的当前JSP页面对象

pageContext(四大作用域对象之一,important):

类型:pageContext

作用:页面的上下文,用来在一个页面中进行数据的共享与通信

exception:

类型:Throwable

作用:常用于错误处理的页面,用来收集其他页面产生的错误信息,只有isErrorpage="true"时,才会产生这个对象

七、JSP四大作用域

大概了解

为了页面、请求和用户之间传递和共享数据,JSP提供了四个不同的作用域:pageContext(页面作用域)、request(请求作用域)、

session(会话作用域)、application(应用程序作用域),这些作用域规定了数据可以传递和共享的范围以及数据的存活时间。

四大作用域(由上向下,作用域范围由小到大)

pageContext:一个页面

request:一个请求(可能包含多个页面)

session:一次会话(可能包含多次请求,默认数据存储时间30分钟)

application:一次服务(包含多次会话)

常用方法:

setAtrribute("key","value");将数据保存在对应作用域范围内的变量

Object val = getAtrribute("key");将数据从对应作用域范围内取出来

removeAtrribute("key");将指定数据从对应作用域范围内的删除

1.添加数据到对应的作用域

089a836ab623ec4f49ba6ccdeebf0bb3.png

2.将数据从对应的作用域取出来

9b79dc830a7c4eb958aacf06511c73f8.png

3.方式二取值结果(从作用域小的先取值)

4a45019b485cf0232ce0c1db41439c30.png

4.将数据转发到页面

7d95eaac7d5b40a1f359d728cfe8cd33.png

e50dd4ba87c25fa412adf2ab8abcac7e.png

798806bbb156744e5e0dd0c4ea2b6eb1.png

5.将数据重定向到页面

c280969c2f8c2c34cdd21a8db7e65df8.png

80963e4b3f6ac3b1e6cdcc3c708389fc.png

5601ebf325ce619154eda1c5fe586565.png

6.请求转发和请求重定向的区别

请求重定向:客户端行为,response.sendRedirection("redirect.jsp");从本质上等于两次请求,前一次的请求对象不会保存,地址栏的url地址会改变

请求转发:服务器行为,request.getRequestDispatcher("forward.jsp").forward(request,response);是一次请求,转发后请求对象会保存,地址栏和url地址不会改变

八、EL表达式

用于快速从域对象中取出信息,并输出至网页

格式:

取出基本数据类型的格式:${key}

取出对象的属性的格式:

${对象的key.属性名}

取出数组/集合中对象的属性值:

方式1:${数组的key[下标].属性名称}

方式2:${数组的key[下标]["属性名"]}

方式3:${数组的key[下标][属性名的key]}

EL表达式获取数据流程:

采用就近原则,按照四大作用域由小到大的顺序依次取数据。

九、JSP的六大动作

include动作

用于引入jsp文件,在转换时期,是没有引入的,只有当执行到include代码的时候才会被动态的编译载入

include动作与include指令区别:

include指令是JSP程序的转换时期,将引入的文件嵌入,然后容易进行编译

userbean、setProperty、getProperty动作

用于给实体对象赋值

forward动作、param动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值