成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSP HTTP服務器對JSP的支持

開發 后端
本文介紹JSP HTTP服務器對JSP的支持,包括設計思路,設計要點和設計實施。

1. 設計思路

通過JSP HTTP服務器對本地的JSP源文件進行解釋,生成中間java源文件。繼而調用javac編譯工具將java源文件編譯成為class文件。JSP HTTP服務器對class文件中定義的類進行載入并運行。

2. 設計要點

(1)對JSP文件語法的定義
(2)將JSP文件轉換為java源文件
(3)編譯java源文件
(4)載入java class并執行類對象的實例對象

3. 設計實施

(1)制定JSP文件語法,并根據JSP語法形式將代碼解釋為java源文件考慮到JSP文件解釋工作的簡化,設計中主要考慮三種JSP語法形式,本設計中,對JSP文件中編譯語句塊的解釋處理代碼如下:

  1. //Current line contain JSP compile block start flag   
  2. if(line.indexOf("<%@") >= 0)  
  3. {  
  4. //file .jsp contains compiled header   
  5. is_has_compiled_header = true;  
  6. //Those statements in same line.   
  7. if(line.indexOf("%>") >= 0) //JSP cimpile block end flag   
  8. {  
  9. int start = line.indexOf("<%@");  
  10. int end = line.indexOf("%>");  
  11. fout.println(line.substring(start + 3, end) );  
  12. }  
  13. else //Those statements no in same line.   
  14. {  
  15. while(true)  
  16. {  
  17. line = fin.readLine();  
  18. if(line == null) //The compiled header is broken   
  19. {  
  20. return (false);  
  21. }  
  22. if(line.equals("%>") == true) //JSP compiled block end flag   
  23. {  
  24. break;  
  25. }  
  26. else  
  27. {  
  28. fout.println(line); //Output the middle statements of compiled header   
  29. }  
  30. }//while(true)   
  31. }  
  32. }//if(line.indexOf("<%@") >= 0)  

以上處理代碼是將JSP文件中編譯語句塊解釋成java源文件。如果編譯語句存在于一行之中,則將語句開始標志和結束標志中間的編譯語句取出形成java代碼。如果編譯語句塊存在于多行之中,則將語句開始標志行和結束標志行之間的編譯語句行取出形成java代碼。 本設計中,對JSP表達式語句解釋處理代碼如下:

  1. //Current line contain JSP expression (mark "<%=" and "%>" must be in same line)   
  2. if(line.indexOf("<%=") >= 0)  
  3. {  
  4. //Get start flag position   
  5. int start = line.indexOf("<%=");  
  6. //Get end flag position   
  7. int end = line.indexOf("%>");  
  8. //Get frontal part of JSP expression block   
  9. String pre = line.substring(0, start);  
  10. //Get expression from line   
  11. String exp = line.substring(start + 3, end);  
  12. //Get back part of JSP expression block   
  13. String back = line.substring(end + 2);  
  14. //Replace character " of frontal part and back part with character '   
  15. prepre = pre.replace('\"', '\'');  
  16. backback = back.replace('\"', '\'');  
  17. //Output the new line (java statement)   
  18. fout.println("outln(\"" + pre + "\" + " + exp + " + \"" + back + "\");");  
  19. }  

以上代碼中,首先是將JSP表達式所在的行按照表達式前部分,表達式和表達式后部分提取出來,經過符號替換之后再合成java語句。本設計中,對JSP語句塊解析處理如下:

  1. //As to JSP statements block, mark "<%" and "%>" must be in sigle line   
  2. while(true)  
  3. {  
  4. //Read next line   
  5. line = fin.readLine();  
  6. if(line == null || line.equals("%>") == true) //JSP statements block end flag is "%>"   
  7. {  
  8. break;  
  9. }  
  10. fout.println(line);  
  11. }  

以上JSP HTTP服務器代碼中,將語句塊開始標志行(<%)和結束標志行(%>)之間的編譯語句行取出形成java代碼。

【編輯推薦】

  1. 淺析JSP HTTP服務器支持CGI
  2. 使用JSP頁面生成PDF報表
  3. JSP自定義標簽定義步驟
  4. 詳解測試JSP容器
  5. 介紹JSP HTTP服務器實現的以下特性
責任編輯:佚名 來源: IT168
相關推薦

2009-07-06 17:34:38

JSP HTTP服務器

2009-07-03 13:05:47

JSP HTTP服務器

2009-07-06 17:56:12

JSP HTTP服務器

2009-07-06 17:25:22

JSP HTTP服務器

2009-07-06 17:40:05

JSP HTTP服務器

2009-07-06 14:05:11

JSP服務器

2009-07-06 18:02:34

JSP服務器

2009-07-02 17:17:03

2009-06-27 21:35:50

Linux服務器

2009-07-01 14:34:03

2009-07-06 17:22:54

JSP服務器

2009-07-02 13:46:17

JSP引擎Web服務器

2009-03-17 15:10:50

2009-12-28 13:18:46

2011-08-29 15:23:11

Ubuntuapache

2009-07-01 14:43:23

支持JSP的虛擬主機

2011-08-05 09:37:45

2019-07-04 15:00:32

PythonHTTP服務器

2019-08-22 15:26:24

HTTP服務器Python

2009-06-29 16:48:43

內置對象JSP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 1区2区视频| 97国产超碰 | 亚洲视屏| caoporn国产精品免费公开 | 99精品欧美一区二区三区综合在线 | 国产精品久久久久久久粉嫩 | 91视频网址| 污视频免费在线观看 | 精品国产91久久久久久 | 本道综合精品 | 精品国产欧美一区二区三区成人 | 国产精品欧美一区喷水 | 久久久久久久久久久久亚洲 | 一区二区精品在线 | 男女性毛片 | 亚洲网站在线观看 | 精品中文字幕在线 | 精品一区二区三区电影 | 欧美一区两区 | 91久久久久久久 | 成人网址在线观看 | 91免费看片| 国产 日韩 欧美 在线 | 97免费在线视频 | 免费av毛片 | 午夜免费 | 欧美影院 | 国产一区二区在线视频 | 99热热 | 午夜影院网站 | 欧美极品少妇xxxxⅹ免费视频 | 美日韩中文字幕 | 久久国产精品网站 | 久视频在线观看 | 国产日韩久久 | 免费a在线 | 亚洲v日韩v综合v精品v | 亚洲精品乱码久久久久久蜜桃91 | 国产亚洲一区二区三区在线观看 | 欧美精品一区二区三区在线播放 | 色狠狠一区 |