JSP
1.1,什么是JSP
Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术!
最大的特点:
-
写JSP就像再写HTML
-
JSP和HTML的区别
-
HTML只给用户提供静态的数据
-
JSP页面中嵌入JAVA代码,为用户提供动态数据
-
1.2,JSP原理
思路:JSP到底咋样执行的!
-
代码层面没有任何问题
-
服务器内部工作
tomcat中有一个work目录
IDEA中使用tomcat会在IDEA的tomcat中生成一个work目录
-
我电脑的地址
发现页面转变成了Java程序
浏览器向服务器发送请求,不管访问什么资源,其实都是再访问Servlet
JSP最终也会转换成为一个Java类
JSP的本质就是一个Servlet
2.1, JSP基础语法
任何语言都有自己的语法,Java中有。
JSP作为Java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可!),Java所有语法都支持
JSP表达式
<%--
jsp表达式
作用:用来将程序的输出,输出到客户端
格式:<%= 标量或者表达式%>
--%>
<%= new java.util.Date()%>
jsp脚本代码
<%--jsp脚本片段--%>
<%
int sum = 0;
for(int i = 1; i<=100;i++){
sum+=i;
}
out.println("<h1>Sum="+sum+"</h1>");
%>
jsp脚本片段的再实现
<%
int x = 10;
out.println(x);
%>
<p1>这是一个JSP文档</p1>
<%
int y = 10;
out.println(y);
%>
在代码中嵌入html代码
<%for(int i = 0; i<5; i++){%>
<h1>hello,world! <%= i%></h1>
<%}%>
jsp声明
<%!
static {
System.out.print("这是一个静态代码块");
}
private int globalVar = 0;
private void show1(){
System.out.println("进入jsp页面");
}
%>
JSP声明:会被编译到JSP生成的JAVA类中!其他的,就会被生成到_jspService方法中!
在jsp,嵌入java代码即可!
<%= %>//表达式
<%%>//脚本
<%!%>//声明全局的
<%----%>//JSP注释
JSP的注释,不会再客户端显示,HTML就会!(检查源代码情况下)
jsp指令
<%@ include file="common/header.jsp"%>
<%@ page errorPage="error/500.jsp"%>
<jsp:include page="/common/header.jsp"></jsp:include>
<%--是将页面合二为一成一个页面变量之间相互影响--%>
<%@ include file="common/header.jsp"%>
<h1>网页主体</h1>
<%@ include file="common/footer.jsp"%>
<hr>
<hr>
<%--是将三个页面拼接在一起,本质是三个页面,变量互不影响--%>
<jsp:include page="/common/header.jsp"></jsp:include>
<h1>网页主体</h1>
<jsp:include page="/common/footer.jsp"></jsp:include>
配置错误页面还可以再web.xml中进行配置
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>