<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<html>
<head>
<title>用户注册数据保存页面</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("id");//获取用户名
String password = request.getParameter("password");//获取密码
String sex = request.getParameter("sex");//获取性别
%>
<% try {
File f1 = new File("D:\\java实验报告\\实验4\\user.txt");
BufferedReader b2=new BufferedReader(new FileReader(f1));
String s=b2.readLine();
int tag=0;
while(s!=null){//检查user.txt有没有重名用户
String []a=s.split(",");
if(name.equals(a[0]))
tag=1;//有重名用户
s=b2.readLine();
}
b2.close();
if(tag==1){
%>
<jsp:forward page="registerFailure.jsp"></jsp:forward>
<%} else {
BufferedWriter b1 = new BufferedWriter(new FileWriter(f1));
b1.write(name + "," + password + "," + sex + "\n");
b1.flush();
b1.close();
%>
<jsp:forward page="success.jsp"></jsp:forward>
<% }
}catch(IOException e){}
%>
</body>
</html>
上面是注册界面,下面是注册检测界面, 为什么输入有重名的信息,没有跳转到错误页面,而是显示注册成功,比如user.txt文本里有:随随,1234,女
我输入:随随,12,男
显示注册成功,而且user.txt里信息被更新为只有随随,12,男,之前的都没有了
而且每次写入信息,之前的信息就没了,只有新信息
想知道为什么不会转到错误界面,以及怎么才能不清除之前信息,写到原来信息后面