第六次作业

JSP 技术

1.JSP概述:

1.1 什么是jsp:
它的英文全称 java server pages ,java服务端页面,它是建立在servlet规范基础上的动态网页开发技术。

  • java 服务端 页面: 在jsp上可以写java代码,也可以写html标记,它运行在服务器端。
  • jsp = java + html + jsp自身的一些东西。
  • 为什么会产生jsp技术:
    因为在早期没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了jsp技术,
    jsp最大的特点:可以非常简单的书写页面html。
    jsp其实它的本质是servlet: 可以看到jsp 继承了 HttpJspBase 继承 HttpServlet。

1.2 编写第一个jsp文件
jsp生成java文件,编译成class文件,存在tomcat服务器的work目录。
注意:修改jsp的默认编码格式:window---------->preferenes-----> 搜索 jsp -----> 选中编码 进行修改。
步骤:
1.创建JSP文件
在这里插入图片描述
2.命名文件
在这里插入图片描述
3.代码
在这里插入图片描述
将chapter06项目发布到Tomcat中并启动项目,在浏览器中输入地址“http://localhost:9999/chapter06/HelloWorld.jsp”,效果如下:
在这里插入图片描述
1.3 JSP运行原理

jsp—>java—> .class
1.通过浏览器首次访问jsp时
2.JSP容器会生成对应的Servlet文件,也就是.java文件
3.JSP容器,会把java文件编译对应的class文件
4.JSP容器,会生成对应的servlet对象
5.通过生成的servlet对象,去处理浏览器发送的请求,响应数据给浏览器。

2.JSP基本语法

2.1 JSP脚本元素
在jsp页面书写java的三种形式:
1.可以声明语句和方法
2.可以书写java代码段
3.可以书写表达式

1.JSP Scriptlets
对应的位置生成在 _jspService方法内部。
在jsp页面里可以书写java代码片段,基本语法:
在这里插入图片描述
2. JSP 声明语句
对应的位置生成在了成员位置。
在jsp里面可以书写变量和方法:基本语法:在这里插入图片描述
在chapter06项目的WebContent 目录下创建example.jsp文件。编写声明语句。
在这里插入图片描述
将chapter06项目发布到Tomcat中并启动项目,在浏览器中输入地址“http://localhost:9999/chapter06/example.jsp”,f访问example.jsp,效果如下:在这里插入图片描述
3.JSP 表达式
对应的位置生成在 _jspService方法内部。
在jsp页面,可以输入一个结果,基本语法:
在这里插入图片描述
其实就等同于out.print(); ,注意:表达式后面不能书写分号

2.2 JSP注释:
在jsp里面,可以书写html,可以书写java,可以书写jsp自身的一些内容。
在jsp里面写注释三种形式:

  1. html注释: :在任何地方都存在了。
    2.java注释:单行,多行,文档注释:它存在jsp页面,也存在java文件里面,对应生成的html就消失了
  2. jsp注释: <%-- jsp注释–>: 只存在jsp页面,在生成对应的java文件时,它就消失了。

在chapter06项目的WebContent 目录下创建example2.jsp文件。
在这里插入图片描述
将chapter06项目发布到Tomcat中并启动项目,在浏览器中输入地址“http://localhost:9999/chapter06/example.jsp”,f访问example2.jsp,效果如下:
在这里插入图片描述
3.JSP 指令
page指令、include指令、taglib指令(现在不讲)

3.1 page指令
page指令的用途是设置与jsp页面相关的信息,比如说设置jsp页面的编码,jsp页面的默认语言等
基本语法格式:<%@ page 属性=“属性值” 属性=“属性值” 属性=“属性值” %>
比如:
在这里插入图片描述
常用属性:
language: 默认语言java,也就是只有java一种语言。
pageEncoding:设置jsp的编码格式,一般情况下可以省略 contentType这个属性。
session属性:值得类型是boolean,如果对应的值是true,在jsp页面可以使用session对象,反之就不能使用。
import属性:导包,和在java里面使用一样,如果想使用某个类,前提导入某个类的包名。

3.2 include指令:
在jsp页面通常会需要显示其它页面的信息,所以可以通过这个include指令把其它页面包含过来。
基本语法:<%@ include file=“被包含文件的url” %>
创建两个jsp页面: date.jsp页面
在这里插入图片描述
在这里插入图片描述
include.jsp页面。在这里插入图片描述
在这里插入图片描述

使用jsp的include指令实现的包含,又称为静态包含,静态包含的特点:
1.把多个页面的内容,合并输出,比如把date.jsp 和 include.jsp内容合并输出。
2.多个页面对应生成一个java文件,编译后,对应一个class文件。
4. JSP 隐式对象

4.1 隐式对象概述
什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。
jsp常见的九大隐式对象:
request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求
response:HttpServletResponse,响应对象
session: HttpSession ,会话对象,它同时也是域对象,作用范围一次会话
application:ServletContext,上下文对象,它同时也是域对象,作用范围整个项目
config:ServletConfig,配置对象
out:JspWriter,其实和PrintWriter作用差不多。
page:Object ,代表当前jsp的页面对象
pageContext:PageContext ,jsp容器
exception:Throwable,异常对象,用来捕获异常信息。
只有当前jsp页面有isErrorPage="true"这个属性时,才能使用exception对象。

4.2 out对象
out对象在输出内容到网页上面去,最终是通过reponse缓冲区给输出的。
在chapter06项目的WebContent 目录下创建out.jsp文件。
在这里插入图片描述
在这里插入图片描述
4.3 pageContext对象
第一个功能:获取其它八个隐式对象

1.获取请求对象:getRequest();
2.获取响应对象:getResponse();
3.获取输出对象:getOut();


第二个功能:操作其它三个域对象:request、session、application.
pageContext也是一个域对象:作用范围在当前jsp页面。
操作其它三个域对象的方法:
1.存值:setAttribute(String key,Object obj,int scope);
APPLICATION_SCOPE :对应的是application
REQUEST_SCOPE: 对应的是request
SESSION_SCOPE:对应的是session
PAGE_SCOPE:对应的是自己 pageContext
2.取值:getAttribute(String key,int scope);

结论:在pageContext域对象使用findAttribute方法获取值,进行了全域查找,
查找的范围:pageContext—>request----->session----->application
首先找域作用范围小的对象,如果有值获取到,停止向下查找,如果不存在对应的值,就继续向下寻找。
编写pageContext

在这里插入图片描述
在这里插入图片描述
4.4 exception 对象

它是用来捕获异常信息的。
使用它通常会用到两个属性:
errorPage:属性对应的值,处理异常信息的页面,就是说在当前页面发生了异常,跳转到处理异常信息的页面
比如:在这里插入图片描述在这里插入图片描述
isErrorPage: 属性对应的值是true或者false,如果为true,在当前页面可以使用exception对象
比如在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本功能是以读书管理为例子而实现的翻页功能,目的希望大家很够很容易掌握它,同时将它学会。希望能给大家带来方便! Web应用开发的JavaServer Pages技术方法 在开发JSP规范的过程中,太阳微系统公司(Sun Microsystems Inc.)与许许多多主要的Web服务器、应用服务器和开发工具供应商,以及各种各样富有经验的开发团体进行合作。其结果是找到了一种为应用和页面开发人员平衡了可移植性和易用性的开发方法。 JSP技术在多个方面加速了动态Web页面的开发: 将内容的生成和显示进行分离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。 强调可重用的组件 绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值