JSP學習筆記(一)

一.JSP基礎語法:

<%!變量/方法%>

定義全局變量(Java支持的類型)和全局方法,解析器將其解析爲類屬性和靜態的類方法,在整個jsp頁面都有效。在方法內部聲明的變量只在該方法被調用時纔有效。

example1:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! int i=0;int y=1; %>

<%i++; %>

<p>你是<%=i %>個訪問本站的用戶

</body>

</html>



example2:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! double add(double x,double y)

{

return x+y;

}

double multi(double x,double y)

{

return x-y;

}

%>

<% 

double x=32;

double y=34;

out.println(x+"+"+y+"="+"<br>");

out.println(add(x,y));

%>

</body>

</html>

<%java程序片%>程序片

在程序片中生命的變量jsp引擎將其解析爲類的某個方法的變量即局部變量,java程序片會被按順序執行;

用戶每請求一次,jsp引擎就會爲每個用戶生成一個線程,對於jsp頁面的全局變量各個線程共享,任何一個線程對數據的修改都會影響其他線程。

運行在不同線程的同一Java程序片不受其他線程的影響。

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! 

int syn_count=0;

%>

<% 

int ju_count=0;

out.println("count:"+syn_count++);

out.println("ju_count:"+ju_count++);

%>

</body>

</html>


Java表達式<%=java表達式%>

Tomcat引擎將java表達式結果轉換成字符串的形式,因此編寫JSP頁面時將表達式看做普通文本;

example:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! 

int x=12;int y=9;

%>

計算機表達式x+y,即<%=x %>+<%=y %>的值:

<%=x+y %>

<br />計算表達式 sin(x+y)的值,即:sin(<%=x+y %>)的值:

<%=Math.sin(x+y)%>

<% 

%>

</body>

</html>


jsp的註釋:

HTML註釋:<!--註釋內容-->

JSP註釋:<%--註釋內容--%>


Page指令標記:

形式:<% @page 屬性1=“屬性值” 屬性2=“屬性值”....%>

或者:

<% @page 屬性1=“屬性值"%>

<%@ page 屬性2=”屬性值"%>

屬性取值:contentType:

  文件類型 說明

application/msword     doc dot Microsoft Word2003

application/vnd.ms-excel xls Microsoft Excel2003

application/vnd.ms-powerpoint ppt Microsoft Powerpoint

application/pdf pdf Adobe Acrobat

application/octet-stream bin exe so dll class 可執行程序

application/zip zip winzip

application/x-gzip gz gzip

image/gif gif GIF圖像

image/jpeg jpg jpeg jpe JPEG圖像

image/png png PNG圖像

text/html html jsp 網頁文檔

text/plain txt 文本文檔

text/xml xml XML文檔

text/json json JSON字符串

language屬性:<% @ page language="java" %>目前只能取java


import屬性:

默認已有:Java.lang.*;javax.servlet.*;java.servlet.jsp.*;javax.servlet.http.*;

形式:<% @ page import="java.util.*" %>

<% @ page import="java.io.*" %>

buffer屬性:指定緩衝區的大小

isThreadSafe:設置是否允許多線程,默認爲true

session:設置是否使用內置session,默認爲true

autoFlush:設置緩衝區被填滿是是否自動刷新默認爲true

info:設置一個JSP頁面常用的字符串,可用:getServletInfo()取得:

example:

<%@ page language="java" contentType="text/html;charset=utf-8" %>

<%@ page buffer="1MB" autoFlush="true" isThreadSafe="true" info="jsp 練習" session="true"  %>

<%@ page import="java.lang.*" %>

<%@ page import="javax.servlet.*" %>

<%@ page import="javax.servlet.jsp.*" %>

<%@ page import="javax.servlet.http.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%--註釋1 --%>

</body>

</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章