什么是jsp,对于jsp的详细理解

发布于:2022-12-05 ⋅ 阅读:(727) ⋅ 点赞:(0)

博主的每篇博文的浪漫主义

《欧若拉》 假如爱是一道光

在这里插入图片描述

这是一篇学习笔记 ,来自

http://www.monkey1024.com/javaweb/941

小猴子monkey1024的Java教程

知识改变命运

什么是jsp?

JSP全称是Java Server Pages,是一种动态网页技术,JSP其实就是在html中插入了java代码和JSP标签之后形成的文件,文件名以.jsp结尾。其实JSP就是一个servlet。

在servlet中编写html比较痛苦,而写JSP就像在写html,但它相比html而言,

  • html只能为用户提供静态数据即静态页面

  • Jsp技术允许在页面中嵌套java代码,为用户提供动态数据,从而形成动态页面

需要注意的是最好只在JSP中编写动态输出的java代码。

创建第一个JSP:

IDEA中创建jsp:

在web目录下右键,new—>JSP/JSPX,创建一个名为first.jsp的文件。
然后在文件中编写下面代码:

<%@ page import="java.util.Date" %>
<%@ page import="java.text.*" %><%--
  Created by IntelliJ IDEA.
  User: muwei
  Date: 2022/9/23
  Time: 10:33
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    Date date = new Date();  // 获取当前系统时间
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  // 设置日期格式
    String strTime = simpleDateFormat.format(date);  // 格式转换
    out.write(strTime);
    // 2019-06-10 17:32:05
    
%>

</body>
</html>

之后将项目部署到tomcat中并启动,在浏览器中访问该JSP即可在页面中看到当前时间了。

JSP的工作流程

将JSP文件转换为.java文件并将其编译为.class文件的过程都是由tomcat完成的,在tomcat内部有一个翻译引擎,当JSP页面第一次被访问时由翻译引擎转换为.java文件并编译出.class文件。之后再运行该class文件。

  • 在JSP中的html代码都会翻译到servlet中的out.write()中。

JSP中的注释

在这里插入图片描述

JSP中Java相关的标签

<% %>

在JSP中使用该标签嵌入Java代码,在一个JSP中可以有多个<% %>并且可以出现JSP文件中的任意位置,JSP引擎会将这部分Java代码按照从上到下的顺序放到_jspService方法中,

  • 因此在<% %>中只能出现以分号结尾的Java语句

不能出现下面内容:

  • 声明变量添加访问权限修饰符的;
  • 不能定义方法;
  • 不能定义静态语句块;

<%! %>

如果想要在JSP中声明方法或静态代码块等内容的话可以使用该标签,在该标签中不能直接编写普通的Java语句,一般情况下不建议使用这个标签,因为JSP是在单线程环境下运行的,所以在这部分中的变量可能会有线程安全问题。 例:

<%! private int a = 10; %>
<%! 
    public void m1(){
        System.out.println("m1方法");
    }
 %>

<% m1();//调用m1方法 %>

<%= %>

该标签中的内容可以直接在JSP中输出变量、常量等,里面的内容是不用分号结尾的,会被JSP引擎直接翻译到_jspService方法中的out.write()方法中输出,例如:

<% int a = 1024;%>
<%= a %>
<%= “username” %>

JSP中的9个内置对象

为了便于开发者的使用,在JSP引擎将JSP翻译为.java文件时,会提供9个与web开发相关的对象被称为JSP中9个内置对象,开发者在JSP中可以直接使用这些对象调用的方法,这九个内置对象的引用名分别是:pageContext,request,session,application,response,config,out,page,exception。

在这里插入图片描述

在这里插入图片描述

JSP指令

JSP 指令的作用是为当前页面做一些基本的属性设置,为当前的页面的运行提供基本的环境。
在JSP中包含三类指令:

  • page,页面指令
  • include,包含指令
  • taglib,标签库指令

这些指令的使用的语法格式均为如下形式:

<%@ 指令名称 属性名=属性值 … %>

jsp指令详解

JSP常用标签

什么是JSP标签

JSP标签,有的地方也叫做JSP动作,在JSP中编写大量的java代码会使JSP页面显得杂乱无章,看起来非常不舒服,

  • 因此JSP提供了一些类似html的标签,通过这些标签能够替代部分java代码实现功能。

在这里插入图片描述

常用JSP标签

在JSP中有很多JSP标签,但是常用的主要有下面两个:
在这里插入图片描述
在这里插入图片描述

打开生成java文件的目录可以看到,

  • 生成了两个jsp文件,分别是index_jsp.java和left_jsp.java可以得出结论,该指令的引入是在运行期完成的,而非在编译期。

这个引入指令,是在程序运行过程中,由 index_jsp 文件中的_jspService()方法通过 JspRuntimeLibrary 类的 include()方法调用了 left_jsp 文件中的_jspService()方法。在运行期所执行的这种引入,称为动态引入。

动态引入和静态引入的区别

在这里插入图片描述

救救就学到这里,博主的文章为什么没人看,虽然是抄作业吧,但我也是仔仔细细过了一遍的
提示:对于这篇学习笔记就暂时到这了,兄弟们加油
对于这篇学习笔记就暂时到这了,兄弟们加油

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

如果又出错的,请各位友友指正。

请添加图片描述

新人报到,各位友友们,给我个三联(点赞,关注,收藏)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到