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页面创建类不是一个好的做法参考:

https://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files/3180202#comment45772536_3177733

 

               下一节:使用usebean例子

 

posted on 2020-06-22 11:01    阅读(286)  评论(0编辑  收藏  举报