为自己的网站或者是项目添加追加日志功能

– 我们可以这样,记录用户在什么时间上线,并生成日志。其实原理都很简单,使用输入流和输出流读取用户输入信息,然后使用输出流将用户名、登录时间、状态,写入文件中。

** 下面我就简单的使用网站来介绍如何生成日志:

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;


    }


}

可以在这基础上完善更多的功能,比如追加浏览记录,根据浏览器记录发现用户需要什么等等。

你可能感兴趣的:(IO,IM)