Image屬性src是可以設置servlet的路徑的,即從servlet獲取圖片
如在web.xml配置:

  <servlet>
    <servlet-name>GenerateImageServlet</servlet-name>
    <servlet-class>org.bruce.util.GenerateImageServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>GenerateImageServlet</servlet-name>
    <url-pattern>/getImage</url-pattern>
  </servlet-mapping>

然后在jsp文件中:

<img src="getImage" title="美女">

這樣就可以得到圖片了。這里就給動態獲取圖片提供了一種途徑。
比如可以通過src="getImage?id=1000"就可以得到1000號圖片。

還可以采用JavaScript onclick方法刷新圖片,網上參考資料采用如下方法:

<img src="valid" onclick="regenerate(this)" title="美女">
<script>
function regenerate(this){
    this.src="getImage";
}
</script>

嘗試后,發現這種方法無效,由于路徑沒變,瀏覽器不會重新發起請求。這里我采用另外一種技巧:

    <script type="text/javascript">
        function regenerate(obj){var date=new Dat();
            obj.src="getImage?time=" + date.getSeconds();
        }
    </script>

這樣由于路徑發生了變化,就重新發起請求,輕松實現點擊更新圖片內容。
在生成驗證碼的時候這個方法很管用,因為當頁面顯示的驗證碼看不清時,應該提供方法重新獲取一張。