Import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
public class Jpegservlet extends HttpServlet {
private String strfile= "C:count.txt";
Private font mfont=new font ("Courier", font.bold,12);
public void doget (httpservletrequest request,httpservletresponse response)
throws Servletexception,ioexception {
String S;
Int intcount;
S=getcount ();
intcount=new Integer (s). Intvalue ();
intcount=intcount+1;
Writecount (intcount+ "");
Response.setcontenttype ("Image/jpeg");
Servletoutputstream Out=response.getoutputstream ();
bufferedimage image=new bufferedimage (110,16,BUFFEREDIMAGE.TYPE_INT_RGB);
Graphics g=image.getgraphics ();
G.setcolor (Color.Black);
G.fillrect (0,0,110,16);
G.setcolor (Color.White);
G.setfont (Mfont);
Char C;
for (int i=0;i<10;i++) {
C=s.charat (i);
g.drawstring (c+ "", i*11+1,12);
g.drawline (i+1) *11-1,0, (i+1) *11-1,16);
}
JPEGImageEncoder Encoder=jpegcodec.createjpegencoder (out);
Encoder.encode (image);
Out.close ();
}
public void DoPost (httpservletrequest request,httpservletresponse response)
throws Servletexception,ioexception {
doget (Request,response);
}
public synchronized void Writecount (String content) {
try {
PrintWriter pw = new PrintWriter (new FileOutputStream (strfile));
pw.println (content);
Pw.close ();
} catch (IOException e) {
System.out.println ("Write File Error:" +e.getmessage ());
}
}
Public synchronized String GetCount () {
String Strcount;
int len;
int Leftlen;
try {
BufferedReader inf = new BufferedReader (new FileReader (strfile));
Strcount=inf.readline ();
Inf.close ();
} catch (Exception e) {
System.out.println ("Get counter Error:" +e.getmessage ());
return Rechar (' 0 ', 10);
}
len=strcount.length ();
if (len<=0) {
return Rechar (' 0 ', 10);
}
if (len>10) {
return Rechar (' 9 ', 10);
}
Leftlen=10-len;
return Rechar (' 0 ', Leftlen) +strcount;
}
Private String Rechar (char c,int num) {
int i;
if (num<=0) return "";
String s= "";
for (i=0;i<num;i++) {
S=s+c;
}
return s;
}
}