日期:2014-05-18  浏览次数:20890 次

转个弯
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="java.io.*" %>


<html> <head> <title></title> </head>
<body>
<%
//写文件\
String str;
if(request.getParameter("new_password_1")!=null&&request.getParameter("new_password_2")!=null){
str=request.getParameter("new_password_2");
}else{
str="12345";
}

if(request.getParameter("new_password_2")!=null&&!"".equals(request.getParameter("new_password_2"))){
str=request.getParameter("new_password_2");
System.out.println("参数:"+str);
}
  String str1 = request.getParameter("new_password_2");
  System.out.println("参数:"+str1);
  String filename = request.getRealPath("mima.txt");
  java.io.File f = new java.io.File(filename);
  if(!f.exists())//如果文件不存,则建立
  {
  f.createNewFile();
  }
 
try
{
  
  PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
  pw.println(str);//写内容
  pw.flush();
  pw.close();
} catch(IOException e) {
  out.println(e.getMessage());
}


//读文件
java.io.FileReader fr = new java.io.FileReader(f);
BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引 
String Line = br.readLine(); //读取一行数据

System.out.println(Line + "<BR>"); //输出读取得的数据
br.close(); //关闭BufferedReader对象
fr.close(); //关闭文件

%>
<%
if(request.getParameter("userword")!=null&&request.getParameter("password")!=null){
  if(request.getParameter("userword").equals("xjiang")&&request.getParameter("password").equals(Line)){
  session.setAttribute("login","ok");
  session.setMaxInactiveInterval(-1);
%>
<jsp:forward page="main.jsp"/>
<%
  }else{
%>
<jsp:forward page="login.html"/>
<% 
}}
%>

</body> 
</html>


我想把用户输入的密码写过来 下次登录时用心密码  

现在是能写过来 可是下次又是123345 原因是要判断传过来是不是空 否则 str=12345; 下次登录时 肯定为空所以实现不了 该咋改呢?

------解决方案--------------------
//读文件
java.io.FileReader fr = new java.io.FileReader(f);
BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引
String Line = br.readLine(); //读取一行数据

System.out.println(Line + "<BR>"); //输出读取得的数据
br.close(); //关闭BufferedReader对象
fr.close(); //关闭文件

你上面进行读文件,文件读出来你就把对象关闭了,你局的他后面拿的时候能拿到东西么?
------解决方案--------------------
给你一段JS写文件的代码,写的是本地文件。

var wObj = new ActiveXObject("Scripting.FileSystemObject");
filepath=wObj.GetSpecialFolder(0)+"\\"+filename;
//filepath=filename;
try{
if(wObj.FileExists(filepath)){
var file = wObj.OpenTextFile(filepath,1);
info = file.ReadAll();
file.Close();
arr = info.split("&");
for(var i=0;i<arr.length;i++){
var hardarr = arr[i].split("=");
if(hardarr[0] != "" && hardName.indexOf(hardarr[0]) != -1){
if(hardward == hardarr[0]){
inputMsg = inputMsg.concat(hardarr[0]).concat("=").concat(state).concat("&");
}else{
inputMsg = inputMsg.concat(hardarr[0]).concat("=&quo