JSP的由来
jsp :是Sun公司制定的一种服务器端动态页面技术的组件规范。Servlet技术产生以后,在使用时最麻烦的就是使用大量的out.print语句输出页面。而且不利于维护,于是就推出了JSP这种技术,用来将Servlet中负责显示的语句抽取出来。
编写JSP:创建一个以“.jsp”为后缀的文件,在该文件中可以包含一下内容:
- HTML,CSS,JavaScript
- 注释,格式:<%注释内容,jsp特有的注释%>
- java代码
- 指令
- 隐含的对象
JSP中的java代码
- 可以写在页面的任意位置,作用就是控制页面中可变内容
1.jsp表达式:<%=合法内容(可以是变量,表达式,有返回值的方法)%>;在service()方法中用out.print语句输出。
2.jsp小脚本:<%合法内容(能写在方法里面的java片段都可)%>;原封不动成为Servlet类service()方法里面的一段代码。
3.jsp声明:<%!合法内容(成员属性或成员方法的声明)%>;成为JSP页面转译成的Servlet类中的成员属性或成员方法
指令
控制JSP在转译成Servlet类时生成的内容。
语法规则:<%@指令名 属性=值 %>
常用指令:
page:导包、设置页面属性
<%@page import = "java.util.*" %>
<%@page pageEncoding= "utf-8" %>
include:转换时能够将其他文件包含进来。(可以包含JSP文件也可以是静态的HTML文件)
<%@include file = "url"%>
<%@include file = "header.html"%>
taglib:声明用户使用的自定义标签
<%@ taglib (uri="tigLibURL" 或 tagDir="tagDir") prefix="tagPrefix" %>
- uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。
- tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。
- prefix属性:标签的前缀,区分多个自定义标签。
JSP页面中的隐含对象
request:请求信息(HttpServletRequest)
response:响应信息(HttpServletResponse)
out:输出的数据流(JSPWriter)
session:会话(HttpSession)
application:全局的上下文对象(ServletContext)
pageContext:JSP页面上下文(PageContext)
page:JSP页面本身(Object)
config:Servlet配置对象(ServletConfig)
exception:捕获网页异常(Throwable)