JSP 简介
JSP 的全称是 java server pages。Jawa的服务器页面。
JSP的主要作用是代管Servet 程序回传 html 页面的数据。
因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
JSP本质是Servlet。
三类脚本
声明脚本
可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块、内部类等。
- 格式
<%! 声明java代码 %> - 例子
- 声明类属性
- 声明static静态代码块
- 声明类方法
- 声明内部类
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="sun.net.util.IPAddressUtil" %><%--
Author: 挚爱之夕
Date: 2023-08-28
Time: 15:07
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%-- 1、声明类属性--%>
<%!
private Integer id = 1100;
private static Map<Object, Object> map;
%>
<%-- 2、声明static静态代码块--%>
<%!
static {
map = new HashMap<>();
}
%>
<%-- 3、声明类方法--%>
<%!
public void print(){
System.out.println("print方法");
}
%>
<%-- 4、声明内部类--%>
<%!
public static class Dog{
private int age;
private String name;
}
%>
</body>
</html>
- Tomcat 编译后的java文件
表达式脚本
在jsp页面上输出数据。
-
格式
<%=表达式%> -
例子
- 输出整型
- 输出浮点型
- 输出字符串
- 输出对象
<body>
<%!
private static Map<String, Integer> map = new HashMap<>();
static {
map.put("张", 12);
map.put("李", 8);
}
%>
1.输出整型
<%= 1%> <br/>
2.输出浮点型
<%= 1.23%> <br/>
3.输出字符串
<%= "我是字符串"%> <br/>
4.输出对象
<%= map%> <br/>
5._jspService()方法中的对象可以直接使用
<%= request.getParameter("username")%>
</body>
- Tomcat编译后的Java文件
代码脚本
可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。
-
格式
<%
java 语句
%> -
例子
<body>
1.代码脚本--------if 语句
<%
int i = 13;
if(i == 13){
System.out.println("i == 13");
}else{
System.out.println("i != 13");
}
%>
2.代码脚本---for循环语句
<%
for(int j = 0; j < 10; j++){
System.out.println(j);
}
%>
3. 翻译后java文件中 jspService 方法内的代码都可以写
<%
String name = request.getLocalName();
System.out.println(name);
%>
</body>
- 编译后的Java文件
总结
- 代码脚本翻译之后都在_jspService 方法中
- 代码脚本由于翻译到 _ jspService()方法中,所以在_jspService()方法中的现有对象都可以直接使用。
- 还可以由多个代码脚本块组合完成一个完整的java 语句。
- 代码脚本还可以和表达式脚本一起组合使用。在jsp 页面上输出数据。