⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0134.htm

📁 JspServlet教程专栏 对javaservlet讲述的非常详细
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>如何在servlet中实时地创建图象</strong></big></p>
<div align="right">---摘自互联网</div>

<br>在Java创建图象或进行图象处理,有几个包和类是需要用到的。详细请参阅Purple&nbsp;Servlet&nbsp;References。<br>
<br>
当您的servlet有图象文件时您有两个选择。&nbsp;<br>
<br>
把文件写入磁盘并提供连接。注意写在您的web服务器目录树下(不是在服务器磁盘的任何地方都行。)你可以用Java&nbsp;2&nbsp;JPEGCodec类,或Acme&nbsp;Labs'&nbsp;GIFEncoder类将Java&nbsp;Graphics 转换成图象文件或二进制流.<br>
值得一提的是在一些servlet引擎设置中,servlet的目录不能通过web&nbsp;server进入,只能通过servlet引擎,也就是说您不能通过http://&nbsp;URL登录,您可以向您的servlet输出的HTML传送IMG标签,或传送HTTP重新定位来让浏览器直接下载图象。&nbsp;<br>
(CookieDetector&nbsp;(http://www.purpletech.com/code/CookieDetector.html)&nbsp; has&nbsp;an&nbsp;example,&nbsp;with&nbsp;source&nbsp;code,&nbsp;of&nbsp;sending&nbsp;a&nbsp;redirect.)&nbsp;<br>
(CookieDetector&nbsp;(http://www.purpletech.com/code/CookieDetector.html)&nbsp; 有一个例子,有传送重新定位源代码。<br>
图象可以被保存在浏览器的cache中,当再次请求时不必重新运行servlet,因此减轻了服务器的负担。<br>
).&nbsp;<br>
<br>
图象不能从磁盘中删除,因此您必须写一段程序来定期清理图象目录,或进入目录后用手工删除。(或买一张大点的硬盘):-)<br>
<br>
2.直接从servlet输出图象。通过给image/gif&nbsp;(for&nbsp;GIFs)或&nbsp;image/jpeg&nbsp;(for&nbsp;JPEGs)设置Content-type头来实现它。然后打开HttpResponse &nbsp;output流作为原始流而不是打印流,用write()方法直接传送字节。&nbsp;<br>
<br>
以下是一个用servlet实时创建图像的例子程序<br>
<br>
import&nbsp;javax.servlet.*;<br>
import&nbsp;javax.servlet.http.*;<br>
import&nbsp;java.io.*;<br>
import&nbsp;java.util.*;<br>
import&nbsp;com.sun.image.codec.jpeg.*;<br>
import&nbsp;java.awt.image.*;<br>
import&nbsp;java.awt.*;<br>
public&nbsp;class&nbsp;JPEGServlet&nbsp;extends&nbsp;HttpServlet&nbsp;{<br>
//Process&nbsp;the&nbsp;HTTP&nbsp;Get&nbsp;request<br>
public&nbsp;void&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br>
throws&nbsp;ServletException,&nbsp;IOException&nbsp;{<br>
response.setContentType("image/jpeg");<br>
ServletOutputStream&nbsp;out&nbsp;=&nbsp;response.getOutputStream();<br>
BufferedImage&nbsp;image&nbsp;=&nbsp;new&nbsp;BufferedImage(100,100,&nbsp;BufferedImage.TYPE_INT_RGB);<br>
Graphics&nbsp;g&nbsp;=&nbsp;image.getGraphics();<br>
g.setColor(Color.green);<br>
g.fillRect(0,&nbsp;0,&nbsp;100,&nbsp;100);<br>
g.setColor(Color.red);<br>
g.drawOval(0,&nbsp;0,&nbsp;100,100);<br>
JPEGImageEncoder&nbsp;encoder&nbsp;=JPEGCodec.createJPEGEncoder(out);<br>
encoder.encode(image);<br>
out.close();<br>
}<br>
//Process&nbsp;the&nbsp;HTTP&nbsp;Post&nbsp;request<br>
public&nbsp;void&nbsp;doPost(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br>
throws&nbsp;ServletException,&nbsp;IOException&nbsp;{<br>
doGet(request,response);<br>
}<br>
//Get&nbsp;Servlet&nbsp;information<br>
public&nbsp;String&nbsp;getServletInfo()&nbsp;{<br>
return&nbsp;"JPEGServlet&nbsp;Information";<br>
}<br>
}

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -