1.声明
作用:定义JSP中的变量、方法以及静态方法。
<%! 变量定义/方法定义/类 %>
<jsp:declaration>变量定义/方法定义/类</jsp:declaration> //已过时
2.注释
作用:说明、解释
HTML注释:<!-- 注释内容 -->
JSP注释:<%-- 注释内容 --%>
<% // %>
<% /* */ %>
3.表达式
作用:将动态信息显示在页面上。
<%=变量或表达式 %>
<jsp:expression> 变量/表达式 <jsp:expression> //已过时
4.指令
page指令:
作用:设置JSP页面的属性和相关功能。
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
其他属性:
session="true|false" 设置session是否可用,默认true
autoFlush="true|false" 设置缓冲区域是否自动清除,默认true
info="text" 描述该jsp页面的相关信息
errorPage="URL" 当页面产生异常时跳转的路径
include指令:
作用:在JSP页面引入需要包含的页文件。
<%@ include file="a.jsp" %>
<jsp:include page="a.jsp" %>
taglib指令:
标签指令,JSP新增的指令,作用:自定义新的标签。
<%taglib uri="taglibURL" perfix="tagPre" %>
其中:
uri:表示自定义标签库的存放位置;
perfix:区分不同标签库的标签名。
5.动作
JSP中有13个动作:
<jsp:include>、<jsp:forward>、<jsp:plugin>、<jsp:param>、
<jsp:params>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>、
<jsp:output>、 <jsp:attribute>、<jsp:element>、<jsp:body>、<jsp:fallback>。
动作的标准格式:
<jsp:include page="top.html" />
或
<jsp:include page="top.html"></jsp:include>
5.1 <jsp:include>
作用:引入文件到目标页面,与<%@include%>指令十分相似。
<jsp:include page="URL" flush="true" />
例如:
<jsp:include page="top.html" flush="true" />
<jsp:include page="top.html" />
其中:page 指明了需要包含文件的路径,这里的路径不是指绝对路径,而是指项目路径;
如何获得项目路径?
String path=request.getContextPath();
flush 指定输出缓存是否转移到被导入文件中,true则包含的被导入文件中,false则包含在源文件中。
<jsp:include>动作与<%@include%>指令不同点:
a. jsp:include页面被访问时调用,include指令在编译时调用;
b. jsp:include包含文件与主文件相对独立,include则会合成一个,效率更高。
5.2 <jsp:forward>
作用:转发请求到另外一个页面中,可以带参。
<jsp:forward page="URL" />
例如:
<jsp:forward page="error.html" />
例如:
<jsp:forward page="doreg.jsp?username=张三" />
注意:上述代码即使连接到doreg.jsp,但浏览器地址栏仍然显示是当前页面,具备隐密性。
5.3 <jsp:param>
作用:用来传递参数信息,传递主页面的参数到目标页面。
常与<jsp:forward>、<jsp:include>一起使用。
<jsp:param name="参数名" value="参数值" />
例如:
<jsp:param name="username" value="李四" />
例如:include与param结合使用
<jsp:include page="subPage.jsp">
<jsp:param name="username" value="李四" />
<jsp:param name="password" value="10086" />
<jsp:param name="address" value="湖南长沙" />
</jsp:include>
例如:param与forward结合使用
<jsp:forward page="subPage.jsp">
<jsp:param name="username" value="李四" />
<jsp:param name="password" value="10086" />
<jsp:param name="address" value="湖南长沙" />
</jsp:forward>
接收代码都一样:
String username=request.getParameter("username");
String password=request.getParameter("password");
String address=request.getParameter("address");
注意:如果传参的是中文,注意编码问题。
6、表单提交方式两种:
1.get(默认) 安全性低 地址栏可见信息 有数据长度的限制
2.post 反之 因此以后表单提交都用post