基于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");
上一篇:Springboot整个Quartz实现动态定时任务的示例代码
栏 目:JAVA代码
下一篇:Java购物系统设计与实现
本文标题:基于HttpServletResponse 相关常用方法的应用
本文地址:http://www.codeinn.net/misctech/102558.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




