亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

動態JSP頁生成靜態HTML的方法

2024-09-05 00:22:18
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了動態JSP頁生成靜態HTML的方法,以實例形式較為詳細的分析了JSP生成靜態HTML頁面的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了動態JSP頁生成靜態HTML的方法。分享給大家供大家參考。具體如下:

具體實現:

利用Filter的過濾功能把*.jsp過濾出來,判斷是否存在對應的.html文件,如果不存在對應的.html文件,則將其內容讀出寫入指定的.html文件,再跳轉到對應的.html即可。如果存在對應的.html文件,則直接跳轉到對應的.html即可。

代碼:

JspFilter.java:

 

 
  1. import java.io.BufferedReader; 
  2. import java.io.File; 
  3. import java.io.FileOutputStream; 
  4. import java.io.IOException; 
  5. import java.io.InputStream; 
  6. import java.io.InputStreamReader; 
  7. import java.net.HttpURLConnection; 
  8. import java.net.URL; 
  9. import javax.servlet.Filter; 
  10. import javax.servlet.FilterChain; 
  11. import javax.servlet.FilterConfig; 
  12. import javax.servlet.ServletException; 
  13. import javax.servlet.ServletRequest; 
  14. import javax.servlet.ServletResponse; 
  15. import javax.servlet.http.HttpServletRequest; 
  16. import javax.servlet.http.HttpServletResponse; 
  17. public class JspFilter implements Filter { 
  18. public void destroy() { 
  19. // TODO 自動生成方法存根 
  20. public void doFilter(ServletRequest request, ServletResponse response, 
  21. FilterChain chain) throws IOException, ServletException { 
  22. HttpServletRequest hreq = (HttpServletRequest) request; 
  23. HttpServletResponse hresp = (HttpServletResponse) response; 
  24. String name = hreq.getRequestURL().substring( 
  25. hreq.getRequestURL().lastIndexOf("/") + 1, 
  26. hreq.getRequestURL().lastIndexOf(".")); 
  27. if (hreq.getRequestURL().indexOf(".jsp") != -1 && (null == hreq.getParameter("type") || hreq.getParameter("type").equals(""))) { 
  28. hresp.sendRedirect(hreq.getContextPath()+"/conversion?name="+hreq.getRequestURL()); 
  29. return ; 
  30. chain.doFilter(request, response); 
  31. public void init(FilterConfig arg0) throws ServletException { 
  32. // TODO 自動生成方法存根 

ConversionServlet.java:

 

 
  1. import java.io.BufferedReader; 
  2. import java.io.File; 
  3. import java.io.FileOutputStream; 
  4. import java.io.IOException; 
  5. import java.io.InputStream; 
  6. import java.io.InputStreamReader; 
  7. import java.io.PrintWriter; 
  8. import java.net.HttpURLConnection; 
  9. import java.net.URL; 
  10. import javax.servlet.ServletException; 
  11. import javax.servlet.http.HttpServlet; 
  12. import javax.servlet.http.HttpServletRequest; 
  13. import javax.servlet.http.HttpServletResponse; 
  14. public class ConversionServlet extends HttpServlet { 
  15. public ConversionServlet () { 
  16. super(); 
  17. public void destroy() { 
  18. super.destroy(); // Just puts "destroy" string in log 
  19. // Put your code here 
  20. public void doGet(HttpServletRequest request, HttpServletResponse response) 
  21. throws ServletException, IOException { 
  22. response.setContentType("text/html"); 
  23. PrintWriter out = response.getWriter(); 
  24. //----獲取請求的URL 
  25. String reqTarget = request.getParameter("name"); 
  26. //----指定對應JSP的HTML名稱 
  27. String name = reqTarget.substring(reqTarget.lastIndexOf("/") + 1,reqTarget.lastIndexOf(".")); 
  28. //---判斷是否存在對應的HTML文件 
  29. File file = new File(request.getRealPath("/") + name + ".html"); 
  30. if (!file.exists()) { //--------如果不存在對應的HTML文件 
  31. try { 
  32. file.createNewFile(); //--------創建HTML文件 
  33. //-------將JSP的內容寫入對應的HTML文件內 
  34. InputStream in
  35. StringBuffer sb = new StringBuffer(""); 
  36. //----注意這里,不能直接訪問請求的URL,如果直接訪問的話,會陷入死循環 
  37. URL url = new java.net.URL(reqTarget.toString()+"?type=11"); 
  38. HttpURLConnection connection = (HttpURLConnection) url 
  39. .openConnection(); 
  40. connection.setRequestProperty("User-Agent""Mozilla/4.0"); 
  41. connection.connect(); 
  42. in = connection.getInputStream(); 
  43. java.io.BufferedReader breader = new BufferedReader( 
  44. new InputStreamReader(in"GBK")); 
  45. String currentLine; 
  46. FileOutputStream fos = new FileOutputStream(file); 
  47. while ((currentLine = breader.readLine()) != null) { 
  48. sb.append(currentLine); 
  49. fos.write(currentLine.getBytes()); 
  50. if (null != breader) 
  51. breader.close(); 
  52. if (null != fos) 
  53. fos.close(); 
  54. //---------------轉到與JSP對應的HTML頁 
  55. response.sendRedirect(request.getContextPath()+"/"+name + ".html"); 
  56. catch (Exception e) { 
  57. e.printStackTrace(); 
  58. }else
  59. //----------如果存在指定的HTML,直接跳轉到指定的HTML頁 
  60. response.sendRedirect(request.getContextPath()+"/"+name + ".html"); 
  61. public void doPost(HttpServletRequest request, HttpServletResponse response) 
  62. throws ServletException, IOException { 
  63. doGet(request, response); 
  64. public void init() throws ServletException { 
  65. // Put your code here 

WEB.XML配置:

 

 
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app version="2.4" 
  3. xmlns="http://java.sun.com/xml/ns/j2ee" 
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
  6. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  7. <filter> 
  8. <filter-name>jspfilter</filter-name> 
  9. <filter-class>com.beanutil.JspFilter</filter-class
  10. </filter> 
  11. <filter-mapping> 
  12. <filter-name>jspfilter</filter-name> 
  13. <url-pattern>*.jsp</url-pattern> 
  14. </filter-mapping> 
  15. <servlet> 
  16. <servlet-name>conversion</servlet-name> 
  17. <servlet-class>com.beanutil.ConversionServlet </servlet-class
  18. </servlet> 
  19. <servlet-mapping> 
  20. <servlet-name>conversion</servlet-name> 
  21. <url-pattern>/conversion</url-pattern> 
  22. </servlet-mapping> 
  23. </web-app> 

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美精品xxxx另类| 久久久久久久久久婷婷| 日韩性xxxx爱| www.欧美三级电影.com| 九九精品视频在线| 久久在线精品视频| 亚洲日韩欧美视频| 国产一区二区激情| 久久久999精品| 成人精品一区二区三区电影黑人| 亚洲男人天堂古典| 国产精品扒开腿做爽爽爽男男| 精品久久久久久久大神国产| 日韩高清不卡av| 91国产美女视频| 亚洲欧洲在线免费| 亚洲成人黄色在线观看| 日韩中文字幕精品视频| 欧美亚洲午夜视频在线观看| 自拍视频国产精品| 久久久久久久国产精品视频| 久久综合色影院| 国产精品激情av电影在线观看| 精品精品国产国产自在线| 亚洲色图国产精品| 欧美日韩在线视频首页| 欧美多人乱p欧美4p久久| 亚洲一区中文字幕在线观看| 亚洲国产婷婷香蕉久久久久久| 国产精品欧美在线| 欧美激情视频给我| 午夜精品www| 97在线观看免费高清| 国产精品久久久久久久久久免费| www欧美日韩| 欧美一区二区三区四区在线| 国内精品美女av在线播放| 欧美成人精品一区二区三区| 国产精品自拍偷拍视频| 77777亚洲午夜久久多人| 日韩欧美一区二区在线| 九九热这里只有在线精品视| 久久久久久久久久亚洲| 国产精品v片在线观看不卡| 久久久久久久一| 亚洲欧美成人一区二区在线电影| 亚洲精品v天堂中文字幕| 久久99久久99精品中文字幕| 色哟哟网站入口亚洲精品| 精品亚洲一区二区三区四区五区| 亚洲女人被黑人巨大进入al| 欧美亚洲在线视频| 日本高清视频精品| 亚洲欧洲日产国产网站| 欧美理论电影网| 91在线免费观看网站| 性金发美女69hd大尺寸| 欧美日韩一区二区三区在线免费观看| 日韩一区二区av| 国产精品欧美亚洲777777| 国产精品a久久久久久| 亚洲理论在线a中文字幕| 欧美电影在线免费观看网站| 国产精品ⅴa在线观看h| 欧日韩在线观看| 久久精品国产99国产精品澳门| 欧美激情亚洲自拍| 成人情趣片在线观看免费| 欧美激情亚洲综合一区| 欧美猛交免费看| 精品国产乱码久久久久久天美| 欧美午夜激情小视频| 在线国产精品视频| 亚洲美女福利视频网站| 亚洲最新av在线网站| 久久精品成人欧美大片| 成人在线小视频| 欧美精品国产精品日韩精品| 奇米影视亚洲狠狠色| 欧美肥婆姓交大片| 国产成人短视频| 成人欧美一区二区三区黑人| 另类少妇人与禽zozz0性伦| 91久久久久久| 国产日韩精品综合网站| 91探花福利精品国产自产在线| 欧美黄色性视频| 日韩欧美a级成人黄色| 国产精品吴梦梦| 亚洲欧美日韩天堂| 色偷偷噜噜噜亚洲男人的天堂| 国产精品久久久久久久电影| 秋霞av国产精品一区| 疯狂做受xxxx欧美肥白少妇| 日本韩国欧美精品大片卡二| 日韩精品一二三四区| 中文综合在线观看| 亚洲在线免费看| 久久99热这里只有精品国产| 92福利视频午夜1000合集在线观看| 国产精品极品美女粉嫩高清在线| 国产日韩精品入口| 日韩av电影手机在线观看| 国产精品高潮呻吟视频| zzijzzij亚洲日本成熟少妇| 国产99久久久欧美黑人| 欧美日韩亚洲系列| 国产精品视频xxx| 精品亚洲精品福利线在观看| 在线a欧美视频| 亚洲色在线视频| 精品国产91久久久久久老师| 91大神福利视频在线| 97香蕉久久夜色精品国产| 欧美日韩日本国产| 久久免费视频观看| 国产91精品青草社区| 国产日本欧美在线观看| 日韩三级成人av网| 欧洲精品在线视频| 美女av一区二区三区| 91sao在线观看国产| 国产精品第一第二| 国产视频精品久久久| 日韩高清不卡av| 亚洲在线观看视频| 欧美亚洲成人xxx| 亚洲人成网7777777国产| 国产精品jvid在线观看蜜臀| 美女久久久久久久久久久| 日韩成人av在线播放| 亚洲最新av在线网站| 中国人与牲禽动交精品| 97视频在线观看播放| 欧美色道久久88综合亚洲精品| 中文字幕欧美国内| 日韩在线不卡视频| 青青草原成人在线视频| 久久久av亚洲男天堂| 国产精品第8页| 激情懂色av一区av二区av| 国产ts一区二区| 国产视频精品免费播放| 神马国产精品影院av| 亚洲第一精品久久忘忧草社区| 色噜噜狠狠狠综合曰曰曰| 国产精品久久久久久av福利| 少妇高潮久久久久久潘金莲| 伊人成人开心激情综合网| 欧美第一黄网免费网站| 日韩精品有码在线观看| 97免费视频在线播放| 亚洲а∨天堂久久精品喷水| 亚洲国产精品美女| 中文字幕成人在线| 91精品久久久久久久久不口人| 国产亚洲精品美女久久久| 亚洲欧美在线一区二区| 国产99视频在线观看| 91精品久久久久久久| 成人国产亚洲精品a区天堂华泰| 91国内揄拍国内精品对白| 全亚洲最色的网站在线观看| 亚洲国模精品一区|