博主的每篇博文的浪漫主义
《欧若拉》 假如爱是一道光
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中编写大量的java代码会使JSP页面显得杂乱无章,看起来非常不舒服,
- 因此JSP提供了一些类似html的标签,通过这些标签能够替代部分java代码实现功能。
常用JSP标签
在JSP中有很多JSP标签,但是常用的主要有下面两个:
打开生成java文件的目录可以看到,
- 生成了两个jsp文件,分别是index_jsp.java和left_jsp.java可以得出结论,该指令的引入是在运行期完成的,而非在编译期。
这个引入指令,是在程序运行过程中,由 index_jsp 文件中的_jspService()方法通过 JspRuntimeLibrary 类的 include()方法调用了 left_jsp 文件中的_jspService()方法。在运行期所执行的这种引入,称为动态引入。
动态引入和静态引入的区别
救救就学到这里,博主的文章为什么没人看,虽然是抄作业吧,但我也是仔仔细细过了一遍的
提示:对于这篇学习笔记就暂时到这了,兄弟们加油
对于这篇学习笔记就暂时到这了,兄弟们加油
从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你! |
如果又出错的,请各位友友指正。
新人报到,各位友友们,给我个三联(点赞,关注,收藏)