JAVAWEB学习(四)JSP原理

1.什么是JSP: Java Service Page(Java服务器页面)

用来处理一些java前后端交互数据,主要用来显示数据,不建议大量的代码写在jsp中;

特点:简单,和HTML差不多

缺点:书写的页面会很乱,HTML代码和Java代码交错。

2.1 jsp到底怎么执行的?
在这里插入图片描述

动态请求会被分发到web容器(web服务器)中;

容器会去执行字节码文件,就是 .class文件;

Servlet是Java类,可以直接编译成class文件;

(问题? jsp怎么编成class文件)

jsp先会被转换成一个Java类。

2.2 在JSP页面中;只要是 JAVA代码就会原封不动的输出;
如果是HTML代码,就会被转换为:

out.write("<html>\r\n");

这样的格式,输出到前端!

2.3追求本质:

Tomcat在工作时,将我们的jsp页面转化成了Java类。
在这里插入图片描述
打开这个类分析:

它继承:HttpJspBase,没有直接继承HttpServlet,但是HttpJspBase继承了HttpServlet,所以jsp本身就是一个servlet的方式运行的。

那它是怎么输出的? 观察发现它是使用out对象输出到浏览器中。
在这里插入图片描述
那这个out对象上去的方式是什么呢?

发现有一个_jspServlet可以执行操作我们的jsp,将它输出到前端页面。
在这里插入图片描述
继续分析源码得到一些属性:
在这里插入图片描述
3. jsp声明

//JSP声明的语法格式:<%! declaration; [ declaration; ]+ ... %>

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %> 

4.jsp表达式

//JSP表达式的语法格式:<%= 表达式 %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ok</title>
</head>
<body>
<p>
   今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body> 
</html> 

//运行后得到以下结果:
//今天的日期是: 2016-6-25 13:40:07

6.jsp指令

//JSP指令用来设置与整个JSP页面相关的属性。
//JSP指令语法格式:<%@ directive attribute="value" %>

这里有三种指令标签:

<%@ page ... %>	定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等

<%@ include ... %>	包含其他文件

<%@ taglib ... %>	引入标签库的定义,可以是自定义标签

7.注释:

  • HTML的注释:
  • JSP注释:<%-- 这也是注释,但客户端不能查看到 --%>
  • 在JSP脚本中注释: <% //单行注释 %>  <% /*多行注释 */ %>

8.JavaBean
在这里插入图片描述

Guess you like

Origin blog.csdn.net/jingli456/article/details/113880444