一、什么是JSP
1、JSP(Java Server Pages):在HTML中嵌入Java脚本代码
静态内容是JSP页面中的静态文本,其基本是HTML文本,与Java和JSP语法无关。
小栗子:
<%@page import="java.util.*"%> <%@page import="java.text.SimpleDateFormat"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>输出当前日期</title> </head> <!-- 这是HTML注释(客户可以看到源代码) --> <%-- 这是JSP注释(客户无法看到源代码) --%> <body> 你好,今天是 <% //Java逻辑代码编写区 SimpleDateFormat formater = new SimpleDateFormat("yyyy年 MM月dd日"); String str = formater.format(new Date()); %> <!--渲染表达式--> <%=str%> </body> </html>结果如下:
二、JSP指令元素
1、 JSP指令元素的作用是通过设置指令中的属性,在运行时,控制JSP页面的某些特性。
2、JSP指令一般以“<%@”开始,以“%>”结束。
在上述栗子中 属于JSP指令的代码片段为:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
page:指令是针对当前页进行设置的一种指令,通常位于JSP页面的顶端,在一个JSP页面中可以包含多个
page指令。需要注意的是,page指令只对当前JSP页面有效。
page语法:
<%@ page 属性1=“属性值1” 属性2=“属性值2”........... %>
JSP容器将使用默认指令属性值。如果需要对page指令中的一个属性设置多个属性值,期间以逗号隔开。
<%@ page 属性1=“属性值1” 属性2=“属性值2”,“属性值3”........... %>
page常用属性:
属性 | 描述 | 默认值 |
language | 指定JSP页面使用的脚本语言 | java |
import | 通过该属性来引用脚本语言中使用到的类文件 | 无 |
contentType | 用来指定JSP页面运行结果的类型,浏览器展示内容需要采用的编码格式 | text/html ; charset=Ios-8859-1 |
属性详细介绍:
(1)、language属性:page指令中的language属性用于指定当前JSP页面所采用的脚本语言,当前JSP版本
只能使用Java作为脚本语言。该属性可以不设置,因为JSP默认就是采用Java作为脚本。
(2)、import属性:page指令中的import属性在实际开发中使用比较频繁。通过import属性可以在JSP文件
的脚本片段中引用类。如果一个import属性引入多个类,需要在多个类之间用逗号隔开。
格式如下:
<%@ page import="java.util.* , java.text.* "%>
<%@ page import="java.util.* " %>
<%@ page import="java.text.* "%>
(3)、contentType属性:该属性的设置在开发过程中是非常重要的,而且经常被用到。中文乱码一直是困扰
开发者的一个问题,而contentType属性可以对编码格式进行设置。这个设置告诉Web容器在客户端
浏览器上以任何格式及使用何种编码方式显示响应的内容。
格式如下:
<%@ page contentType=" Text/html ; charset=UTF-8 "%>
2、JSP脚本元素
在JSP页面中,将小脚本(scriptlet)、表达式(expression)、声明(declaration)统称为JSP脚本元素。
1、什么是小脚本
小脚本可以包含任意的Java片段,形式比较灵活,通过在JSP页面中编写小脚本可以执行复杂的操作和
业务处理。编写方法是将Java程序片段插入<%%>标记中。
例如:
<% //Java逻辑代码编写区 SimpleDateFormat formater = new SimpleDateFormat("yyyy年 MM月dd日"); String str = formater.format(new Date()); out.print(str); %>
这段代码中使用了JSP的一个内置对象out,out.print()方法用于页面中输出数据。
2、什么是表达式
表达式是对数据的表示,系统将作为一个值进行计算显示。当需要在页面中输出一个Java变量或
着表达式值时。
语法:
<%=java变量或表达式%>
小栗子:
<body> <% int[] value = { 60, 70, 80 }; for (int i : value) { //out.print(i); %> <%=i%> <% } %> </body>
需要注意的是:在Java中语法的规定中,每一条语句末尾必须使用分号代表结束。而在JSP中使用表达式输出数
据时,不能再表达式结尾处添加分号。
问答题:如何实现在JSP页面中计算两个数的和,并将结果输出显示?
小栗子:
<body> <% int A=10,B=20; int C=A+B; %> 数字<%=A %>和<%=B %>的求和结果为:<%=C %> </body>