– 我们可以这样,记录用户在什么时间上线,并生成日志。其实原理都很简单,使用输入流和输出流读取用户输入信息,然后使用输出流将用户名、登录时间、状态,写入文件中。
** 下面我就简单的使用网站来介绍如何生成日志:
package com.blueZhang;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class b extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html:charset=utf-8");
response.setCharacterEncoding("utf-8");
SimpleDateFormat sdf = new SimpleDateFormate("yyyy-MM-dd");
FileWriter fw = new FileWriter("src/log.txt");//创建输出流写入到src下面的log.txt文件
BufferedReader br = new BufferedReader(new InputStreamReader(fw));//转换成字符输入流提高效率
String a = request.getParameter("userName");
String b = request.getParameter("pass");
if(a.equals("a")&&b.equals("b")){//这里就简单的写了点没有真正的使用数据库
System.out.println("成功");
//如果成功那么我们将用户名,系统时间状态写入文件
br.write("登录时间:"+sdf(System.currentTimeMillis())+"用户名:"+a+"状态:正常");
//response.sendRedirect("success.jsp");
request.setAttribute("admin", a);
request.getRequestDispatcher("success.jsp").forward(request, response);
}else{
response.sendRedirect("error.jsp");
}
}
//正常的编码的时候iso8859-1 将这种方式转换成utf-8
public String getEncode(String str){
String s="";;
try {
byte[] data = str.getBytes("iso8859-1");
//将编码方式转换成字节数组重新构建
s = new String(data,"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return s;
}
}
可以在这基础上完善更多的功能,比如追加浏览记录,根据浏览器记录发现用户需要什么等等。
本文介绍了如何在网站上生成用户登录日志,包括使用输入流和输出流处理用户信息,以及实现基本的日志记录功能。
3343

被折叠的 条评论
为什么被折叠?



