JSP是J2EE的功能模块,由Web服务器执行(Tomcat)
JSP的作用就是降低动态网页开发难度
特点
- JSP使用简单,短时间学习便可,上手使用
- JSP可将Java代码与HTML分离,降低开发难度
- JSP的本质就是Servlet
Servlet的缺点
- 静态HTML与动态Java代码混合在一起,难以维护
- Servlet利用out.println()语句输出,开发效率低下
- Eclipse很难在开发过程中发现错误,调试困难
JSP的运行要求
- 可正常运行的Tomcat
- 所有JSP页面扩展名必须是.jsp
- JSP页面应该放在Web应用程序目录下
JSP的执行过程
JSP基本语法
1.JSP代码块
- JSP代码块用于在JSP中嵌入Java代码
- JSP代码块语法: < % java代码%>
- 例如: < %System.out.println(" Hello World!");%>
2.JSP声明构造块
- JSP声明构造块用于声明变量或方法
- JSP声明构造块语法: < %!声明语句%>
- 例如: < %! public int add(int a,int b){return a+b;} %>
3.JSP输出指令
- JSP输出指令用于在JSP页面中显示java代码执行结果
- JSP输出指令语法: <%= java代码%>
- 例如: <%= “” + name + “” %>(out.println()的简写形式)
4.JSP处理指令
- JSP处理指令用于提供JSP执行过程中的辅助信息
- JSP处理指令语法: < %@ jsp指令%>
- 例如: <%@ page import= “java.util.*”%>
JAP常用指令 - <%@ page %>定义当前JSP页面全局设置
- <%@ include %>将其他JSP页面与当前JSP页面合并
- < %@ taglib %>引入JSP标签库
JSP注释的区别 - <%–注释–%> JSP注释,被注释语句不做任何处理
- //、/…/用于注释<%%>java代码,被注释代码不执行
- HTML注释,被注释的语句不会被浏览器解释
简单案列
<%@page import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>
<%!
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> prime = new ArrayList();
for (int i = 2 ;i <= 1000;i++){
boolean flag = isPrime(i);
if (flag == true){
//out.println("<h1>"+i+"</h1>");
prime.add(i);
}
}
%>
<%
for(int p : prime){
//out.println("<h1>"+p+"是质数</h1>");
%>
<h1 style="color: red"><%=p %>是质数</h1>
<%
}
%>
JSP页面重用
<%@page contentType="text/html;charset=utf-8" %>
<%@include file="include/header.jsp"%>
<%
out.println("<h1>新闻标题</h1>");
out.println("<h2>新闻正文</h2>");
%>
<hr>
<%@include file="include/footer.jsp"%>