JSP基本概念

全称:java server pages (java服务器页面)

1.作用:

  • 使得程序员专注于页面的编写,

  • 可以被tomcat翻译成对应的可执行的java文件。

⒉构成:

  • 是一种动态页面模板技术

  • 主体内容可以是html代码

  • 也可以在主体中随处插入java代码

  • 提供了九大内置对象方便程序员使用,其中有四个对象可以作为四大作用域使用

3.执行流程:

  • 1.浏览器发送请求,访问jsp页面

  • 2.应用服务器接收请求,jspservlet会帮助我们查找对应的jsp文件

  • 3.应用服务器将.jsp文件翻译成.java文件

  • 4.jvm会将java文件编译成class文件

  • 5.应用服务器运行class文件,生成动态的html页面

  • 6.应用服务器将动态生成的页面发送给浏览器

  • 7.浏览器接收html页面,解析展示

4.JSP的指令:

作用:用来声明jsp页面的一些属性和动作

格式:<%@指令名称 属性="值” 属性="值"%>

常见的指令: 1.page:声明jsp页面的属性 language:声明jsp页面使用的嵌套语言

contentType: 设置响应流的类型和编码格式

pageEncoding: jsp页面的编码格式

import: 导包

session:设置jsp页面是否可以用session内置对象

isErrorPage:设置是否是错误页面

isELIgnored:设置是否忽略EL表达式

2.include:静态包含

格式:<%@include file="相对路径或者内部路径"%>

作用:将其他页面的内容包含进来,一起进行编译和运行。

3.taglib:导入标签库

格式:<%@taglib prefix=“前缀名" uri="命名空间"%>

作用:引入标签库到本页面,本页面中可以使用 前缀名:标签...

5.jsp的脚本: <%...%>:编写java代码,作为页面的脚本

<%=...%>:输出表达式,简化out.write() <%!. ..%>:全局声明,只能用于声明变量,会在所有脚本执行之前执行,可以在页面任意位置

案例:使用表格展示用户的信息

6.jsp注释

html注释 : <!-- -->

Java注释: // /**/

jsp注释: <%-- --%>

7.jsp的九大内置对象

对象名内置对象数据类型
输出对象outJspwriter
请求对象requestHttpservletRequest
响应对象responseHttpservletResponse
应用对象applicationservletContext
页面上下文pageContextPagecontext
会话对象sessionHttpSession
异常对象exceptionThrowable
配置对象configeservletconfig
页面对象pageservlet (this)

out输出对象:向页面输出内容,类似servlet中的输出流对象writer

request请求对象:

  • 1.设置请求编码格式

  • 2.封装请求数据

  • 3.获取请求数据

  • 4通过转发实现页面的跳转 可实现请求数据的共享

response响应对象:

1.通过Cookie绑定数据,然后通过response响应给客户端并保存,客户端可以通过request获取Cookie

  • Cookie是服务端产生的,发送给服务端保存,相当于本地的缓存,提高访问效率,但是安全性较低

  • Cookie可以以键值对的形式保存数据

  • Cookie可以设置最大有效的时间

案例:使用cookie实现记住用户名

2.设置响应的格式

3.通过重定向实现页面的跳转

8.jsp四大作用域

  • application:

    作用域是整个项目,项目重启或者关闭,数据丢失。如果项目不关闭,所有用户访问该项目的所有页面均可以访问application中的数据

  • session:作用域是一次会话,关闭浏览器数据丢失,如果会话不中断,本次会话访问的所有页面均可以获取session中的数据。

  • request:作用域是一次请求,发送另一次请求时,数据无法共享

  • pageContext:作用域是本页面,不同的页面无法共享数据

9.转发和重定向

  • 1.转发是request对象的方法,重定向是response对象的方法。

    转发:request.getRequestDispatcher("目标页面路径").forward(request,response);

    重定向: response.sendRedirect("目标页面路径");

  • 2.转发url地址不改变,重定向url地址改变

  • 3.转发是服务器行为,重定向是客户端行为。

  • 4.转发是一次请求,重定向是两次请求

  • 5.转发只能是内部网址,重定向可以是外部网址

  • 6.转发请求数据不会丢失,重定向请求数据会丢失

10.jsp的动作标签

转发动作标签:<jsp:forward page="目标页面路径"> < /jsp:forward>

11.动态包含和静态包含的区别

动态包含:<jsp:include page="目标页面路径"> < /jsp:include>

  • 两个jsp页面会独立翻译成java文件然后编译执行。

  • 在运行时,将目标页面的视图显示到本页面中来。

  • 动态包含不会真实的引入代码,而是引入视图。

静态包含:<%@include file="相对路径或者内部路径"%>

  • 将目标页面的代码全部引入本页面。

  • 然后只翻译本页面为java文件,最后编译执行。

  • 静态包含会真实的引入代码。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值