zoukankan      html  css  js  c++  java
  • HttpServletRequest、HttpServletResponse、Cookie、Session

    获取客户端请求过来的参数:HttpServletRequest

    获取给客户端响应的信息:HttpServletResponse

    HttpServletResponse

    常见应用:

    1、向浏览器输出信息

    PrintWriter writer = resp.getWriter();
    writer.print("Hello,Servlet");

    2、下载文件

    //实现Servlet接口
    public class FileServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //获取下载文件路径,绝对路径
                String filepath= "";
            //定义文件名对象
                String filename = filepath.substring(filepath.lastIndexOf("\")+1);
            //设置浏览器下载支持Content-Disposition,中文文件名URLEncoder.encode编码
                resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(filename,"UTF-8"));
            //获取下载文件的输入流
                FileInputStream fis = new FileInputStream(filepath);
            //创建缓冲区
                int length = 0;
                byte[] buffer = new byte[1024];
            //获取outputstream对象
                ServletOutputStream out = resp.getOutputStream();
            //将FileOutputStream流写入buffer缓冲区,使用outputstream将缓冲区中的数据输出到客户端
                while((length=fis.read(buffer))>0){
                    out.write(buffer,0,length);
                }
            //关闭流
            fis.close();
            out.close();
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doGet(req,resp);
        }
    }

    3、验证码功能(略)

    重定向:

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.sendRedirect("/项目路径/xxx");
        }

    HttpServletRequest

    1、获取前段传递的参数

    主要使用getParameter和getParameterValues,后者接收数组

    .getAttributes setAttributes 只能用于当前Request,在list.jsp中使用

    ServletActionContext.getRequest().setAttribute("list", list);
    return "list";

    2、转发请求

    req.getRequestDispatcher("xxx.jsp").forward(req,resp);

    保存会话的两种技术

    Cookie

    客户端技术,通过客户端请求,服务器响应实现,保存在客户端

    Session

    服务器技术,可以保存数据信息

    手动注销:session.invalidate();

    web.xml设置会话超时:session-config session-timeout

  • 相关阅读:
    BNUOJ 12756 Social Holidaying(二分匹配)
    HDU 1114 Piggy-Bank(完全背包)
    HDU 2844 Coins (多重背包)
    HDU 2602 Bone Collector(01背包)
    HDU 1171 Big Event in HDU(01背包)
    HDU 2571 命运 (入门dp)
    HDU 1069 Monkey and Banana(最长递减子序列)
    HDU 1160 FatMouse's Speed (最长上升子序列)
    HDU 2594 KMP
    POJ 3783 Balls --扔鸡蛋问题 经典DP
  • 原文地址:https://www.cnblogs.com/alanchenjh/p/12285893.html
Copyright © 2011-2022 走看看