Java Web 学习 Day05 JSP基础

Java Web 学习 Day05 JSP基础

1、JSP表达式

1.1 JSP表达式

<%--JSP表达式
作用:用来将程序的输出,输出到客户端
<%= 变量或表达式%>
--%>
<%= new java.util.Date()%>

1.2 JSPj脚本片段

  <%--jsp脚本片段--%>
  <%
  int sum = 0;
    for (int i = 0; i < 100; i++) {
      sum+=i;
    }
    out.print(sum);
  %>

1.3 脚本片段再实现

  <%--jsp脚本片段--%>
  <%
  int sum = 0;
    for (int i = 0; i < 100; i++) {
      sum+=i;
    }
    out.print("<h1>SUM="+sum+"</h1>");
  %>

  <%
    int x = 10;
    out.print(x);
  %>
  <p>这是一条分割线</p><hr/>

  <%
    int y = 2;
    out.print("x+y="+x+y);
  %>
  <hr/>

  <%--在代码中嵌入html元素--%>
  <%
    for (int i = 0; i < 6; i++) {
      %>
  <h1>Hello,World  <%= i%></h1>
  <%
    }
  %>

1.4 JSP声明

  <%--JSP声明--%>
  <%!
    static {
      System.out.println("Loading Servlet");
  }
  private int globalvar = 0;
    
    public void lan(){
      System.out.println("进入了Lan方法!");
    }
  %>

jsp声明: 会被编译到JSP生成的java的类中;其余的会被生成到 jspService 方法中。

2、九大内置对象

2.1

  • PageContext
  • Request
  • Response
  • Session
  • Application [SerlvetContext] 存东西
  • config 【ServletConfig】
  • out
  • page (几乎不再使用)
  • exception
 <%--内置对象--%>
    <%
        pageContext.setAttribute("name1","蓝天1");//保存的数据只在一个页面中有效
        request.setAttribute("name2","蓝天2");//保存的数据只在一次请求中有效,请求转发会携带这个数据
        session.setAttribute("name3","蓝天3");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
        application.setAttribute("name4","蓝天4");//保存的数据只在服务器中有效,从打开服务器到关闭服务器
    %>

    <%--脚本片段中的代码,会被原封不动生成到JSP.java
        要求:这里面的代码,必须保证JAVA语法的正确性
    --%>
    <%
        //从pageContext取出,我们通过寻找的方式来
        //从底层到高层(作用域): page-->request-->session-->application
        String name1 = (String) pageContext.findAttribute("name1");
        String name2 = (String) pageContext.findAttribute("name2");
        String name3 = (String) pageContext.findAttribute("name3");
        String name4 = (String) pageContext.findAttribute("name4");
    %>

    <%--使用EL表达式输出 :${}--%>
<h1>取出的值:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
     <%    pageContext.setAttribute("name1","蓝天1");//保存的数据只在一个页面中有效
        request.setAttribute("name2","蓝天2");//保存的数据只在一次请求中有效,请求转发会携带这个数据
        session.setAttribute("name3","蓝天3");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
        application.setAttribute("name4","蓝天4");//保存的数据只在服务器中有效,从打开服务器到关闭服务器%>
posted @ 2021-07-28 23:33  爱学习的蓝天  阅读(44)  评论(0)    收藏  举报