JSP概觀

來源:互聯網
上載者:User

1 認識JSP

1.1 基礎知識
java server pages 動態網頁技術
ASP:VB和JS作為指令碼
JSP:Java 動態和靜態頁面分離
脫離硬體平台 編譯後運行
基礎:Java和HTML
1.2 JSP頁面
JSP頁面xxx.jsp 包括HTML標記和<% %>java程式,命名區分大小寫
運行原理:第一次請求是,伺服器上的jsp引擎首先將jsp分頁檔轉譯成java檔案,再編譯成位元組碼檔案。以後的請求都直接執行位元組碼檔案——所以速度快。
1.3 環境配置
環境要素:JDK+Tomcat+eclipse(單純的執行jsp程式,只要JDK和Tomcat即可,eclipse方便了程式開發調試)
JAVA_HOME,變數值:C:\jdk1.3
PATH,變數值:C:\jdk1.3\bin
CLASSPATH,變數值:C:\jdk1.3\jre\lib\rt.jar;
TOMCAT_HOME,變數值:D:\tomcat\Jakarta-tomcat-4.0
啟動Tomcat 伺服器了。執行Tomcat\Jakarta-Tomcat-4.0\bin 下的startup.bat,http://localhost:8080
用eclipse的話,建立web->Dynamic Web Project工程
HTML標籤:http://www.w3school.com.cn/tags/tag_input.asp
2 jsp基礎文法
2.1 變數和同步
在“<%!”和“%>”標記符號之間聲明變數和方法,在整個JSP 頁面內都有效,注意:JSP 引擎為每個客戶啟動一個線程,這些線程由JSP 引擎伺服器來管理,這些線程共用JSP 頁面的成員變數,因此任何一個使用者對JSP 頁面成員變數操作的結果,都會影響到其他使用者。
多線程共用同一變數,這裡就需要同步機制——當一個線程在訪問的時候,其他線程等待:
<%!Integer number = new Integer(0);%>
<%
synchronized (number) {
int i = number.intValue();
i++;
number = new Integer(i);
}
%>
您是第<%=number.intValue()%>個訪問本站的客戶。
2.2 方法
在“<%!”和“%>”之間聲明方法,該方法在整個JSP 頁面有效,但是該方法內定義的變數只在該方法內有效。這些方法將在Java 程式片中被調用,當方法被調用時,方
法內定義的變數被分配記憶體,調用完畢即可釋放所佔的記憶體。
如果多個客戶同時請求一個jsp頁面,他們可能使用方法操作成員變數(共用的),這是需要將方法定義成synchronized。
<%! int number2=0;
synchronized void countPeople()

number2++;
}
%>
<% countPeople(); // 在程式片中調用方法。
%>
您是第<%=number2%>個訪問本站的客戶。
2.3 類和對象
可以在“<%!”和“%>”之間聲明一個類,該類在JSP 頁面內有效,即在JSP 頁面的Java 程式片部分可以使用該類建立對象。
<%!public class Circle {
double r;
Circle(double r) {
this.r = r;
}
}%>
<%
String str = request.getParameter("cat");
double r;
if (str != null) {
r = Double.valueOf(str).doubleValue();
} else {
r = 1;
}
Circle circle = new Circle(r); // 建立對象。
%>
<P>
圓的面積是: <BR>
<%=circle.calcmj()%>
2.4 從對話方塊取值
<INPUT type="text" name="cat" value="1">
<%
String str = request.getParameter("cat");
%>
2.5 注釋
HTML <!-- -->
JSP <%-- --%>
2.6 jsp靜態調用jsp
<%@ include file="Computer.jsp"%>

3 JSP通訊
其中<Form>是表單標籤,method 取值get 或post。Get 方法和post 方法的主要區別是:使用get 方法提交的資訊會在提交的過程中顯示在瀏覽器的地址欄中,而post 方法提交的資訊不會顯示在地址欄中。提交手段包括:通過文字框、列表、文本區等,例如:
<FORM action="tom.jsp" method= “post” >
<INPUT type="text" name="boy" value= “ok” >
<INPUT TYPE="submit" value=" 送出" name= “submit”>
</FORM>
該表單使用post方法向頁面tom.jsp 提交資訊,提交資訊的手段是:在文字框輸入資訊,其中預設資訊是“ok”;然後點擊“送出”按鈕向伺服器的JSP 頁面tom.jsp 提交資訊。

<FORM action="test_class_get_post.jsp" method=post name=form>表示給頁面本身使用

request 對象可以使用getParameter(String s) 方法擷取該表單通過text 提交的資訊,
比如:request.getParameter(“boy”);

漢文書處理:如果表單接收漢字則需要處理,否則顯示亂碼
String str=request.getParameter("girl");
byte b[]=str.getBytes( “ISO-8859-1”);
str=new String(b);

3.1 表單
<FORM method= get| post action= ”提交資訊的目的地頁面” name= ”表單的名字”>
資料提交手段部分
</FORM>
一個表單的資料提交手段部分經常包括如下的標記符號:
 <INPUT …..>
<input type= “text” name= “me” value= “hi” size= “12 ” algin= “left” maxlength= “30”>
<input type= “radio” name= “rad” value= “red” algin= “top” checked=“java” >
<input type= “checkbox” name= “ch” value= “pink” algin= “top” checked=“java” >
<input type= “passwordt” name= “me” size= “12 ” maxlength= “30”>
<input type= “submit ” name= “me” value= “ok” size= “12 ” >
<input type= “reset” >
 <Select … ></Select>
<Select name="shulie" >
<Option value="cat"> 你選了小貓
<Option value="dog"> 你選了小狗
<Option value="600">n=600
</Select>
 <Option …..> </Option>
 <TextArea ….> </TextArea>

4 javabean
javabean是一個封裝好的java組件,即一些功能固定的java類;jsp程式調用bean(java類編譯產生的class檔案)來實現這些功能。
beans主要負責jsp的動態部分,而jsp頁面主要負責靜態部分。

5 學習jsp的內建對象的使用

6 servlet
當一個客戶請求一個JSP 頁面時,JSP 引擎根據JSP頁面產生一個Java 檔案,即一個servlet。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.