jsp基础知识:注释, <%@page%>,<%@ include %>与<jsp:include> ,<taglib>,<jsp:forward>与sendRedirect(),<jsp:useBean >
<% 可以加入Java代码块,客户端不可见%>
jsp表达式
<%=xxx%>(注意=语句没有 ' ;' 号)
等价于<%out.print(xxx);%>
jsp注释
<!--HTML注释 --> 会被客户端看到,注意不要写加密信息以及重要信息
<%-- 注释 --%>不会被客户端看到 一些关键信息代码可以写在这里
在Java段落中可以使用// /**/ 注释
jsp脚本段<% %> 在jsp转换成Java后,所有脚本段的内容相当于放在main函数里面
jsp声明<%! 注意!号前面不要加空格否则就与脚本段相同 %>相当于在jsp在转换成Java之后,在main函数外的代码块
<%%>可以调用<%!%>代码块
<%@page %> 拥有许多功能,但是由于入门不做深入了解,知道使用import=""导入相应包就可以了
同时注意平时可以学习文档学习相应包
include 指令 一般引入xxxx.jsp文件,或者HTML代码块
<%@ include %> 静态include引入文件 在文件执行之前被执行。
<jsp:include> 动态include 在文件需要执行时被执行
对比: 静态include 包含源码 在处理前执行速度快
动态include 包含HTML,可以使用jsp表达式 struts 应用请求 可以带参数
动态include处理两个请求,静态include处理一个请求
使用动态include 会忽略response请求
动态include调用图
动作指令<taglib>引入外在库
请求转发<jsp:forward> 从一个页面转到另一个页面
<jsp:forward page=""> //page 目标文件路径
<jsp:param name=" 参数名称" value=“ 值”>//向动态目标文件传递参数
</jsp:forward>
请求转发流程图 :(注意 目标所在位置与服务器位置一致)
response.sendRedirect()网页重定向
图:注意:B C(c是目标文件所在服务器)为两个服务器
区分sendRedirect()与<jsp:forward >的区别
sendRedirect 可能会发送多次请求
forward 只发送一次请求
sendredirect 目标可以是任意网络位置上
forward 目标文件必须在自己的服务器上
<jsp:useBean id="变量名" scope=" 存储范围" { class=“类路径” type=“数据类型” beanname="类路径" type=“类型”}>
Javabean 所有属性为私有,只能使用get,set方法使用
可以自己构造JavaBean,只需要使用class指定类名
注意 自己构建类中的元素每一个都要书写get,set 方法,不能省略。
(不要在<%%>中创建类,是错误的,因为jsp文件最终会编译转换装在servlet里的service()里。方法内部无法创建普通类,但是可以创建内部类,通常情况在jsp页面创建类不是一个好的做法参考:
下一节:使用usebean例子