JSP就是 Java Server Pages
JSP = html + java
JSP必须运行在服务器上
jsp本质就是 servlet
JSP的组成:
1.指令<%@ %>
2.html
3.脚本片段<% %>在方法中定义
4.表达式 <%= %>
5.声明 <%! %> 在类中定义
6.注释
html注释 <!-- -->在页面中可以看到
jsp注释 <%-- --%>在页面中看不到
java注释 //单行注释,/* ...... */多行注释
JSP运行原理
1.服务器将.jsp页面翻译成.java文件
2.jvm将.java文件翻译成.class文件
3.运行_jspService()文件
第一次访问之后,以后再执行jsp页面,不会再翻译,直接运行
JSP指令
格式为<%@ 指令名 属性名 = 属性值 属性名2 = 属性值2 %>
常用指令:
<%@ page
language = "java"
contentType = "text/html;charset=UTF-8"
pageEncoding = "ISO-8859-1"
%>
language 只有java
contentType 与 response.setContentType()作用一致,设置页面的文本类型
pageEncoding 设置当前页面的编码格式
import 导包
isErrorPage = "false" 设置当前页面是否为错误页面
errorpage="" 当前页面有错误时,跳转指定页面
<%@ include file = "路径" %> 静态包含
(注意,静态包含,被包含的文件不会被服务器翻译成.java文件)
jsp动作标签
格式 <jsp:标签名 属性名="属性值"></jsp:标签名>
常用的动作标签
<jsp:include page = ""></jsp:include>
(动态包含,被包含的文件也会被翻译和编译)
<jsp:forward page = "页面路径">
//如果有需要传的值加上注释的话,如果没有则不加
//<jsp:param value = "" name = ""/>
</jsp:forward>
jsp九大隐含内置对象
定义 不需要我们new就可以直接使用的对象 称为隐含对象
注意 服务器直接在_jspService()中new 好了
1 pageContext
类型 PageContext
作用 域对象
Servlet中获取方式 暂无
2 request
类型 HttpServletRequest
作用 域对象
Servlet中获取方式 goGet() || doPost()直接获取;
3 session
类型 HttpSession
作用 域对象
Servlet中获取方式 request.getSession();
4 Application
类型 ServletContext
作用 域对象
Servlet中获取方式 getServletContext()获取
5 response
类型 HttpServletResponse
作用 域对象
Servlet中获取方式 goGet() || doPost()
6 out
类型 JspWriter
作用 与response.getWriter();类似
Servlet中获取方式 PrintWriter out = response.getWriter();
7 page
类型 Object
作用 就是this的作用 就是当前类的对象
8 config
类型 ServletConfig
作用 与Servlet中的ServletConfig作用一致
Servlet中的类似获取方式 直接调用getServletConfig获取
9 exception
类型 Throwable
作用 处理当前页面的异常
jsp四大域对象
域对象,在不同域中分享数据
共有的方法
setAttribute()
getAttribute()
removeAttribute()