为什么要有JSP
首先通过servlet返回页面给用户,这些功能都是servlet来完成,页面的部署也是通过servlet来完成,那么页面的样式内容,统统都是servlet来写,servlet本身在代码层面就是java的一个类,如果在java类面写html那么相当费时费力!(看下图)
于是可以通过JSP(Java Server Page)在HTML页面中直接书写java代码,省去了在servlet类中书写java代码的过程,这样不仅html样式方便,在html中用jsp书写java逻辑也方便!
结论:JSP=Servlet
JSP执行过程
JSP常用处理指令
样例代码
<%--
Created by IntelliJ IDEA.
User: 86191
Date: 2021/11/6
Time: 13:38
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.util.*,java.text.*" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("<h1>" + "这是一个jsp页面" + "</h1>");
%>
<%! //声明构造快
//判断质数的方法
boolean flag = true;
boolean isPrime(int num) {
for (int j = 2; j < num; j++) {
if (num % j == 0) {
flag = false;
break;
}
}
return flag;
}
%>
<%
String num = (String) request.getParameter("num");
int nums = Integer.parseInt(num);
if (isPrime(nums) == true) {
//out.println("<h1>"+num+"是质数</h1>");
%>
<p><%=num%>是质数</p> <%--输出语句-->
<%
} else {
%>
<p style="color:red;text-align: center"><%=num%>不是质数</p>
<%
}
%>
<%-- <p>jsp的注释</p> --%>
</body>
</html>
输出截图
JSP页面重用
如果一个页面,页头和页脚都是固定的,只有内容需要随时改变,那么我们不能总是重新编写一摸一样的页头和页脚,所以在jsp中提供include引用,可以将页头和页脚分别卸载两个文件中,最后在主体部分引用页头和页脚即可
样例代码
页头
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
要闻|推荐|财经|娱乐
页脚
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-------------------------------------------------------------
腾讯@qq.com 版权所属腾讯
主体引用
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="include/header.jsp"%>
<p style="color: red">新闻要闻,假假条乐队11.27南宁巡演</p>
<%@include file="include/foot.jsp"%>