基于HttpServletResponse 相关常用方法的应用

public void filedownload(HttpServletResponse response) throws Exception {
  ServletContext context = this.getServletContext();
  String path = context.getRealPath("/download/awf.jpg");
  String filename = path.substring(path.lastIndexOf("\\") + 1);

  // 如果下载文件为中文文件,则文件名需要经过url编码;
  response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));

  InputStream in = new FileInputStream(path);
  int len = 0;
  byte[] buffer = new byte[1024];
  OutputStream out = response.getOutputStream();
  while ((len = in.read(buffer)) > 0) {
  out.write(buffer, 0, len);
  }
  in.close();
  out.close();
}

BeanUtils使用:
BeanUtils.pupulate(bean,MapInstance);//用map装载bean,map中存有bean属性对应的key以及key对应的值;
BeanUtils.copyProperties(bean,MapInstance);//将map拷贝到bean中;

转发是一次请求,使用的是相同的response和request;

页面跳转:
<1>String message = "<meta http-equiv='refresh' content='3;url=/webTwo/index.jsp'><a href='webTwo/index.jsp'>AAAA</a>";
  this.getServletContext().setAttribute("message", message);
  this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);//将消息带到message页面进行显示;

<2>response.setHeader("refresh", "3;url='/webTwo/index.jsp'");
  response.getWriter().write("恭喜登录成功,如果没有中转,请点击超链接<a href='webTwo/index.jsp'>AAAA</a>");

程序编码:
// 程序以什么码表输出,就一定要控制浏览器以什么码表打开;
  // 用html中的meta技术模拟http响应头,来控制浏览器的行为;
  // out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());
  

  response.setCharacterEncoding("UTF-8");// 设置response使用的码表,控制response以什么码表向浏览器写出数据;
  response.setHeader("Content-type", "text/html;charset=UTF-8");// 指定浏览器以什么码表打开数据;
  // 相当上面两句话:
  // response.setContentType("text/html;charset=UTF-8");

Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//设置session有效时间10分钟;
Response.getWriter().write(data); Response.getWriter() -- > return PrintWriter;
Response.setHeader("refresh","3");

(0)

相关推荐

  • 基于HttpServletRequest 相关常用方法的应用

    Referer: public void referer(HttpServletRequest request, HttpServletResponse response)throws Exception {String referer = request.getHeader("referer");if (referer == null || !referer.startsWith("http://localhost")) {response.sendRedirec

  • Java中HttpServletResponse响应中文出现乱码问题

    以字符串的形式输出. 1.response.getWriter().write("您好中国hello"); 如果这样输出的话.则浏览器结果为: 2.加上代码 response.setCharacterEncoding("UTF-8"); response.getWriter().write("您好中国hello"); 则浏览器结果为: 这是因为浏览器解析问题. 加上代码: response.setHeader("Content-type

  • 浅谈servlet中的request与response

    在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:

  • 基于HttpServletResponse 相关常用方法的应用

    public void filedownload(HttpServletResponse response) throws Exception { ServletContext context = this.getServletContext(); String path = context.getRealPath("/download/awf.jpg"); String filename = path.substring(path.lastIndexOf("\\"

  • Python基于域相关实现图像增强的方法教程

    目录 介绍 昆虫增强 使用针的增强 实验结果 介绍 当在图像上训练深度神经网络模型时,通过对由数据增强生成的更多图像进行训练,可以使模型更好地泛化.常用的增强包括水平和垂直翻转/移位.以一定角度和方向(顺时针/逆时针)随机旋转.亮度.饱和度.对比度和缩放增强. Python中一个非常流行的图像增强库是albumentations(https://albumentations.ai/),通过直观的函数和优秀的文档,可以轻松地增强图像.它也可以与PyTorch和TensorFlow等流行的深度学习框

  • 基于PHPExcel的常用方法总结

    复制代码 代码如下: // 通常PHPExcel对象有两种实例化的方式// 1. 通过new关键字创建空白文档$phpexcel = newPHPExcel();// 2. 通过读取已有的模板创建$phpexcel =PHPExcel_IOFactory::createReader("Excel5")->load("template.xls"); 复制代码 代码如下: <?//设置PHPExcel类库的include pathset_include_pa

  • java HttpServletRequest和HttpServletResponse详解

    java  HttpServletRequest和HttpServletResponse详解 最近由于CAS相关的JAR包的重新封装,所以想尽量做到0配置,而这个过程中大量使 用HttpServletRequest,现在整理如下,以便以后查阅.(表格为从别的地方复制的,排版渣了点,酬和看吧.) 请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口. 主要的与请求和接口相关的类及接口 方    法 说    明 ServletInputStream Servlet的输入流 Se

  • 基于C#的socket编程的TCP异步的实现代码

    一.摘要 本篇阐述基于TCP通信协议的异步实现. 二.实验平台 Visual Studio 2010 三.异步通信实现原理及常用方法 3.1 建立连接 在同步模式中,在服务器上使用Accept方法接入连接请求,而在客户端则使用Connect方法来连接服务器.相对地,在异步模式下,服务器可以使用BeginAccept方法和EndAccept方法来完成连接到客户端的任务,在客户端则通过BeginConnect方法和EndConnect方法来实现与服务器的连接. BeginAccept在异步方式下传入

  • java  HttpServletRequest和HttpServletResponse详解

    java  HttpServletRequest和HttpServletResponse详解 最近由于CAS相关的JAR包的重新封装,所以想尽量做到0配置,而这个过程中大量使 用HttpServletRequest,现在整理如下,以便以后查阅.(表格为从别的地方复制的,排版渣了点,酬和看吧.) 请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口. 主要的与请求和接口相关的类及接口 方    法 说    明 ServletInputStream Servlet的输入流 Se

  • 原生php实现excel文件读写的方法分析

    本文实例分析了原生php实现excel文件读写的方法.分享给大家供大家参考,具体如下: 最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件.因为以前没做过,所以就百度了一下,网上说的大多是使用PHPExcel类来操作excel文件,这还要去下载这个类才能使用,而我只想使用原生的php,不想那么麻烦,好在也有网友说到关于原生php生成excel文件的方法,其实很简单,下面把我结合网上资料自己实践的代码分享一下. 一般我们这种导数据的操作都是通过用户在网页页面

  • Java中实现简单的Excel导出

    简单介绍一下Java中的Excel文件导出功能(基于HttpServletResponse实现下载) 首先,引入需要依赖的jar包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <gro

  • Spring WebClient实战示例

    目录 WebClient实战 服务端性能对比 Spring WebFlux Spring MVC 客户端性能比较 webclient resttemplate(不带连接池) resttemplate(带连接池) webclient连接池 webclient 的HTTP API 小结 WebClient实战 本文代码地址:https://github.com/bigbirditedu/webclient Spring Webflux 是 Spring Framework 5.0 的新特性,是随着当

随机推荐