zoukankan      html  css  js  c++  java
  • jsp

    jsp页面元素构成:静态内容,指令,表达式,小脚本,声明,注释。

    指令:

      page指令:通常位于页面顶端,可以有多个

       <%@page 属性1=“xxx”%>

      属性language(jsp页面使用的脚本语言,默认java),import(引用脚本语言中用到的类文件),contentType(jsp页面用的编码方式)

      include指令:将外部文件嵌入到当前jsp文件中,同时解析这个页面中的Jsp语句

      taglib指令:使用标签库定义自定义标签,在jsp页面中使用该标签(启用定制行为 )

    html注释客户端可见
    jsp注释客户端不可见
    jsp的注释<%--注释--%>
    jsp脚本注释 // /**/
    jsp脚本 在jsp页面中执行java <%java代码%>
    jsp页面中定义变量或者方法
    <%!
    String s="str"
    int add(int x,int y)
    {
    return x+y;
    }
    %>
    jsp表达式 <%=表达式%>//没有分号
    你好,<%=s %>
    x+y=<%=add(10,5)%>
    jsp页面生命周期
    用户发出请求index.jsp
    第一次请求----首先执行构造方法,jsp引擎把该jsp文件转换成为Servlet,生成字节码文件,并执行jspInit(),否则直接访问生成的字节码文件,然后解析执行jspService()[用于处理客户端的请求,对于每个请求,jsp引擎创建一个新的线程来处理该请求。多个客户端同时请求该jsp文件时,jsp引擎会创建多个线程。该Servlet始终驻于内存,所以响应快]

    ----------练习:用html和脚本输出9*9----------------  

     1        <%!
     2        //返回九九乘法表对应的HTML代码,通过表达式来调用,在页面上显示 
     3        String printMultiTable1()
     4        {
     5           String s = "";
     6           for(int i=1;i<=9;i++)
     7           {
     8              for(int j=1;j<=i;j++)
     9              {
    10                 s+=i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;";
    11              }
    12              s+="<br>"; //追加换行标签
    13           }
    14           return s;
    15        }
    16        
    17        //JSP内置out对象,使用脚本方式调用,打印九九乘法表
    18        void printMultiTable2(JspWriter out) throws Exception
    19        {
    20            for(int i=1;i<=9;i++)
    21            {
    22              for(int j=1;j<=i;j++)
    23              {
    24                 out.println(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;&nbsp;&nbsp;");
    25              }
    26              out.println("<br>"); //追加换行标签
    27           }
    28        }
    29        
    30     %>
    31     <h1>九九乘法表</h1>
    32     <hr>
    33     <%=printMultiTable1()%>
    34     <br>
    35     <% printMultiTable2(out);%>

    jsp内置对象:

    是web容器创建的一组对象,不适用new关键字创建就可以使用。·

    九大内置对象:request,response,out,application,session,PageContext,config,page,exception (前面5个常用)

    <%
        int[] value={60,70,80};
        for(int i:value{
            out.println(i);
        }
    %>

    web程序的请求与响应模式

    缓冲区:buffer 用来保存临时数据的内存的一块区域

    out对象是JSPWriter类的实例,是向客户端输出内容常用的对象,常用方法:

    void println()向客户端打印字符串

    void clear()清除缓存区的内容,在flush之后调用会抛出异常

    void clearBuffer()清除缓冲区的内容,在flush之后调用不会抛出异常

    void flush()将缓冲区内容输出到客户端

    int getBufferSize()返回缓冲区以字节数大小,若不设缓冲区则为0

    int getRemaining()返回缓冲区剩余可用量

    boolean isAutoFlush()返回缓冲区满时,是自动清空还是抛出异常

    void close()关闭输出流

    <%
        out.println("<h2>静夜思</h2>");
        //out.flush();
        //out.clear();会抛出异常,后面的语句不会打印
    %>
    缓冲区大小<%=out.getBufferSize()%>byte<br>
    缓冲区生于大小<%=out.getRemaining()%>byte<br>
    是否自动清空缓冲区<%=out.isAutoFlush()%><br>
    在平凡中坚持前行,总有一天,会遇见优秀的自己
  • 相关阅读:
    [Linux]history 显示命令的运行时间
    android从中国天气网获取天气
    R语言做文本挖掘 Part4文本分类
    ACdreamoj1110(多重背包)
    9.6 第九章小结
    role &#39;PLUSTRACE&#39; does not exist
    分糖果
    启动嵌入式间:资源有限的系统启动
    SDL2来源分析7:演出(SDL_RenderPresent())
    C# DataGridView绑定数据源的几种常见方式
  • 原文地址:https://www.cnblogs.com/mao-19/p/4921123.html
Copyright © 2011-2022 走看看