Java Web——JSP基础

JSP简介

JSP是一种基于Java的服务器端技术,其目的是简化建立和管理动态网站的工作。

JSP特点

  • 简单快捷:JSP在原来的HTML中,通过添加Java程序片段,并通过标签技术的使用从而简化了页面的开发。
  • 动态内容的生成和显示相分离:使用HTML或XML来设计页面,使用JSP标签或者脚本来生成页面上的动态内容。
  • 组件重用:可重用的JavaBean组件能够在多个JSP之间共享,加速了总体开发过程,方便维护和优化。
  • 易于部署、升级和维护:JSP容器能够对JSP的修改进行检测,自动翻译和编译修改后的JSP文件,无需手动编译。

JSP和Servlet的比较

  • JSP是一种服务器端脚本语言,它降低了Servlet的使用难度。JSP在本质上就是Servlet。
  • JSP提供了Servlet能够实现的所有功能,实际上,JSP是首先被翻译成Servlet后才编译并运行的,所以JSP几乎拥有Servlet的所有优点。
  • 与Servlet相比,JSP更适合制作动态页面,因为单纯使用Servlet开发动态页面是相当繁琐的。
  • JSP和Servlet的区别如下图:
    在这里插入图片描述
    Servlet是在Java中嵌入了HTML,
    而JSP是在HTML中嵌入了Java

JSP执行原理

  • 客户发出请求(request);
  • 容器接收到请求后检索对应的JSP页面,如果该JSP页面使第一次被请求,则容器将其翻译成一个Java文件,即Servlet
  • 容器翻译后的Servlet源代码编译形成字节码,即**.class文件**,并加载到内存执行;
  • 最后把执行结果即响应(response)发送回客户端

JSP再次执行原理

当这个JSP页面再次被请求时,只要该JSP文件没有发生过改动,JSP容器就直接调用已装载的字节码文件,而不会再执行翻译和编译步骤,这样大大提高了服务器性能。

JSP基本结构

1. JSP指令

JSP指令用来向JSP容器提供编译信息。指令并不向客户端产生任何输出,所有指令只在当前页面中有效

<%@ 指令名 属性=“值” 属性=“值”%>

常用的指令:
page指令、include指令、taglib指令

<%@ page language=“java” contentType=“text/html; charset=gbk”%>

2. JSP声明

JSP声明用于在JSP页面中定义变量和方法
一个JSP页面可以有多个声明,每个声明中可以同时定义多个变量或方法。每个JSP声明只在当前JSP页面中有效。

<%! 声明的内容 %>

<%!
	//全局方法和变量
	private String str = "全局变量";
	void setStrParam(String param) {
		str = param;
	}
%>

JSP会被翻译成Servlet,而JSP声明中的变量和方法实际上就是定义在翻译成的Servlet中的,所以本质上就是类的属性和方法

3. JSP表达式

JSP表达式用于将Java表达式的运行结果输出在页面中。

<%=表达式%>

表达式后不加分号,%和=之间不能有空格。

4. JSP脚本

JSP脚本用于在JSP页面中插入Java代码

<% Java代码 %>

<%
java.util.Date now = new java.util.Date();
out.println("当前时间是:" + now);
%>

5. JSP动作标签

JSP中可以使用内置的动作标签实现一些常见的特定功能

<jsp:动作名> </jsp:动作名>

  • jsp:include:在页面被请求的时候引入一个文件
  • jsp:useBean:寻找或实例化一个JavaBean
  • jsp:setProperty:设置JavaBean的属性
  • jsp:getProperty:输出某个JavaBean的属性
  • jsp:forward:把请求转到一个新的页面
  • jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

6. JSP注释

<%–注释内容–%>

总结

  1. JSP是一种在HTML中嵌入Java代码的动态网页技术。
  2. 与Servlet相比,JSP更偏重于将数据显示在HTML中,更适合制作动态页面
  3. JSP的执行过程需要经过翻译(翻译成一个Java文件)、编译(编译成字节码,即.class文件)、执行(加载到内存执行)三个步骤。
  4. JSP页面的构成元素有指令、声明、表达式、脚本、动作标签和注释
  5. JSP指令用来向JSP容器提供编译信息。
  6. JSP声明用于在JSP中定义变量和方法。
  7. JSP表达式用于将Java表达式的运行结果输出在页面中。
  8. JSP脚本用于在JSP页面插入Java代码。
  9. JSP提供了很多动作标签实现特定的功能。

猜你喜欢

转载自blog.csdn.net/weixin_44775375/article/details/108201914