JavaWeb动态网页的方法和代码
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BufferedServlet extends HttpServlet {
public BufferedServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setBufferSize(0);
int len = response.getBufferSize();
System.out.println(len);
PrintWriter out = response.getWriter();
for(int i=0;i<len;i++){
out.println("a");
}
}
public void init() throws ServletException {
// Put your code here
}
}


import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.xml.internal.fastinfoset.sax.Properties;
public class Count extends HttpServlet {
public Count() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-Cache");
response.setHeader("Pragam", "no-Cache");
ServletOutputStream sos = response.getOutputStream();
BufferedImage image = new BufferedImage(80, 20,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.WHITE);
g.setFont(new Font(null, Font.ITALIC | Font.BOLD, 18));
String value = getAccessCount(request);
int len = value.length();
if (len > 7) {
value = "9999999";
} else {
String tmp = "";// 临时变量
for (int i = 0; i < 7 - len; i++) {// 在前面补0
tmp = tmp + "0";
}
value = tmp + value;
}
g.drawString(value, 0, 18);
g.dispose();// 释放资源
ImageIO.write(image, "JPEG", sos);
}
private String getAccessCount(HttpServletRequest request) {
String pagekey = request.getHeader("referer");// 得到引用页面
if (pagekey == null) {
return "0";
}
Properties settings=new Properties();// 创建一个无默认值的空属性列表
String countFilepath = this.getServletContext().getRealPath(
"/count.txt");
try {
settings.load(new FileInputStream(countFilepath));// 从输入流中读取列表
} catch (Exception e) {
e.printStackTrace();
}
String count = "0";
count = settings.getProperty(pagekey);
if (count == null) {
count = "0";
}
int c = Integer.parseInt(count) + 1;
count = new Integer(c).toString();
settings.put(pagekey, count);
try {
settings.store(new FileOutputStream(countFilepath),
"the page is accessed:");// 存储
} catch (Exception e) {
// TODO: handle exception
}
return count;
}
public void init() throws ServletException {
// Put your code here
}
}
<html>
<head>
<title>Image.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
This is my HTML page. <br>
<image src="http://localhost:8080/myeTest/servlet/Count"></image>
</body>
</html>