jsp小结

2017-03-19  本文已影响0人  易海飞鱼

1.jsp的作用

* servlet:

- 缺点:不适合设置HTML,需要大量的 response.getwriter().print("html")

- 优点:动态资源,可以编程。

* HTML:

- 缺点:HTML是静态页面,不包含动态信息

- 优点:不用为输出HTML标签而发愁。

* jsp:

- 优点:在原有 HTML 的基础上添加 Java 脚本,构成 jsp 页面。

2. jsp和servlet的分工

jsp:

- 作为请求发起页面,例如显示表单、超链接。

- 作为请求结束页面,例如显示数据。

* servlet:

- 作为请求中处理数据的环节。

3. jsp 的组成

* jsp = HTML + Java脚本 + jsp标签(指令)

* jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。例如:request对象、out对象。

* 3中Java脚本:

- <%......%> : Java代码片段(常用),用于定义0~N条Java语句!

- <%=......%>:Java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。

- <%!......%>:声明,用来创建类的成员变量和成员方法(基本不用,但容易被考到)

4.jsp指令概述

一个 jsp 中可以有 0~N 个指令。

jsp指令的格式:<%@指令名 attr1=" " attr2=" "%>,一般会把jsp指令放到 jsp 文件的最上方,但这不是必须的。

jsp 中有三大指令:page、include、taglib,最为常用,也最为复杂的就是 page 指令了。

5. jsp三大指令

(1)page 指令

page 指令是最为常用的指令,也是属性最多的指令!

page 指令没有必须属性,都是可选属性。例如 <%@page %>,没有给出任何属性也是可以的!

在 jsp 页面中,任何指令都可以重复出现!

<%@page language = "java"%>

<%@page import = "java.util.*"%>

<%@page pageEncoding = "utf-8"%>

这也是可以的!

*  pageEncoding和contentType:

- pageEnconding 他指定当前 jsp 页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成 .jsp 时要使用 pageEnconding!

- contentType:他表示添加一个响应头;

content-Type!等同于  response.setContentType("text/html;charset=utf-8");

- 如果两个属性只设置一个,那么另一个的默认值为设置那一个。如果两个属性都没有设置,那么默认为ISO ;

* import:导包!可以出现多次;

* errorpage 和 isErrorpage

- errorPage:当前页面如果抛出异常,那么要转发到哪一个页面,由errorPage来指定。

- isErrorPage:它指定当前页面是否为处理错误的页面,当该属性为 true 时,这个页面会设置状态码为 500!而且这个页面可以使用 9 大内置对象中的 exception 。

(2)include    -->静态包含

* 与 RequestDispatcher的include() 方法的功能相似!

* <%@include%> 它是在 jsp 编译成 Java 文件时完成的!他们共同生成一个 Java(就是一个servlet)文件,然后再生成一个 class!

* RequestDispatcher 的 include() 是一个方法,包含与被包含是两个 servlet,即两个 .class!他们只是把响应的内容在运行时合并了!

* 作用:把页面分解了,使用包含的方式组合在一起,这样一个页面中不变的部分,就是一个独立的 jsp,而我们只需要处理变化的页面。

(3)taglib  -->导入标签库

* 两个属性:

- prefix:指定标签库在本页面中的前缀!有我们自己来气起名字!

- uri:指定标签库的位置!

- <%@taglib prefix="pre" uri="/标签库路径"%>

使用:

6.九大内置对象

* out --> jsp的输出流,用来向客户端响应

* page -->当前 jsp 对象,相当于 this

* request -->HttpServletRequest

* response -->HttpServletResponse

* session --> HttpSession

* application -->HttpservletContext

* pageContext

* exception

* config -->它对应真身中的 ServletConfig 对象!

7. JSP动作标签

这些 jsp 的动作标签,与 html 提供的标签有本质的区别。

* 动作标签由 tomcat(服务器)来解释执行!它与 Java 代码一样,都是在服务器端执行!

* html 由浏览器执行!

* :转发!它与 requestDispatcher 的 forward 方法是一样的,一个是在 servlet 中使用,另一个是在 jsp 中使用!

* :包含!它与 requestDispatcher 的 include 方法是一样的,一个是在 servlet 中使用,另一个是在 jsp 中使用!

* :他用来作为 forward 和 include 的子标签!用来给转发或包含的页面传递参数!

上一篇 下一篇

猜你喜欢

热点阅读