2012-03-22 50 views
0

我正在嘗試使用servlet進行幻燈片演示。雖然照片已加載,但不是幻燈片。我得到的是一系列圖像。使用servlet進行幻燈片演示

import javax.servlet.*; 
import javax.servlet.http.*; 
import java.io.*; 

public class PhotoCollection extends HttpServlet{ 

private String array[] = {"first.jpg","second.jpg","third.jpg","fourth.jpg"}; 

public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { 
      response.setContentType("text/html"); 
      PrintWriter writer = response.getWriter(); 
      writer.println("<html>"); 
      writer.println("<head>"); 
       writer.println("<title>"); 
       writer.println("SlideShow"); 
       writer.println("</title>"); 
      writer.println("</head>"); 
      writer.println("<body>"); 
      writer.println("<table>"); 
      writer.println("<tr>"); 
      try { 
       for(int i=0;i<=3;i++) { 
        writer.println("<td>"); 
        writer.println("<img src=" + array[i] + " height=100 width=110>"); 
        writer.println("</td>"); 
        Thread.sleep(1000); 
       } 
      }catch(Exception exc) { 
       writer.println("<br />" + exc + "<br />"); 
      } 
      writer.println("</tr>"); 
      writer.println("</table>"); 
      writer.println("</body>"); 
      writer.println("</html>"); 
} 

}

我所做的線程休眠1秒但不影響加載。我如何做幻燈片使用它?在上面的servlet中我必須做什麼改變?

+2

你在這裏犯了一個重大的概念錯誤。 Servlets(和JSP)等服務器端Web語言運行在Web服務器上,並生成HTML/CSS/JS等客戶端Web語言。 Web服務器根據HTTP請求將此HTML/CSS/JS發送到webbrowser。一旦webbrowser檢索完畢,它將運行檢索到的HTML/CSS/JS。您需要在客戶端執行幻燈片顯示,而不是在服務器端執行。不要在servlet中執行'Thread.sleep()'!我建議在繼續之前學習基本的Web開發概念。 – BalusC 2012-03-22 12:03:49

+0

@ BalusC謝謝。這是主要的概念錯誤 – 2012-03-22 12:16:04

+0

幻燈片將通常使用JS完成。我不知道HTML5畫布是否也在近期被用於輔助。添加了JavaScript標記。 – 2012-03-22 13:36:06

回答

1

你應該使用jQuery插件的瀏覽器上顯示它很漂亮,用的servlet只服務形象

注意:增加睡眠中的doGet沒有意義在這裏,出去的說就是一旦執行方法發送所以它會暫停執行

+0

這可能是正確的。但有沒有在java中的出路? – 2012-03-22 11:53:49

+0

如果你沒有圖像處理(從數據庫讀取/添加效果),從代碼看來你只是渲染純靜態圖像,那麼爲什麼你需要java參與?只是jQuery插件wuild做到這一點 – 2012-03-22 11:56:15

相關問題