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()