JSP基本概念

        JSP的全称是:Java Server Pages(Java服务器页面)。

(1)作用:使程序员专注于页面的编写;可以被tomcat翻译成对应的可执行的Java文件。

(2)构成:是一种动态页面模板技术;主体内容可以是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设置响应流的类型和编码格式
pageEncodingjsp页面的编码格式
import导包
session设置jsp页面的是否可以用session内置对象
isErrorPage设置是否是错误页面
isELIgnored设置是否忽略EL表达式

                2、include:静态包含

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

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

                3、taglib:导入标签库

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

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

(5)jsp脚本

<%..%>编写Java代码,作为页面的脚本
<%=...%>输出表达式,简化out.writer()
<%!. ..%>

全局声明,只能用于声明变量,会在所有脚本执行之前执行,可在页面任意位置

(6)jsp注释

html注释<!-- -->
Java注释// /**/
jsp注释

<%-- --%>

(7)jsp的九大内置对象

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

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

                     request请求对象:

                            1.设置请求编码格式

                            2.封装请求数据

                            3.获取请求数据

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

                     response响应对象:

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

                              通过request获取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>

                1、两个jsp页面会独立翻译成Java文件然后编译执行;

                2、在运行时,将目标页面的视图显示到本页面中来;

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

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

                1、将目标页面的代码全部引入本页面;

                2、然后只翻译本页面为Java文件,最后编译执行;

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值