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>

这样由于路径发生了变化,就重新发起请求,轻松实现点击更新图片内容。
在生成验证码的时候这个方法很管用,因为当页面显示的验证码看不清时,应该提供方法重新获取一张。