程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP腳本元素和注釋復習總結示例

JSP腳本元素和注釋復習總結示例

編輯:關於JSP

    今天復習了JSP腳本元素和注釋部分,案例寫出來,大家自己調試下,整體總結如下,
    1、JSP申明語句:
    <%! 申明語句 %>
    使用申明語句的變量為全局變量,多個用戶執行此JSP頁面,將共享該變量。
    如:

    復制代碼 代碼如下:
    <html>
    <head>
    <title>JSP Demo</title>
    </head>
    <body>
    <%! int a = 1 ;%>
    <%
    out.println("a="+a);
    a++;
    %>
    </body>
    </html>


    結果如下:
    01.gif 
    再次刷新,會發現如下a的值加一了,因為變量a是全局變量,a++運算多次累計,多用客服端共享:
    02.gif 
    2、JSP Scriptlets:
    <% Java代碼%>
    在JSP Scriptlets中可包含多個語句,如:方法,變量, 表達式等;
    如:

    復制代碼 代碼如下:
    <html>
    <head>
    <title>test demo</title>
    </head>
    <body>
    <%
    String str = "Hello,xiaomo!";
    out.println(str);
    %>
    </body>
    </html>


    結果如下:
    03.gif 
    3、JSP表達式:
    <%= Java代碼 %>
    一種簡單的輸出形式,必須有一個可以輸出的值,表達式中的代碼會首先執行,然後轉換成字符串顯示到頁面。
    如:

    復制代碼 代碼如下:
    <html>
    <head>
    <title>test demo</title>
    </head>
    <body>
    <% String str = "Hello,xiaomo!"; %>
    <%= str %>
    </body>
    </html>


    結果如下:
    04.gif 
    4、JSP注釋:
    <!-- --> HTML注釋,會顯示於客戶端;
    <%-- --%>JSP注釋,不會顯示於客戶端;
    如:

    復制代碼 代碼如下:
    <html>
    <head>
    <title>test demo</title>
    </head>
    <body>
    <!-- 這是一個網頁注釋 -->
    <%-- 這是一個JSP注釋 --%>
    </body>
    </html>


    結果如下:
    05.gif 
    大家發現都沒有什麼顯示,點擊浏覽器右鍵查看源碼可以看到網頁注釋是在的,JSP注釋沒有,這個只有在JSP源碼才能看到:

    復制代碼 代碼如下:
    <html>
    <head>
    <title>test demo</title>
    </head>
    <body>
    <!-- 這是一個網頁注釋 -->
    </body>
    </html>


    應該很多人都知道,JSP頁面是轉譯成Servlet後在通過服務器轉換成html代碼發送到客戶端顯示的,下面給大家看下本案例的JSP頁面轉換成Servlet後的源碼(其中紅色標注為轉換成前台的html代碼):

    復制代碼 代碼如下:


    /*
    * Generated by the Jasper component of Apache Tomcat
    * Version: Apache Tomcat/7.0.34
    * Generated at: 2013-07-03 01:27:37 UTC
    * Note: The last modified time of this file was set to
    * the last modified time of the source file after
    * generation to assist with modification tracking.
    */
    package org.apache.jsp;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    public final class HelloXiaoMo_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {
    private static final javax.servlet.jsp.JspFactory _jspxFactory =
    javax.servlet.jsp.JspFactory.getDefaultFactory();
    private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
    private javax.el.ExpressionFactory _el_expressionfactory;
    private org.apache.tomcat.InstanceManager _jsp_instancemanager;
    public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
    }
    public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
    }
    public void _jspDestroy() {
    }
    public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
    throws java.io.IOException, javax.servlet.ServletException {
    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;
    try {
    response.setContentType("text/html;charset=utf-8");
    pageContext = _jspxFactory.getPageContext(this, request, response,
    null, true, 8192, true);
    _jspx_page_context = pageContext;
    application = pageContext.getServletContext();
    config = pageContext.getServletConfig();
    session = pageContext.getSession();
    out = pageContext.getOut();
    _jspx_out = out;
    out.write("rn");
    out.write("<html>rn");
    out.write("t<head>rn");
    out.write("tt<title>test demo</title>rn");
    out.write("t</head>rn");
    out.write("t<body>rn");
    out.write("tt<!-- 這是一個網頁注釋 -->rn");
    out.write("tt");
    out.write("rn");
    out.write("t</body>rn");
    out.write("</html>");
    } catch (java.lang.Throwable t) {
    if (!(t instanceof javax.servlet.jsp.SkipPageException)){
    out = _jspx_out;
    if (out != null && out.getBufferSize() != 0)
    try { out.clearBuffer(); } catch (java.io.IOException e) {}
    if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
    else throw new ServletException(t);
    }
    } finally {
    _jspxFactory.releasePageContext(_jspx_page_context);
    }
    }
    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved