`
techiewang
  • 浏览: 25762 次
  • 性别: 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实验手册

    与实验六类似,但侧重于Servlet实现分页,可能涉及到请求参数处理和Servlet生命周期的理解。 实验十三:JSP附加码生成器(图片) 生成验证码图片,用于防止自动机器人操作。这涉及随机数生成、图像处理和HTTP响应的...

    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 文字与...

    Java web手册

    3. **使用IDE实现HelloWorld** - 在Eclipse中创建一个新的Web项目。 - 编写HelloWorld的Java和HTML代码。 - 运行项目验证结果。 **相关实践知识** - **使用“记事本+Tomcat”编写HelloWorld** - 创建项目的...

    韩顺平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等来处理文件上传。

    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...

    海量统计

    这个项目的主要目的是实现一个统计功能,类似于由阿江(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布面实现时钟 ...

Global site tag (gtag.js) - Google Analytics