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,可以理解对于一些有规律的html代码,可以用代码动态生成,注意,<% %> 内是java代码
2.jsp执行过程
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>