主要内容:
Servlet的缺点:
JSP:java服务器页面
JSP的特点:
JSP的运行要求:
测试代码:
salary.jsp:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<th>year</th>
<th>salary</th>
</tr>
<%
for (int i = 0; i <= 50; i++) {
out.println("<tr>");
out.println("<td>"+i+"</td>");
int sal = 1500;
if (i<=5){
sal = sal+i*150;
}else if(i>5 & i<=10){
sal = 2250+(i-5)*300;
}else if(i>10){
sal = 3750+(i-10)*375;
}
out.println("<td>"+sal+"</td>");
out.println("</tr>");
}
%>
</table>
</body>
</html>
输出结果:
JSP的执行过程:
JSP的转译过程:
JSP基本语法:
JSP代码块:
JSP声明构造块:
JSP输出指令:
JSP处理指令:
JSP注释:
JSP综合训练:质数算法
测试代码:prime.jsp
<%@page import="java.util.*,java.text.*" %>
<%@ 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>
<%!
boolean isPrime(int num) {
boolean flag = true;
for (int j = 2; j < num; j++) {
if (num % j == 0) {
flag = false;
break;
}
}
return flag;
}
%>
<%
List<Integer> primes = new ArrayList();
for (int i = 2; i <= 1000; i++) {
boolean flag = isPrime(i);
if (flag == true) {
//out.println("<h1>" + i + "</h1>");
primes.add(i);
}
}
%>
<%
for(int i:primes){
out.println("<h1 style='color:pink'>" + i + "是质数</h1>");
}
%>
</body>
</html>
输出结果:
JSP页面重用:通过将公用的部分写在一起,然后在使用include关键字将其导入
例如:
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 1999-2020
两个页面重用:
news.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="include/header.jsp" %>
<%
out.println("<h1>新闻标题</h1>");
out.println("<p>新闻正文</p>");
%>
<%@include file="include/footer.jsp" %>
输出结果:
video.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="include/header.jsp" %>
<%
out.println("<h1>视频板块</h1>");
%>
<%@include file="include/footer.jsp" %>
输出结果: