1.

image.png
//table.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>year</th>
<th>salary</th>
</tr>
<%
for(int i=0;i<20;i++){
out.print("<tr>");
out.print("<td>"+i+"</td>");
out.print("<td>"+1500*i+"</td>");
out.print("</tr>");
}
%>
</table>
</body>
</html>
地址欄輸入:http://localhost:8080/JspServlet/table.jsp
jsp可以替代html,可以理解對于一些有規(guī)律的html代碼,可以用代碼動態(tài)生成,注意,<% %> 內是java代碼
2.jsp執(zhí)行過程

JSP文件被web服務器接收后會轉換為Servlet源文件,就是admin_jsp.java文件,隨后就會編譯產生admin_jsp.class,所以最終生成的是.class文件,故B選項正確。

image.png
對應路徑:
D:\software\java\apache-tomcat-8.5.50\work\Catalina\localhost\JspServlet\org\apache\jsp\table_jsp.java
3.jsp基本語法

image.png

image.png

image.png
這種其實就是out.print()的簡化形式
注意out.print()是向當前頁面輸出,System.out.print()是向控制臺輸出

image.png

image.png

image.png
一個簡單的例子:
<%@ page contentType="text/html; charset=utf-8" import="java.util.*,java.text.*"%>
<%!
//定義方法
boolean isEven(int num){
if(num%2==0) return true;
else return false;
}
%>
<%
List<Integer> list = new ArrayList();
for(int i=0;i<100;i++){
list.add(i);
}
%>
<%
for(int p:list){
if(isEven(p)) out.println("<h3>"+p+"是偶數"+"</h3>");
}
%>
3.jsp重用
對header和footer代碼進行重用
//header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
新聞|財經|娛樂|廣告
//footer.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<hr/>
copyright 2019-2020
//news.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="header.jsp" %>
<%
out.println("<h1>新聞標題</h1>");
out.println("<p>新聞正文</p>");
%>
<%@ include file="footer.jsp" %>
</body>
</html>