Servlet讲解

来源:互联网 发布:java调用mysql连接池 编辑:程序博客网 时间:2024/06/05 07:02
  • 刷新

    //隔1秒之后,刷新到一个新页面resp.setHeader("Refresh", "2;/项目名称/index.jsp");//设置当前页面每隔1秒刷新一次resp.setHeader("Refresh", "2"); 
  • 设置过期时间 –

    response.setDateHeader(“Expires”, System.currentTimeMillis()+1000*60*60);//缓存1小时
  • 设置不缓存–动态web资源 设置不进行缓存 –股票 http 1.0 1.1 两个1.1 一个针对与1.0

    response.setHeader("Cache-Control", "no-cache");  response.setHeader("Pragma", "no-cache");  response.setDateHeader("Expires", 0);  
  • 重定向 较多 A–B

    方案1: 响应码 200 请求成功 500 服务器错误  404 请求资源不存在  304/307 使用缓存      302 重定向resp.setStatus(302);resp.setHeader("Location", "/FirstWeb/aa.jsp");方案2:resp.sendRedirect(“/FirstWeb/aa.jsp”); //推荐使用
  • 转发包含

    转发和重定向的区别:转发特点:    地址栏不变    客户端向服务器发送只有一次请求    放在request域中的值可以共享重定向    地址栏改变    客户端发送了2次请求    放在request域中的数据不能够共享----到底用重定向还是转发?---如果需要携带数据,转发,如果不需要,都行实现步骤:    1 获取转发器 路径一定是决定路径             RequestDispatcher requestDispatcher = getServletContext()        .getRequestDispatcher("/servlet/DispatchedServlet");    2 转发     requestDispatcher.forward(req, resp);包含:    1 获取转发器 路径一定是决定路径             RequestDispatcher requestDispatcher = getServletContext()        .getRequestDispatcher("/servlet/DispatchedServlet");    2 包含     requestDispatcher.forward(req, resp);
  • 文件下载 —设置两个响应头–指示浏览器下载东西

    一个流  读取的服务上边的流信息--流---写到本地 --输出到本地 ---输出流        OutputStream outputStream=response.getOutputSteam();两个头  ---  Content-Disposition 指定下载的头       ---  Content-Type         指定文件类型头  --stream    response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode("美女.jpg", "UTF-8"));    response.setHeader("Content-Type", "application/octet-stream"); 
原创粉丝点击