修改服务器端文本文件

时间:2013-08-10 05:39:58

标签: javascript html

目前我正在开发静态HTML网站。现在我使用以下javascript代码来读取服务器端文本文件:

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc() {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "results.txt", true);
        xmlhttp.send();
    }
</script>
</head>
<body>

<div id="myDiv"><h2>content</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html> 

此处点击事件数据刚刚显示。但是现在我想在点击事件上更改文本文件的内容。我想将数字增加1,它作为内容驻留在文件中。

请帮我做这件事......非常感谢你提前。!!

编辑:

我正在使用Windows托管。

1 个答案:

答案 0 :(得分:0)

你可以这样做

这是索引页面。我在JSP中完成了它。

的index.jsp

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc() {
        var xmlhttp;
        if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else { // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "newjsp.jsp", true);
        xmlhttp.send();
    }
</script>
</head>
<body>
    <div id="myDiv">
        <h2>content</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html> 

然后是服务器端编码

newjsp.jsp

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.io.*"%>
<%
    try { 
        BufferedReader in = new BufferedReader(new FileReader("C:/Users/sar/Documents/NetBeansProjects/WebApplication1/web/results.txt"));
        // change the path to the txt file
        String line;
        int a = 0;
        if((line = in.readLine()) != null)
            a = Integer.parseInt(line)+1;
        else
            a = 1;   
        PrintWriter pw = new PrintWriter(new FileOutputStream("C:/Users/sar/Documents/NetBeansProjects/WebApplication1/web/results.txt"));
        // change the path to the txt file
        pw.println(a);
        pw.close();
        out.println(a);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
%>
  

您必须在指定位置创建results.txt文件。