`
techiewang
  • 浏览: 25392 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用servlet实现的图片计数器

阅读更多
package com.wang;

import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class counter
*/
public class counter extends HttpServlet {
private static final long serialVersionUID = 1L;
private String countFile = "counter.txt";
private int max = 7;

/**
     * @see HttpServlet#HttpServlet()
     */
    public counter() {
        super();
        // TODO Auto-generated constructor stub
    }

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

int count = 0;
String result ="";
String projectPath = this.getServletContext().getRealPath("/");

final File file = new File(projectPath +File.separator + countFile);

if (!file.exists()) {
// 创建一个新的文件
file.createNewFile();
count = 0;
try {
PrintWriter pw=new PrintWriter(new FileWriter(file));
pw.print("0");
pw.close();
} catch(IOException e){
System.out.println(e.toString());
}
}
try{
   BufferedReader buff=new BufferedReader(new FileReader(file));
   String s=buff.readLine();
   count=Integer.parseInt(s.trim());  //将字符串变量s转化成整形
   count++;
   buff.close();//关闭对象
  
   PrintWriter pw=new PrintWriter(new FileWriter(file));
   result=Integer.toString(count);//将整形变量i转化成字符型
   pw.print(result);
   pw.close();
  } catch(IOException e){
   System.out.println(e.toString());
  }
 
  int len =Integer.toString(count).length();
  int rest = max - len ;
  for(int i=1;i<=rest;i++){
  result = "0" + result;
  }
  System.out.println("count number is: "+ result);
 
  String[] number = new String[max];
  BufferedImage ImageNew = null ;
 
  for(int i=0;i<max;i++){
  number[i] = result.substring(i, i+1);
  number[i] = projectPath +"images"+ File.separator + number[i] + ".jpg";
  //读取一张图片  
          File   fileOne   =   new   File(number[i]);  
          BufferedImage   ImageOne   =   ImageIO.read(fileOne);  
          int   widthOne   =   ImageOne.getWidth();//图片宽度  
          int   heightOne   =   ImageOne.getHeight();//图片高度  
          //从图片中读取RGB  
          int[]   ImageArrayOne   =   new   int[widthOne*heightOne];  
          ImageArrayOne   =   ImageOne.getRGB(0,0,widthOne,heightOne,ImageArrayOne,0,widthOne);  
         
          if(i== 0){
          //生成新图片  
          ImageNew   =   new   BufferedImage(widthOne*max,heightOne,BufferedImage.TYPE_INT_RGB);  
          }
         
          ImageNew.setRGB(widthOne*i,0,widthOne,heightOne,ImageArrayOne,0,widthOne);//设置RGB  

  }  
  response.setContentType("image/png;charset=UTF-8");
  OutputStream os = response.getOutputStream();
  ImageIO.write(ImageNew,   "png",   os);//输出图片  
  os.close();
 
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}
0
0
分享到:
评论
1 楼 techiewang 2009-09-18  
html页面引用
<img src="http://localhost:8080/your project name/counter"/>

相关推荐

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    8.4 用Servlet生成动态图片 195 8.5 扩展练习 198 第9章 Web基础知识 201 9.1 Web发展及HTTP协议 201 9.1.1 Web的产生与发展 201 9.1.2 HTTP协议 203 9.2 HTML标记语言 204 9.2.1 HTML基本元素 205 9.2.2 文字与...

    韩顺平sevlet,jsp视频教程知识点.txt

    (一)美化管理系统界面,完善页面 这个我们参考.doc文档进行 (二) 管理系统功能改进 增加对用户的查找、增加、删除和修改的功能,这样我们这个用户登录系统就成了一个用户管理系统,而且是完全用servlet实现的. ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    5.5.1 通过Servlet实现录入用户信息 5.5.2 应用过滤器实现网页计数器 5.6 疑难解惑 5.6.1 访问Servlet出现404错误 5.6.2 修改Servlet无效 5.6.3 创建过滤器并没有实现过滤效果 5.7 精彩回顾 第6章 打造无脚本的JSP...

    java源码包2

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    Java EE Web开发实例精解完整光盘

    例程1-1:利用Servlet显示动态日期 例程1-2:利用JSP表达式显示动态格式文本 例程1-3:利用JSP标准标记库和表达式语言显示动态新闻 例程1-4:利用自定义标记控制网页图片显示 例程1-5:利用Applet在Web布面实现时钟 ...

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包3

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包4

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    h_JAVA 2应用编程150例.rar

    实例22 合成两个图片 53 实例23 实现多种线形 58 实例24 混合效果 62 实例25 纹理与色彩处理 63 实例26 实现填充效果 66 实例27 变形与转换处理 67 实例28 绘制弧线 69 实例29 剪裁效果 74 实例30 跳动的文字特效 78...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java应用软件程序设计

    242 实例74 实现一个简单的代理服务器 246 实例75 C/S结构的分布式运算 248 第7章 Java B/S结构编程 253 实例76 简单的Servlet程序 254 实例77 简单的留言簿 256 实例78 JSP+Java Bean的计数器 ...

    JSP动态网页制作基础培训教程源代码.rar

    21 02_1.jpg 第2章\ch2\image sample9.html中使用的图片文件 22 web.xml 第2章\ch2\WEB-INF 第2章程序应用的描述文件 23 register.html 第2章\ch2 习题答案,用户注册页面 表3 第3章 序号 文件名称 位置 说明 ...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    程序计数器(Program Counter Register) 49 java虚拟机栈 50 java堆(Java Heap) 51 方法区 51 【JVM】JVM内存结构,GC垃圾收集解析 52 【JVM】双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类?...

    Java开发技术大全 电子版

    6.8使用异常来实现键盘输入235 6.9本章小结236 第7章Java的输入和输出237 7.1文件和输入输出流237 7.2InputStream类和OutputStream类的使用238 7.2.1InputStream中的方法238 7.2.2OutputStream中的方法239 ...

Global site tag (gtag.js) - Google Analytics