jsp概述:
jspquan全名是java server pages,他是建立在Servlet规范上的动态网页开发技术,在jsp文件中,HTML代码与java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,java代码用来实现网页中动态内容的显示.
特性:
1.跨平台 : 因为jsp基于java开发,编译后的字节码文件与平台无关
2.业务代码相分离 : 使用HTML来设计界面,使用jsp标签和脚本来动态生成页面上的内容
3.组件重用 : jsp中可以使用javaBean编写业务组件,也就是使用一个javaBean类封装业务处理代码或者作为一个数据存储模型,整个项目中都可以重复使用这个javaBean,也可以应用到其他java程序中
4.预编译 : 用户在第一次访问jsp页面时,服务器会对jsp代码进行编译,并且只编译1次,编译好的代码会保存,当用户再次访问时,直接执行编译好的代码.节省资源,提高速度
jsp和HTML的区别:
默认创建时,jsp代码最上方多了一条page指令.而且文件后缀名是.jsp,HTML后缀名是.html
jsp的运行过程;
1.客户端发出请求访问jsp文件
2.jsp容器先将jsp文件转换成java源文件,如果有错误,会中断转换,并向服务器和客户端返回cu错误,如果转换成功,则将java源文件编译c成.class文件,这个文件就是Servlet
jsp脚本元素:
jsp脚本元素是指嵌套在<%和%>之间的java代码,通过脚本元素可以将java代码嵌入到HTML页面中
jsp脚本有三种类型:
1.jsp Scriptlets
.jsp Scriptlets是一段java代码,格式是<%Java代码%>
2.jsp声明语句
jsp声明语句用于声明变量和方法,格式是<%! 变量或方法 %>
3.jsp表达式
jsp表达式用于将程序输出到客户端,格式是<%= 表达式 %>(中间不能插入语句)
jsp的注释:
jsp源码 | java源码 | html源码 | |
jsp注释 | 有 | 无 | 无 |
java注释 | 有 | 有 | 无 |
html注释 | 有 | 有 | 有 |
jsp的指令:
为了设置jsp页面中的一些信息,jsp中定义了page,include,taglib三种指令
1.page指令 在jsp页面中,经常需要对页面的某些特性进行描述,比如:页面的编码方式
格式是:<%@ page 属性名1="属性值1" 属性名2="属性值2" ...%> 其中import属性用的最多,并且page指令的属性区分大小写
2.include指令 在开发时,有时需要静态包含一个HTML文件或文本文件等,可用include指令静态导入
格式是:<%@ include file="被包含的文件的地址"%>
3.taglibzhi指令 用于页面中引入标签库
jsp的九大内置对象(重点):
在jsp页面中,有一些对象需要频繁使用,为了简化开发,jsp提供了九个内置对象,它们是jsp默认创建,可以直接使用
名称 | 类型 | 描述 |
out | javax.Servlet.jsp.JspWriter | 用于页面输出 |
request | javax.Servlet.http.HttpServletRequest | 得到用户请求信息 |
response | javax.servlet.http.HttpServletResponse | 服务器向客户端回应信息 |
config | javax.servlet.ServletConfig | 服务器配置,可以取得初始化参数 |
session | javax.servlet.http.HttpSession | 用来保存用户信息 |
application | javax.servlet.ServletContext | 所用用户的信息共享 |
page | java.lang.Object | 指当前页面转换后的Servlet实例 |
pageContext | javax.servlet.jsp.PageContext | jsp的页面容器 |
exception | java.lang.Throwable | 表示jsp页面所发生的异常,在错误页面中才起作用 |
out对象:
在jsp页面中,经常需要向客户端发送文本内容,可以使用out对象来实现
pageContext对象:
使用pageContext对象可以获取jsp的其他8个内置对象,还提供存储数据的功能
jsp的四个域范围:
pageScope | 当前页面中有效 | pageContext | pageContext |
requestScope | 一次请求范围 | request | HttpServletRequest |
sessionScope | 一次会话范围 | session | HttpSession |
ApplicationScope | 应用范围 | application | ServletContext |
jsp动作元素:
jsp动作元素用来控制jsp的行为,执行一些常用的jsp页面动作 比如包含页面文件,请求转发等;
格式:<jsp:include>把其他资源的输出内容插到当前jsp页面的输出内容中.