用Servlet生成动态图片
打开eclipse(最好是装了myeclipse的),新建webproject,新建类这里是JPEGServlet,继承(extends)HttpServlet[继承所有方法打上钩,在新建类的最下方有个Tchecked控件,这样很多代码就自动产生了],这些我就不多讲了,不好意思班门弄大斧,如果你是初学,那我就不好意思的讲讲清楚,大家互相学习,说不定就这一小源码,大家慢慢发展变化就变成大大东东了!这也是我发这篇BBS的原因,毕竟我也是个初学者......好了,好像是卖关子的拉!
1. 详细源码如下:
package servlet; //包名
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class JPEGServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(750, 30, BufferedImage.TYPE_INT_RGB);
int per = 0;
try
{
per = Integer.parseInt((String)request.getParameter("size"));//接收参数,表示进度
}
catch(Exception e)
{
e.printStackTrace();
}
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0, 0, 750, 30);
graphics.setColor(Color.yellow);
graphics.fillRect(0, 0, 750 * per / 100, 30);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close(); }
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
2. web.xml配置如下
<servlet>
<servlet-name>jpegServlet</servlet-name> /*servlet名称*/
<servlet-class>servlet.JPEGServlet</servlet-class> /*servlet类所在位置
包名.类名
*/
</servlet>
<servlet-mapping>
<servlet-name>jpegServlet</servlet-name> /*servlet映射设置
servlet名称
*/
<url-pattern>/picture</url-pattern> /*访问路径*/
</servlet-mapping>
3. 访问
http://localhost:8088/工程名称/picture?size=33
这样去访问得到个显示进度的图形
大多数油箱的存储容量和网盘空间显示的进度就可以这样用size参数访问来设置了,也就是把这个servlet内陷入源码
如:
<jsp:include page="/picture" flush="true">
<jsp:param name="size" value="33">//这里value值当然就可以是个变量了
</jsp:inclue>
4. 加深
①使它动态的进度条,速度实实在在的在变动,我想稍微在jsp里写个程序就不难了吧,如果你不太明白就跟我联系罗!
②利用这种方式来实现“动态验证码”
这两点,由于时间和空间问题我就先不熬述了,但是值得大家一起来讨论和研究!
分享到:
相关推荐
在Servlet中生成图片验证码,首先需要创建一个Servlet类,该类将负责生成随机字符串并将其转化为图像。以下是一些关键步骤: 1. **生成随机字符串**:使用`java.util.Random`和`char[]`数组来创建一个指定长度的...
在"使用Servlet生成图片验证码"这个主题中,我们首先会创建一个Servlet来生成随机的字母和数字组合,通常包含4到6位。这可以通过Java的Random类和Character类来实现。验证码生成后,将其保存在服务器的内存中,以便...
`servlet`生成验证码图片是通过服务器端动态创建一个包含随机字符的图像,用户需要输入图像中显示的文字或数字来验证其身份。以下将详细解释这个过程及其相关知识点: 1. **Servlet**:Servlet是Java中用于扩展...
Java 使用 Servlet 动态生成图片 在 Web 应用中,经常需要动态生成图片,如实时股市行情、各种统计图等等。这种情况下,图片只能在服务器内存中动态生成并发送给用户,然后在浏览器中显示出来。本质上,浏览器向...
Servlet是Java Web开发中的一...总之,Servlet生成图片验证码是一种常见的Web安全实践,通过结合Java的图形库和HTTP交互,可以实现高效且安全的用户验证机制。在设计和实现时,应充分考虑用户体验和安全性之间的平衡。
下面通过具体的代码示例来解释如何使用Servlet生成验证码图片。 ```java public class CreateImageServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) ...
Servlet生成二维码图片后,将其设置为PNG格式并返回给客户端。 此外,`jsp页面`通常用于创建用户界面,允许用户输入要生成二维码的内容,然后通过表单提交请求到Servlet。例如,你可以创建一个简单的HTML表单,其中...
例如,在登录页面上使用动态验证码图片可以有效防止机器人自动登录尝试。本文将详细介绍如何使用Java Servlet技术动态生成登录验证图片。 #### 概念理解 在Web应用中,动态生成图片意味着图片是在服务器端根据特定...
7. **HTTP响应**:当servlet生成了GIF图片后,它会将其作为HTTP响应的一部分发送回客户端。这涉及到设置正确的MIME类型("image/gif"),以及将图像数据流化到响应输出流中。 8. **部署与配置**:这个servlet需要...
标题 "servlet生成保存图片,压缩zip见附件" 暗示了这是一个关于在Java Web环境中,使用Servlet来动态生成并保存图片的实践案例。在这个过程中,Servlet被用来处理HTTP请求,生成图片,并可能将其存储在服务器上。...
在servlet中动态生成验证码图片,可被JSP或servlet引用,每次刷新都会改变验证码
Java servlet 自动生成 图片验证码 生成 Java源码
本笔记将详细探讨如何使用Servlet来生成验证码。 一、验证码的原理与作用 验证码的主要目的是区分人类用户和自动化程序,通过要求用户输入图片上的文字或者完成简单的数学问题,来验证其为真实的人类。这有助于防止...
总的来说,使用Servlet生成动态验证码是一项涉及服务器端编程、图像处理和随机数生成的综合任务。熟练掌握这些技术,不仅可以提升Web应用的安全性,也有助于开发者对Java EE体系的深入理解。通过实践和不断的优化,...
在JSP中显示Servlet生成或读取的图片是一项常见的任务,尤其在动态网站开发中,例如用户上传的图片处理、验证码生成等场景。本篇将详细介绍如何实现这一功能,涉及的知识点包括Java Servlet、JSP、HTTP协议以及文件I...
总结,使用Servlet实现动态验证码涉及到图像处理、随机字符串生成、HTTP响应的构建和会话管理等多个技术点。理解这些原理并结合实际应用,可以帮助开发者创建出安全、有效的验证码系统,提高Web应用的安全性。
以下是对如何使用Servlet生成验证码图片的详细讲解: 1. **BufferedImage类**: `BufferedImage` 是Java中的核心类,用于在内存中创建和操作图像。在生成验证码图片时,我们首先创建一个指定宽度和高度(例如120x...
在IT行业中,Web开发是一项重要的技能,而JSP(JavaServer Pages)和Servlet是Java Web开发中的关键组件,尤其在构建动态网站时。本项目"jsp+servlet小项目(实现图片上传功能)"旨在教授如何利用这两者创建一个简单...