JSP
jsp介绍
Java Service Page:Java服务器页面;用来处理一些Java前后端交互的数据,主要用来显示数据,不建议大量代码写在JSP页面里面;代码和HTML相似,比较简单;但是由于HTML和Java的代码在jsp中交错,所以书写界面比较乱就成为了码农工作中的一个弊端。
jsp的执行
动态请求会别分发到web服务器中;然后服务器会执行字节码文件,即.class文件(Tomcat在工作的时候,将我们的Jsp页面转换成了java类,.class文件是虚拟机写的,tomcat一关闭网页信息就销毁了)。
jsp本质上是servlet(jsp继承了HTTPJSPBase,没有直接继承HttpServlet,但是HTTPJSPBase继承了HttpServlet,所以得出此结论);jsp的主方法本质就是doGet和doPost;jsp中的application可以理解为本质就是pagecontext.getservletcontext。
jsp语法
- jsp获得把变量值:<%=表达式或变量值%>(可以在任何地方嵌入)
- jsp定义局部变量:写一段java代码<%
- java代码(必须严格遵守java规范)%>
- jsp定义全局变量:<%!定义全局变量%>(每次刷新,定义的变量都参与,全局定义东西可以跨session执行。不属于doGet和doPost)
jsp代码可以在不同的<%%>中实现,但是必须代码完整,不然网页会报500。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%for (int i = 0; i < 100; i++) {%>
<h1>hello,world</h1>
<%}%>
</body>
</html>
jsp四大作用域:(用来存放一些内容或对象)
-
page:代表当前页面,几乎用不到
-
request:一次请求中有效,关闭再请求就无效了(如:登陆注册)
-
session:一次会话中存在,即使关闭服务器,也会保持(如:购物车)
-
pagecontext:本质是context,全局、所会话共享(如:广告)
数据尽量放在session中