JSP:全名Java Server Page
1)、JSP本质是一个Servlet
2)、JSP能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML。
3)、JSP必须运行在服务器中
JSP基本语法
模板元素
HTML元素都叫模板元素 --- > out.write("<h1>标题</h1>")
jsp表达式
在页面输出表达式中的内容
<%=new Date() %> ---> out.print(new Date());
JSP脚本片段
在页面编写java代码
<%
//java代码
%>
这些java代码都被放在jspservice()这个方法中
所以方法中可以写什么,这里就可以写什么
public void test(){}; //xxx
private String name; //xxx
脚本片段可以有多个,但是合起来必须完整
JSP声明
jsp声明的内容都在jspservice方法之外
<%! %>,可以声明变量 private String name;
可以写方法 public void test(){}
JSP注释
HTML注释: <!-- --> 浏览器解析的时候就忽略了
JSP注释: <%-- --%> 在翻译成java文件时被忽略
java注释: // /**/
JSP指令
<%@指令名 属性=值 %>
page: 定义页面如何被服务器翻译解析
include: 静态包含
<%@include file="文件路径"%> 可以包含WEB-INF下的页面
静态包含, 要包含的文件是不用翻译和编译的
taglib: 引入标签库
JSP标签
<jsp:forward></jsp:forward> 进行页面转发
<jsp:forward page="要转发去的页面">
<jsp:param value="root" name="username"/>
</jsp:forward>
· 不带参数的话<jsp:forward></jsp:forward> 进行页面转发(中间不要去有空格)
<jsp:include page="要包含的页面"></jsp:include>
动态包含, 要包含的文件是需要翻译和编译的
被包含的页面内容经常更新的情况下使用动态包含
JSP隐含的就九大对象
对象:pageContext request session application response config exception out page
域对象.setAttribute(key,value);在域中设置要共享的数据
域对象.getAttribute(key); 取出与域中的数据
域对象.removeAttribute(key); 移除域中的数据