JSP的静动态包含,四大域对象,JSP页面跳转

JSP

1、注释:

1)显示注释

  能够在客户端查看的注释:继承 html 注释

  <!-- HTML 注释 -->

2)隐式注释

  不能在客户端查看:

  • JSP注释

  <%-- JSP 注释 --%>

  • java风格注释

  //   单行注释

  /* 多行注释 */

2、Scriptlet 脚本小程序

不建议在 jsp 中写代码

<%--Java脚本段,可以写Java代码,定义局部变量--%>
<% %>
<%--声明,声明全局变量--%>
<%! %>
<%--输出表达式,可以输出变量或者字面量--%>
<%= %>

3、包含

1)include静态包含

<%@ include file="要包含的文件的路径" %> <!--相对路径-->

  静态包含是将内容进行直接的替换,但是不能定义相同的变量名,因为静态包含最终只会生成一个源码文件,最终的内容全部生成在jspService方法体的源码文件中。

2)动态包含

格式:

<jsp:include page="包含的文件路径"></jsp:include>

  动态包含相当于是方法的调用,生成多个源码文件,可以定义同名变量。

  当动态包含不需要传递参数时候,include标签不要有任何内容

  使用动态包含传递参数时格式:

<jsp:include page="upload.html">
    <jsp:param name="参数名" value="参数值"/>
    <jsp:param name="参数名" value="<%= str%>"/>  <%-- value 支持表达式--%>
</jsp:include>

4.JSP四大域对象

1). page 范围

pageContext:只在一个页面中保存属性,跳转页面后失效

2). request范围

request:只在一次请求中保存,服务器跳转后依然有效

服务端跳转有效,客户端跳转无效

3). session范围

session:在一次会话范围中,无论何种跳转都可以使用

无论是客户端还是服务端都可以取到,但是重新开一个新浏览器就不可以了

4). application 范围

application:在整个服务器上保存

服务器重启或者关闭后都失效了。

5)结果

01-JSP.jsp

<%
    //Page
    pageContext.setAttribute("name1","zhangsan");
    //request
    request.setAttribute("name2","lisi");
    //session
    session.setAttribute("name3","wangwu");
    //application
    application.setAttribute("name4","zhaoliu");
%>
<%--JSP服务端跳转--%>
<jsp:forward page="02-JSP.jsp"></jsp:forward>
<%--客户端(超链接)跳转--%>
<%--<a href="02-JSP.jsp">跳转</a>--%>

02-JSp.jsp

<%
    //page
    out.print("page: "+pageContext.getAttribute("name1")+"<br>");
    //request
    out.print("request: "+request.getAttribute("name2")+"<br>");
    //session
    out.print("session: "+session.getAttribute("name3")+"<br>");
    //application
    out.print("application: "+application.getAttribute("name4")+"<br>");
%>

 

 

 

 

 

 

 

5.JSP页面跳转

1).服务端跳转

<%--JSP服务端跳转--%>
<jsp:forward page="02-JSP.jsp"></jsp:forward>

2)客户端跳转(超链接)

<a href="02-JSP.jsp">跳转</a>

 

posted on 2022-10-15 14:39  201812  阅读(82)  评论(0编辑  收藏  举报