1. 程式人生 > >服務器端編程

服務器端編程

a+b 體積 static servlet ava 事務處理 一份 編程 this

我們的整個討論都忽略了服務器端編程的問題。如果向服務器發出一個請求,會發生什麽事情?大多數時候 的請求都是很簡單的一個“把這個文件發給我”。瀏覽器隨後會按適當的形式解釋這個文件:作為HTML 頁、 一幅圖、一個Java 程序片、一個腳本程序等等。向服務器發出的較復雜的請求通常涉及到對一個數據庫進行 操作(事務處理)。其中最常見的就是發出一個數據庫檢索命令,得到結果後,服務器會把它格式化成HTML 頁,並作為結果傳回來(當然,假如客戶通過 Java 或者某種腳本語言具有了更高的智能,那麽原始數據就能 在客戶端發送和格式化;這樣做速度可以更快,也能減輕服務器的負擔)。另外,有時需要在數據庫中註冊 自己的名字(比如加入一個組時),或者向服務器發出一份訂單,這就涉及到對那個數據庫的修改。這類服 務器請求必須通過服務器端的一些代碼進行,我們稱其為“服務器端的編程”。在傳統意義上,服務器端編 程是用 Perl 和 CGI腳本進行的,但更復雜的系統已經出現。其中包括基於Java 的 Web服務器,它允許我們 用Java進行所有服務器端編程,寫出的程序就叫作“小服務程序”(Servlet)。

 1 package Com.TomTest;
 2 
 3 
 4 interface  Computerable {
 5        public  double 求面積();
 6     }
 7     class 梯形 implements Computerable {
 8         double a,b,h;
 9     梯形(double a,double b,double h) {
10        this.a=a;
11     this.b=b;
12     this.h=h;
13         }
14     public double 求面積(){
15 return((1/2.0)*(a+b)*h); 16 } 17 } 18 class 圓形 implements Computerable{ 19 double r; 20 圓形(double r) { 21 this.r=r; 22 } 23 public double 求面積(){ 24 return(3.14*r*r); 25 } 26 } 27 class 堆{ 28 Computerable 底;
29 double 高; 30 堆(Computerable 底,double 高) { 31 this.底=底; 32 this.高=高; 33 } 34 void 換底(Computerable 底) { 35 this.底=底; 36 } 37 public double 求體積(){ 38 return (底.求面積()*高)/3.0; 39 } 40 } 41 public class TomTest_33 { 42 public static void main(String args[]){ 43 堆 zui; 44 Computerable bottom; 45 bottom=new 梯形(2.0,7.0,10.7); 46 System.out.println("梯形的面積"+bottom.求面積()); 47 zui=new 堆(bottom,30); 48 System.out.println("梯形底的堆的體積"+zui.求體積()); 49 bottom=new 圓形(10); 50 System.out.println("半徑是10的圓的面積"+bottom.求面積()); 51 zui.換底(bottom); 52 System.out.println("圓形底的堆的體積"+zui.求體積()); 53 } 54 }

服務器端編程