`
techiewang
  • 浏览: 25943 次
  • 性别: 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"/>

相关推荐

    网站图形计数器

    在本文中,我们将深入探讨如何使用JavaWeb和JSP技术来实现一个网站图形计数器。 首先,我们需要了解JavaWeb和JSP的基础知识。JavaWeb是一系列用于构建和部署分布式网络应用程序的技术集合,包括Servlet、JSP、Java...

    counterDemo.zip(网页计数器)

    在“counterDemo.zip”这个项目中,我们将会探讨如何使用JSP(Java Server Pages)技术来实现这样的计数器,同时利用JSP内置对象来确保同一窗口内的页面刷新不会增加访问次数。下面,我们将深入讲解相关的知识点。 ...

    jsp+javaBean的计数器[借鉴].pdf

    总结:这个例子展示了如何使用JSP和JavaBean技术来创建一个简单的网站访问计数器。通过JSP页面调用JavaBean,实现计数器的增减和数据显示。同时,利用文件存储访问计数,确保数据持久性,并用图片展示访问次数,使得...

    servlet中的ServletContext的使用

    在这个"韩顺平"的源代码示例中,我们可能会看到如何创建一个Servlet,该Servlet在初始化时向`ServletContext`添加一些属性,然后另一个Servlet或JSP页面可以读取并使用这些属性。这种机制对于传递全局信息,如用户...

    用图片显示计算器的总数

    为了进一步实现图片显示计数结果的功能,还需要结合图像处理库(如Java Imaging API)生成包含计数值的图片。 #### 步骤三:整合JSP与图片生成逻辑 为了使上述功能能够在一个完整的JSP页面中正常工作,我们需要在...

    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实现的. ...

    handson 教师用书

    - 通过Servlet响应将验证码图片发送到客户端。 - **在message.jsp中加入include指令** - 使用`&lt;%@ include file="header.jsp" %&gt;`指令引入其他JSP文件。 - 实现页面重用,减少重复编码。 #### 专题四:JSP脚本...

    Java图片上传实现代码

    在Java编程中,图片上传是一项常见的功能,尤其在Web应用中。这个例子提供了一个简单的Java程序,用于...在生产环境中,通常会使用成熟的框架或库,如Apache Commons IO、Spring MVC或Servlet API等来处理文件上传。

    海量统计

    这个项目的主要目的是实现一个统计功能,类似于由阿江(ASP)语言编写的计数器,对于初学者来说,是一个很好的学习和实践平台。下面我们将详细探讨这些技术及其在项目中的应用。 **Servlet与JSP** Servlet是Java EE...

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

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

    JSP流量统计系统

    【资源】文件logohome.gif、stat.gif、9.gif、1.gif、6.gif、8.gif、0.gif是图片资源,可能用在网页布局和美化上。例如,logohome.gif可能是首页的logo,而其他数字.gif文件可能用于创建动态的计数器效果,显示网站...

    WebSiteCounter

    虽然描述中没有提供具体实现细节,但我们可以推测这是一个简单的网页计数器应用程序,它能够记录并展示网站的访问次数。博主分享的链接指向了ITEYE的一篇博客文章,可能提供了关于该工具的更多实现和使用信息。 ...

    jsp课程设计源码

    5. 图片上传:这个案例演示了如何让用户上传图片并存储到服务器,涉及到文件流的处理和文件上传的表单设计。 6. 论坛系统:此案例涵盖了论坛的基本功能,如发帖、回帖、查看主题等,涉及到JSP、Servlet和数据库操作...

    基于NetBeans开发的java应用程序集锦9

    使用Servlet生成图像验证码,开发者可以创建一个动态生成的图片,其中包含随机字符,用户需要输入这些字符以验证其为人而非机器。 2. **获取JVM系统属性**:Java虚拟机(JVM)系统属性提供了关于运行Java程序的环境...

    java程序员个人简历01.doc

    + 项目简述:门户网站的前台和后台程序设计,包含有后台登陆、计数器、信息发布、公证团队发布、网上申请、在线咨询、友情连接、图片上传、数据库定期备份等功能模块。 + 该项目基于 MVC 模式,采用 Jsp+jquery + ...

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

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

    JSP从入门到精通

    - **3.3.4 计数器**:利用session对象实现访问计数器功能。 **3.4 application对象** - **3.4.1 application对象的常用方法**:用于管理应用程序范围内的共享数据。 - **3.4.2 用application制作留言板**:将留言...

Global site tag (gtag.js) - Google Analytics