JSP的基本入门

205 阅读2分钟

JSP的概念

JSP全名是Java Server Pages,称为Java的动态服务器端网页技术。

Java程序直接嵌入到了HTML中, 页面称为jsp页面, JSP文件的扩展名为.jsp。

JSP中编写java代码

jsp页面中的注释格式:

  • <!-- HTML中的注释 --> JSP中存在,翻译后的.java存在,浏览器中存在
  • <% // /* */ %> Java自己的注释 JSP中存在,翻译后的.java存在,浏览器没有
  • <%-- JSP特有注释 --%> 只在JSP源代码中出现

常用格式一: <% java代码段 %>

  • 作用1: 当请求该JSP页面时, 会执行<% %>中的java代码
  • 作用2: 拼接java逻辑代码, 实现嵌套html标签
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%-- 作用1: 当请求该JSP页面时, 会执行<% %>中的java代码 --%>
    <%-- 控制台打印5次Hello jsp --%>
    <%
    for(int i=0; i<5; i++){
        System.out.println("Hello JSP");
    }
    %>

    <%--作用2: 拼接java逻辑代码, 实现嵌套html标签--%>
    <%--JSP页面中, 使用h3标签, 打印5次Hello JSP --%>
    <% for(int i=0; i<5; i++){ %>
        <h3>hello JSP</h3>
    <% } %>
</body>
</html>

在这里插入图片描述

因为jsp被转换成servlet之后,那些html的语句都是被转化为字符输出流对象打印语句,所以被打印了5次

常用格式二: <%= java的表达式内容 %>

  • 作用: 当请求该JSP页面时,会把<%= %>中的java的表达式内容输出到JSP页面, 可用来替代response对象向页面输出内容
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>Title</title>
</head>
<body>

    <%= 123 %>
    <%= "hello" %>
    <%=  Math.random() %>
    <%=  new Date().toLocaleString() %>
    <%=  request.getContextPath() %>
</body>
</html>

在这里插入图片描述

JS表达式 格式三: <%! java语句; %>

作用: 用于 定义变量, 例如 <%! int i=100; %>

JSP页面的执行原理

在这里插入图片描述
jsp之所以可以直接使用request对象,是因为JSP本质就是Servlet, 我们自己编写的代码全部都落入到了service方法内部,在service方法内部一开始就已经声明了request等对象了。

JSP九大内置对象(也称为隐式对象)

JSP中一共预先定义了9个这样的对象,分别为:request、response、pageContext、session、application、out、config、page、exception在这里插入图片描述

对象名功能类型作用域
request向客户端请求数据javax.servlet.ServletRequestRequest
response封装了jsp产生的响应,然后被发送到客户端以响应客户的请求javax.servlet.SrvletResponsePage
pageContext为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的f访问javax.servlet.jsp.PageContextPage
session用来保存每个用户的信息,以便跟踪每个用户的操作状态javax.servlet.http.HttpSessionSession
application应用程序对象javax.servlet.ServletContextApplication
out向客户端输出数据javax.servlet.jsp.JspWriterPage
config表示Servlet的配置,当一个Servlet初始化时,web容器把某些信息通过此对象传递给这个Servletjavax.servlet.ServletConfigPage
pageJsp实现类的实例,它是jsp本身,通过这个可以对它进行访问javax.lang.ObjectPage
exception反映运行的异常javax.lang.ThrowablePage