美高梅4688官方网站test.jsp文件用于在浏览器中运行,一个jsp文件一个javabean文件

计数器是相近网址必备的东东,别小看它了,每当站长瞧着小小计数器上的数字飞快增进的时候,以为实乃好极了。早前我们用cgi、asp来写流量计,那方面包车型大巴稿子超级多了,在此边,我们将会利用当下可比盛行的jsp技巧示范咋做三个流速計。
里头大家用到了多少个文件,test.jsp文件用于在浏览器中运转,counter.java是后台的一个小java bean程序,用来读计数器的值和写入计数器的值。而对于流量计的保留,大家接收了二个文件文件lyfcount.txt。

文件操作是网站编制程序的第大器晚成内容之蓬蓬勃勃,asp关于文件操作研究的早就重重了,让我们来拜候jsp中是如何兑现的。
  这里运用了八个文本,一个jsp文件多少个javabean文件,通过jsp中调用javabean能够轻易读取文本文件,注意请放置叁个文书文件afile.txt到web根目录的test目录下,javabean文件编写翻译后将class文件放到对应的class目录下(tomcat景况卡塔尔。
Read.jsp

上边是事必躬亲的程序代码(test.jsp放到web目录下,counter.java放到class目录卡塔尔:

<html>
<head>
<title>读取一个文书</title>
</head>
<body bgcolor="#000000">
<%--调用javabean --%>
<jsp:useBean id="reader" class="DelimitedDataFile" scope="request">
<jsp:setProperty name="reader" property="path" value="/test/afile.txt" />
</jsp:useBean>

//test.jsp文件
<%@ page contentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>流速计演示程序</TITLE>
</HEAD>
<BODY>
<!--制造并调用bean(counter卡塔尔-->
<jsp:useBean id="counter" class="counter" scope="request">
</jsp:useBean>
<%
//调用counter对象的ReadFile方法来读取文件lyfcount.txt中的计数
String cont=counter.ReadFile("/lyfcount.txt");
//调用counter对象的ReadFile方法来将流速計加豆蔻梢头后写入到文件lyfcount.txt中
counter.WriteFile("/lyfcount.txt",cont);%>
您是第<font color="red"><%=cont%></font>位新闻报道人员
</BODY>
</HTML>

<h3>文件内容:</h3>

//counter.java 读写文件的多少个bean
import java.io.*;

<p>

public class counter extends Object {
private String currentRecord = null;//保存文本的变量
private Buffered里德r file; //BufferedReader对象,用于读取文件数量
private String path;//文件完整路线名
public counter() {
}
//ReadFile方法用来读取文件filePath中的数据,并再次来到那个数额
public String ReadFile(String filePath) throws FileNotFoundException
{
path = filePath;
//创造新的BufferedReader对象
file = new BufferedReader(new FileReader(path));
String returnStr =null;
try
{
//读取意气风发行数据并保留到currentRecord变量中
currentRecord = file.readLine();
}
美高梅4688官方网站,catch (IOException e)
{//错误管理
System.out.println("读取数据错误."State of Qatar;
}
if (currentRecord == null)
//假如文件为空
returnStr = "未有别的记录";
else
{//文件不为空
returnStr =currentRecord;
}
//重回读取文件的数额
return returnStr;
}
//ReadFile方法用来将数据counter+1后写入到文本文件filePath中
//以促成计数增加的职能
public void WriteFile(String filePath,String counter) throws

<% int count = 0; %>
<% while (reader.nextRecord() != -1) { %>
<% count++; %>
<b>第<% out.print(count); %>行:</b>
<% out.print(reader.returnRecord()); %><br>    
<% } %>
</p>
</body>
</html>

FileNotFoundException
{
path = filePath;
//将counter调换为int类型并加后生可畏
int Writestr = Integer.parseInt(counter)+1;
try {
//创立PrintWriter对象,用于写入数据到文件中
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
//用文本格式打印整数Writestr
pw.println(Writestr);
//清除PrintWriter对象
pw.close();
} catch(IOException e) {
//错误管理
System.out.println("写入文件漏洞百出"+e.getMessage(卡塔尔国卡塔尔(قطر‎;
}
}

//DelimitedDataFile.java bean文件源代码
//导入java包
import java.io.*;
import java.util.StringTokenizer;

}

public class DelimitedDataFile
{

到此地,程序写完了,将counter.java编写翻译为counter.class,相似坐落于对应的

private String currentRecord = null;
private BufferedReader file;
private String path;
private StringTokenizer token;
//成立文件对象
public DelimitedDataFile()
{
     file = new BufferedReader(new InputStreamReader(System.in),1);
}
public DelimitedDataFile(String filePath) throws FileNotFoundException
{
    
     path = filePath;
     file = new BufferedReader(new FileReader(path));
}
     //设置文件路线
     public void setPath(String filePath)
        {
            
            path = filePath;
try {
file = new BufferedReader(new
FileReader(path));
} catch (FileNotFoundException e) {
            System.out.println("file not found");
            }
    
        }
//得到文件路线
     public String getPath() {
        return path;
}
//关闭文件
public void fileClose() throws IOException
{
    
     file.close();
}
//读取下风流洒脱行记录,若未有则赶回-1
public int nextRecord()
{
    
    
     int returnInt = -1;
     try
     {
     currentRecord = file.readLine();
     }
    
     catch (IOException e)
     {
     System.out.println("readLine problem, terminating.");
     }
    
     if (currentRecord == null)
     returnInt = -1;
     else
     {
     token = new StringTokenizer(currentRecord);
     returnInt = token.countTokens();
     }
     return returnInt;
}

class目录下,在根目录下创制四个lyfcount.txt文件,文件内容就三个数字0,直接在

    //以字符串的款型重返整个记录
public String returnRecord()
{

浏览器中敲入地址就能够看见流速計了,刷新浏览器会看见不断变幻的数字。
(假使运转时候提示找不到文件,请将地方test.jsp中的readfile那一句注释后运营

return currentRecord;
}
}

叁次则lyfcount.txt文件自动创立,然后就能够符合规律运营。State of Qatar

本文由美高梅4688官方网站发布于美高梅4688官方网站,转载请注明出处:美高梅4688官方网站test.jsp文件用于在浏览器中运行,一个jsp文件一个javabean文件

您可能还会对下面的文章感兴趣: