jsp简介
JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。
jsp: 作为请求发起页面,例如显示表单、超链接。
: 作为请求结束页面,例如显示数据。
Servlet:
作为请求中处理数据的环节。
jsp的组成
jsp = html + java脚本 + jsp标签(指令)
jsp中可直接使用的对象一共有9个,被称之为9大内置对象
3种java脚本:
<%…%>:写java代码片段,(类似方法)
<%=…%>:用于输出,用于输出一条表达式(或变量)的结果。
<%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
jsp注释:<%– … –%>
当服务器把jsp编译成java文件时已经忽略了注释部分!
jsp原理
jsp其实是一种特殊的Servlet
- 当jsp页面第一次被访问时,服务器会把jsp编译成java文件
- 然后再把java编译成.class
- 然后创建该类对象
- 最后调用它的service()方法
- 第二次请求同一jsp时,直接调用service()方法。
jsp三大指令
1、page指令:属性最多的指令(实际开发中page指令默认就行),根据不同的属性,指导整个页面特性。格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>,常用属性如下:
- language:jsp脚本中可以嵌入的语言种类
- pageEncoding:当前jsp文件的本身编码,内部可以包含contentType
- contentType:response.setContentType(text/html;charset=UTF-8)
- session:是否jsp在翻译时自动创建session,默认就是true
- import:导入java的包
- errorPage:当当前页面出错后跳转到哪个页面
- isErrorPage:当前页面是一个处理错误的页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2、include指令:页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中,格式:<%@ include file="被包含的文件地址"%>
3、taglib指令:在jsp页面中引入标签库(jstl标签库、struts2标签库),格式:<%@ taglib uri="标签库地址" prefix="前缀"%>
四大作用域的总结
- page域:当前jsp页面范围
- request域:一次请求
- session域:一次会话
- application域:整个web应用