1.JSP概述
1.JSP(Java Server Pages)是由Sun公司倡导、多家公司参与,于1999年推出的一种动态网页技术标准。中文名叫java服务器页,其根本是一个简化的Servlet设计。
2.在HTML文件中加入java程序片段和JSP标记,就构成了JSP页面。
3.JSP与Servlet的联系与区别:
-
JSP在本质上就是Servlet,但是两者的创建方式不一样,jsp运行时会被编译成java文件。Servlet完全是Java程序代码构成,擅长于流程控制,通过Servlet来生成动态网页很不直观。
-
JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中采用Servlet来控制业务流程,采用JSP来生成动态网页。
4.JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
5.JSP侧重于视图(显示数据),Servlet主要用于控制逻辑。
2.JSP页面构成
1.JSP由jsp指令,网页内容,java代码组成
语法:<%java代码;%>
<%
for (int i = 0; i < 10; i++) {
%>
<input type="button" value="按钮" onclick="test()">
<%
}
%>
2.jsp注释
语法:<%-- 注释内容 --%>
<%--
jsp注释,可以注释jsp中的java代码,注释后,编译时不再被编译运行
--%>
3.指令元素
1.JSP可以通过指令元素而影响容器(服务器)编译生成Java类的整体结构。
2.指令的语法为:
<%@指令名 {属性名=“值”}*%>一个指令可能有多个属性。
3.JSP中常用的指令有三个:page、include、taglib。
4.指令元素——page:
- page指令为容器提供当前页面的使用说明,page指令是最为复杂的一个指令,一个JSP页面可以包含多个page指令。
- 语法:<%@page 属性=“值” %>
- page指令默认属性;
- language定义语言类型:language=“java”;
- contentType定义响应内容的格式:contentType=“text/html;charset=UTF-8”;
- pageEncoding属性用来设置jsp文件的页面编码格式;
- import属性用来引入jsp文件需要使用的类:<%@page import=“java.util.Arrays” %>,可以使用逗号同时引入多个包,也可以在一个JSP文件中多次使用import。注意:import是page指令中唯一一个可以在一个jsp文件中多次出现的属性,其他属性在一个jsp文件中只能出现一次。
<%@ page import="java.util.Date" %><%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2021/2/25
Time: 14:29
To change this template use File | Settings | File Templates.
--%>
<%--jsp标记--%>
<%--
jsp指令元素,可以设置jsp编译后的整体结构
page:
contentType="text/html;charset=UTF-8" 设置响应内容的编码格式
language="java" 编译后java语言
import="导包"
include
静态包含一个页面
taglib
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java"
import="java.util.Date,java.util.ArrayList" %>
<%@page import="java.util.Arrays" %>
<html>
<head>
<title>$Title$</title>
<style type="text/css">
body{
color: aqua;
}
</style>
<script type="text/javascript">
function test(){
alert(11)
}
</script>
</head>
<body>
<%--
jsp(java server page)是一种动态网页技术(指的是数据动态获取)
本质是servlet
解释:1.jsp文件在运行时,由服务器编译为一个.java文件
2.index_jsp extends HttpJspBase extends HttpServlet
当访问jsp文件时,服务器会调用 _jspService()方法
jsp中的内容都在此方法中。
jsp与servlet的联系,区别
jsp的本质也是servlet,
不同:
1.创建方式不同
2.servlet主要用于逻辑处理,jsp用于视图(显示)
--%>
我的第一的jsp
<input type="button" value="按钮" onclick="test()">
<%--
jsp注释,可以注释jsp中的java代码,注释后,编译时不再被编译运行
--%>
<%--
<%
for (int i = 0; i < 10; i++) {
%>
<input type="button" value="按钮" onclick="test()">
<%
}
%>
--%>
<%
Date date = new Date();
%>
</body>
</html>
5.指令元素——include:
- include指令是JSP中另外一个常用指令,用来静态包含其他页面。
- 所谓静态包含,指的是在编译期间,把包含的页面也编译到当前页面的java文件中,java源文件就实现“二合一”:<%@include file=“target1.jsp”%>;
6.动态包含
在jsp页面中动态包含另一个资源:< jsp:include page=“target2.jsp”/>
page=“为一个相对路径,或者是代表相对路径的表达式”。
< jsp:include >是动态包含页面的响应结果合并,生成最终响应。
注意:静态包含在jsp中共享变量,动态包含在jsp中不共享变量