JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
JSP文件后缀名为 *.jsp 。
特点:
- html:由html标签组成,输出静态内容。
- jsp:可以写html标签,还可以java代码。
jsp运行的目录
tomcat的work目录,这个目录下存放jsp页面运行过程中产生的临时文件。
第一个jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp示例</title>
</head>
<body>
<%
out.println("Hello World!");
%>
</body>
</html>
jsp页面运行的步骤
1.第一次访问jsp:
- tomcat服务器把jsp页面翻译成Java源文件。(hello.jsp->hello.java)
- tomcat服务器将java源码编译成class字节码。(hello.java->hello.class)
- 读取class文件,创建类对象。
- 执行类中的方法,hello.jsp类的方法。
2.第n次访问jsp
直接执行类中的方法。hello.jsp的方法
注意:修改jsp页面是,重新走翻译和编译的过程
jsp就是一个servlet! servlet上能用的jsp都能用
jsp语法
1.jsp表达式
/**
例如:<%=x%> 表达式<%=x*y+k-n%>
这样写的表达式,翻译后实质上是用过out.print()来输出。
格式: <%=变量或表达式计算%>
作用: 用于向浏览器输出变量的值或表达式计算的结果
注意:
1)表达式的原理就是通过out.print()方法向浏览器输出内容。
2)表达式后面不能带分号。
**/
<body>
<p>
今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body>
2.jsp脚本
/**
也就是html中的java代码
格式:<% java代码 %>
作用: 执行java代码
注意:
1)可以写多行java代码
2)原理是把脚本代码原封不动拷贝到_jspService方法中执行。
3)jsp脚本可以穿插html代码结合使用
**/
<body>
<h3>IF...ELSE 实例</h3>
<% if (day == 1 | day == 7) { %>
<p>今天是周末</p>
<% } else { %>
<p>今天不是周末</p>
<% } %>
</body>
3.jsp声明
/**
声明里面的 变量和方法 是 成员变量 和成员方法
格式: <%! %>
作用: 声明jsp的变量和方法
注意:
1)Jsp脚本声明的变量是局部变量,Jsp声明的变量是成员变量。
2)Jsp脚本中不能声明方法的,Jsp声明的方法是成员方法。
3)jsp声明的方法不能和翻译成的java类的方法重复。
**/
<%!
String email = "123@.163.com";
public void sayHello(){
System.out.print("xxxxxxxxxx");
}
%>
4.jsp注释
/**
jsp注释只会出现在jsp文件中,不会被翻译到java文件里。
格式: <%-- jsp注释 --%>
注意:
html的注释会翻译到java源代码中,会被执行的。
jsp的注释不会翻译到java源代码中,不会被执行的。
**/