服务器渲染技术JSP
JSP的起源就是Servlet;JSP可以动态获取数据,可以像HTML一样便捷的编写,HTML,JAVA等代码。再通过Tomcat服务器实现浏览器与客户端互通.
JSP的实际运行
add_jap.java文件
HttpJspBase
Page指令
JSP脚本
声明脚本
声明脚本的格式: <%! 声明JAVA代码 %>
作用:定义JSP的需要属性,方法,静态代码块和内部类等
表达式脚本
表达式脚本的格式: <%=表达式%>
表达式脚本的作用: 在JSP页面上输出数据
代码脚本
代码脚本的格式: <%JAVA代码%>
示例:
效果图:
JSP九大内置对象
JSP四大域对象作用域
pageContext
(域对象,存放的数据只能在当前页面使用)
request
(域对象,存放的数据在一次request请求有效)
注:只要request对象未改变都能请求存放的数据, 重定向是经过浏览器存储转发到服务器request对象已经改变
session
**注:**只要会话未改变可以一直取到数据
application
四大域对象作用域示例:
代码图:
访问当前页面效果图
直接访问scope2效果图
注1:
scope.jsp中(如果有下面代码)
response.sendRedirect("scope2.jsp");
相当与重新发给浏览器,再重新定向给scope2.jsp(page和request发生改变);
注2:
scope.jsp中(如果有下面代码)
request.getRequestDispatcher("scope2.jsp").forward(request,response);
相当于将request对象传递给scope2.jsp(仅仅只是page改变);
更换浏览器直接访问scope2
JSP常用标签
<jsp:forward page=""></jsp:forward>
**本质就是:**request.getRequestDispatcher(“”).forward(request,response);
EL表达式
本质是JSP->EL表达式使代码更简便但又更加增强了逻辑的缜密性
示例:
效果图:
EL常用输出类型
示例:
效果图:
empty运算
示例:
效果图:
EL三元运算符
效果图:
EL11个隐含对象
示例:获取四大域属性值
结果图:
示例:用pageContext.request获取和http协议相关的信息
效果图:
JSTL
核心标签-c前缀
set标签
示例:
效果图:
if标签
示例:
效果图:
choose
示例:
forEach标签
遍历从i-n
示例遍历从1-5
效果图:
遍历数组
示例:
效果图:
遍历List
示例:
效果图:
遍历Map
示例:
效果图: