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

 更新时间:2013年04月18日 14:35:13   作者:  
本篇文章小编为大家介绍,基于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");

相关文章

  • java项目中常用指标UV PV QPS TPS含义以及统计方法

    java项目中常用指标UV PV QPS TPS含义以及统计方法

    文章介绍了现代Web应用中性能监控和分析的重要性,涵盖了UV、PV、QPS、TPS等关键指标的统计方法,并提供了示例代码,同时,文章还讨论了性能优化和瓶颈分析的策略,以及使用Grafana等可视化工具进行监控与告警的重要性
    2025-01-01
  • Mybatis拦截器实现数据权限的示例代码

    Mybatis拦截器实现数据权限的示例代码

    在我们日常开发过程中,通常会涉及到数据权限问题,本文主要介绍了Mybatis拦截器实现数据权限的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java 超详细讲解ThreadLocal类的使用

    Java 超详细讲解ThreadLocal类的使用

    写SpringBoot项目的时候,经常用到的一个保存用户信息的类就是Threadlocal,我们今天就来详细介绍一下这个类,感兴趣的朋友来看看吧
    2022-04-04
  • Java scala模式匹配机制详解

    Java scala模式匹配机制详解

    模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断
    2023-02-02
  • Java通过SSH连接路由器输入命令并读取响应的操作方法

    Java通过SSH连接路由器输入命令并读取响应的操作方法

    最近需要读取和修改华为路由器的配置,使用Java语言开发,通过SSH连接,输入命令并读取响应,接下来通过本文给大家介绍下Java通过SSH连接路由器,输入命令并读取响应,需要的朋友可以参考下
    2024-01-01
  • Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud Zuul对异常的处理整体来说还是比较方便的,流程也比较清晰,下面这篇文章主要给大家介绍了关于Spring Cloud学习教程之Zuul统一异常处理与回退的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-04-04
  • SpringBoot中FailureAnalyzer的使用详解

    SpringBoot中FailureAnalyzer的使用详解

    这篇文章主要介绍了SpringBoot中FailureAnalyzer的使用详解,FailureAnalyzer拦截启动时异常,将异常转换成更加易读的信息并包装成org.springframework.boot.diagnostics.FailureAnalysis对象,监控应用启动过程,需要的朋友可以参考下
    2023-12-12
  • Java并发编程:volatile关键字详细解析

    Java并发编程:volatile关键字详细解析

    这篇文章主要介绍了Java并发编程:volatile关键字详细解析,对学习volatile关键字有一定的认识,有需要的可以了解一下。
    2016-11-11
  • Mybatis一对多查询的两种姿势(值得收藏)

    Mybatis一对多查询的两种姿势(值得收藏)

    这篇文章主要给大家介绍了关于Mybatis一对多查询的两种姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Java8实现优雅的获取重复字符与次数

    Java8实现优雅的获取重复字符与次数

    这篇文章主要为大家详细介绍了在Java8中,我们应该如何进行字符及字符串的去重,以及计算去重次数,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2023-12-12

最新评论