08-jsp

Posted 亿钱君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08-jsp相关的知识,希望对你有一定的参考价值。

jsp

1.什么是 jsp,它有什么用?

  • jsp 的全称是 java server pages。Java 的服务器页面。
  • jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据
  • 因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。

  • 上面的代码我们不难发现。通过 Servlet 输出简单的 html 页面信息都非常不方便。

  • 所以 sun 公司推出一种叫做 jsp 的动态页面技术帮助我们实现对页面的输出繁锁工作

1.1 如何创建 jsp 的页面?


输入文件名敲回车即可!!

1.2 jsp 如何访问:

2.jsp 的本质是什么。

  • jsp 页面本质上是一个 Servlet 程序

  • 当我们第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。并且对它进行编译成 为.class 字节码程序。我们打开 java 源文件不难发现其里面的内容是:

  • 我们跟踪原代码发现,HttpJspBase 类。它直接地继承了 HttpServlet 类。也就是说。jsp 翻译出来的 java 类,它间接了继 承了 HttpServlet 类。也就是说,翻译出来的是一个 Servlet 程序

3.jsp 的三种语法

3.1 jsp 头部的 page 指令


  • language 属性: 表示 jsp 翻译后是什么语言文件。暂时只支持 java
  • contentType 属性 表示 jsp 返回的数据类型是什么。也是源码中 response.setContentType()参数值
  • pageEncoding 属性 表示当前 jsp 页面文件本身的字符集。
  • import 属性 跟 java 源代码中一样。用于导包,导类。

两个属性是给 out 输出流使用

  • autoFlush 属性 设置当 out 输出流缓冲区满了之后,是否自动刷新冲级区。默认值是 true。
  • buffer 属性 设置 out 缓冲区的大小。默认是 8kb

  • errorPage 属性 设置当 jsp 页面运行时出错,自动跳转去的错误页面路径(相当于跳转去另外的页面)
    未设置errorPage属性前


    设置errorPage属性后

  • isErrorPage 属性 设置当前 jsp 页面是否是错误信息页面。默认是 false。如果是 true 可以 获取异常信息。

  • session 属性 设置访问当前 jsp 页面,是否会创建 HttpSession 对象。默认是 true。

  • extends 属性 设置 jsp 翻译出来的 java 类默认继承谁

3.2 jsp 中的常用脚本

3.2.1 声明脚本(极少使用)

  • 声明脚本的格式是: <%! 声明 java 代码 %>
  • 作用:可以给 jsp 翻译出来的 java 类定义属性和方法甚至是静态代码块。内部类等

练习:1、声明类属性 2、声明 static 静态代码块 3、声明类方法 4、声明内部类



声明脚本代码翻译对照:

3.2.2 表达式脚本(常用)

  • 表达式脚本的格式是:<%=表达式%>
  • 表达式脚本的作用是:在 jsp 页面上输出数据。


Tomact后找到生成的java文件和编译后的文件:



.java文件下_jspService()方法


表达式脚本的特点:

  • 1、所有的表达式脚本都会被翻译到_jspService() 方法中
  • 2、表达式脚本都会被翻译成为 out.print()输出到页面
  • 3、由于表达式脚本翻译的内容都在_jspService() 方法中,所以_jspService()方法中的对象都可以直接使用。
  • 4、表达式脚本中的表达式不能以分号结束

3.2.3 代码脚本


举例:if语句

翻译之后的对比:

举例;多个代码脚本组合成一个完整的java语句

举例:代码脚本和表达式脚本组合,在jsp页面输出

3.3 jsp 中的三种注释

4 jsp 九大内置对象

jsp 中的内置对象,是指 Tomcat 在翻译 jsp 页面成为Servlet 源代码后,内部提供的九大对象,叫内置对象。

5 jsp 四大域对象

6 jsp 中的 out 输出和 response.getWriter 输出的区 别

response 中表示响应,我们经常用于设置返回给客户端的内容(输出) out 也是给用户做输出使用的

由于 jsp 翻译之后,底层源代码都是使用 out 来进行输出,所以一般情况下。我们在 jsp 页面中统一使用 out 来进行输出。避 免打乱页面输出内容的顺序。

7 jsp 的常用标签

jsp 静态包含
jsp 动态包含
jsp 标签-转发

以上是关于08-jsp的主要内容,如果未能解决你的问题,请参考以下文章

ansys vwrite命令 为啥每次写入都会将原来的数据删除,如何继续写入,不删除原数据??

原如何获取Java动态生成类?

原Spring activiti 环境搭建之数据库创建

Java Web系列:Java Web 项目基础

jsp映射为其他地址上去 ???

08-jsp重点