JSP简介

  • Jsp全称Java Server Pages,是运行在java服务器中的页面
  • Jsp其本质就是一个Servlet。Servlet能做的事情JSP都能做。
    • index_jsp.class 继承 HttpJspBase 继承 HttpServlet
  • Jsp必须运行在服务器中,不能直接使用浏览器打开。
    • Jsp是Web网页的技术标准,主要语法组成包括:指令,html模板元素,脚本片段(小脚本),表达式,声明,注释,后缀是*.jsp。

Jsp运行原理

  • 1、 第一次访问jsp页面时,服务器会将xxx.jsp文件翻译成xxx_jsp.java文件,再编译成xxx_jsp.class文件。
    在这里插入图片描述
  • 2、 以后在访问同一个jsp文件
    • 如果文件未改变,不会被翻译和编译
    • 如果文件改变,会翻译和编译
  • 翻译后的文件index_jsp.java,编译后的文件index_jsp.class
  • class index_jsp是一个Servlet,Tomcat中的web.xml中默认注册所有的jsp。
    •   <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspx</url-pattern>
        </servlet-mapping>
      

Jsp基本语法

  • 指令
    • 语法格式:<%@%>
    • 常用指令:<%@ page %> <%@ include %> <%@ taglib %>
  • 模板元素: html&css&js等
  • 脚本片段
    • 语法格式:<%%>
    • 作用:在_jspService()中,书写java代码
  • 表达式
    • 语法格式:<%=%>
    • 作用:与out.print()和Servlet中的Writer作用一致。
  • 声明
    • 语法格式:<%!%>
    • 作用:在class(index_jsp)中,书写java代码
  • 注释: jsp中支持三种注释
    • java: // /**/
    • html:<!-- -->
    • jsp:<%-- --%>
JSP注释Java注释HTML注释
JSP页面可见可见可见
Java代码不可见可见可见
浏览器不可见不可见可见

Jsp常用指令

  • page指令
    • 语法
      • <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
    • 属性
      • language:语言,值为java且仅java。
      • contentType:与response.setContentType()作用一致,设置浏览器编码。
      • pageEncoding:设置Jsp页面的编码字符集。
      • import:导包
      • isErrorPage:设置当前页面是否为错误页面,默认值"false"。
        • ​ true:设置当前页面为错误页面,可以使用exception内置对象,捕获异常 。
        • ​ false:设置当前页面不是错误页面,不可以使用exception内置对象,捕获异常 。
      • errorPage:设置当前页面错误时的跳转目标页面。错误需要在_jspService()中才可以捕获。
  • include指令
    • 语法:<%@include file=“被包含文件的路径” %>
    • 作用:将目标文件包含到当前文件中。
    • 特点:被包含的文件不会被翻译&编译。(先包含,再翻译)

Jsp常用动作标签

  • 转发动作标签
    • 语法:<jsp:forward></jsp:forward>
    • 作用:在页面中用于转发操作
    •   <jsp:forward page="target.jsp">
        	<jsp:param value="paramValue" name="paramName"/>
        </jsp:forward>
      
    • 注意:如果转发动作标签不需要设置请求参数,该标签开始与结束标签内部,不允许书写任何内容,(包括空格)
  • 动态包含动作标签
    • 语法:<jsp:include page=“target.jsp”>
    • 作用:动态包含,将其他页面包含到当前页面中。
    • 特点:被包含的文件同时会被翻译&编译。(先翻译,再包含)

Jsp九大隐含对象(隐式对象|内置对象)

  • pageContext
  • request
  • session
  • application
  • page
  • response
  • config
  • out
  • exception (默认情况下没有,当<%@ page isErrorPage=“true” %>时才有)

Jsp四大域对象

  • pageContext
  • request
  • session
  • application
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐