JSP基础知识
1.Servlet缺点
- 静态html与动态Java代码混在一起,难以维护;
- Servlet利用out.println()语句输出,开发效率低下;
- Eclipse调试困难,难发现错误
JSP解决了上述问题
2.JSP执行过程
JSP本身就是一种Servlet
浏览器向Tomcat发送要访问的jsp请求,Tomcat将jsp转译成Servlet源代码,之后由Java编译成Servlet字节码,返回结果。
3.JSP基本语法
- JSP代码块
jsp 嵌入 java代码 <% %>
- JSP声明代码块
申明变量或方法 <%! 声明语句 %>
-
JSP输出指令
在JSP页面中显示java代码执行结果 <%=java代码 %>
<%= "" + name + "" %> 与 outprintln()作用相同
-
JSP处理指令
用于提供JSP执行过程中的辅助信息 <%@ jsp指令 %>
<%@ page import="java.util.*" %> :定义当前JSP页面全局设置,比如导入某个类
<%@ include file='include/header.jsp' " %> :将其他JSP页面与当前JSP页面合并
<%@ taglib %> :引入JSP标签库,即JSTL
-
JSP注释的区别
<%--注释--%> JSP注释,被注释后不做任何处理
// /*...*/ 用于注释<% java代码 %>
Demo code
<%@ page import="java.util.*" contentType="text/html;charset=UTF-8" language="java" %>
Title
<%!
boolean isPrime(int num){
boolean flag=true;
for(int i =2;i
<%
List primes = new ArrayList();
for(int i=2;i<=100;i++){
boolean flag = isPrime(i);
if(flag == true)
primes.add(i);
}
%>
<%
for(int p:primes) {
out.println("" + p + "是素数
");
}
%>
4. JSP页面重用
把表头和表尾单独分割出来,使用<%@include file="include/header.jsp" %> 来引入。
header.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
要闻|推荐|财经|娱乐
footer.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Copyright 1999-2021
news.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="include/header.jsp" %>
<%
out.println("新闻标题
");
out.println("新闻正文
");
%>
<%@include file="include/footer.jsp" %>