站點的網站計數器的操作
<%@ page import="java.math.BigInteger" %>
<%@ page import="java.io.File" %>
<%@ page import="java.util.Scanner" %>
<%@ page import="java.io.FileInputStream" %>
<%@ page import="java.io.PrintStream" %>
<%@ page import="java.io.FileOutputStream" %>
<%@ page import="java.util.zip.InflaterOutputStream" %><%--
Created by IntelliJ IDEA.
User: ming
Date: 19-3-12
Time: 下午10:25
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
// 定義全局變量
BigInteger count = null;
%>
<%!
// 擷取計數器
public BigInteger load(File file){
BigInteger count = null;
try{
// 若檔案存在則讀取
if(file.exists()){
Scanner scanner = null;
// 擷取到檔案的輸入流
scanner = new Scanner(new FileInputStream(file));
// 對計數器内容進行加1
if(scanner.hasNext()){
count = new BigInteger(scanner.next());
}
scanner.close();
}else{
count = new BigInteger("0");
save(file, count);
}
}catch (Exception e){
e.printStackTrace();
}
return count;
}
// 計數檔案儲存回檔案
public void save(File file, BigInteger count){
try{
PrintStream printStream = null;
printStream = new PrintStream(new FileOutputStream(file));
// 流中輸入對象
printStream.println(count);
printStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
%>
<%
// 擷取檔案路徑
String fileName = this.getServletContext().getRealPath("/") + "count.txt";
// 定義file對象
File file = new File(fileName);
// 進行加
if(session.isNew()) {
synchronized (this) {
count = load(file);
System.out.println(count);
count = count.add(new BigInteger("1"));
save(file, count);
}
}
%>
您是第<%=count%>
</body>
</html>
web映射
檔案儲存在WEB-INF檔案夾下,永遠無法通路,此時,需要修改/WEB-INF/web.xml檔案即可,達到映射的目的
修改xml檔案如下
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>he</servlet-name>
<jsp-file>/WEB-INF/he.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>he</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
直接更新,但不重新開機,發現不能加載.
此時.即Tomcat需要重寫配置屬性
此時通路
http://localhost:8080/hello即可通路
config
config用于獲得