服務器端編程

咱們的整個討論都忽略了服務器端編程的問題。若是向服務器發出一個請求,會發生什麼事情?大多數時候 的請求都是很簡單的一個「把這個文件發給我」。瀏覽器隨後會按適當的形式解釋這個文件:做爲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     }
相關文章
相關標籤/搜索