java 设置下载文件大小_java中如何设置下载文件

如果想要设置某一url为下载文件的方法如下

需要设置文件响应类型,使用response.setContentType,比如jpeg格式的图片。如果想要访问该页面时出现下载保存的窗口,使用response.setHeader("Content-Disposition", "attachment;filename="+filename.getName())函数。也可以是pdf文件,或者其他格式的,如果想要查找浏览器可以识别什么格式的文件,需要到服务器的配置文件中找,比如tomcat服务器中搜索mime-mapping即可查看浏览器是别的文件类型。

public voiddoGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setCharacterEncoding("utf-8");

File filename= new File("D:\\chengxu\\ML\\2.jpg");

response.setContentType("image/jpeg");

response.setHeader("Content-Disposition", "attachment;filename="+filename.getName());

OutputStreamout =response.getOutputStream();

FileInputStream fileinput= newFileInputStream(filename);byte[] charbuffer = new byte[1024];int length = 0;while ((length=fileinput.read(charbuffer))!=-1) {out.write(charbuffer, 0, length);

}

}

2 java web中的servlet第一次访问时如果初始化中有很多动作需要执行,可能会很慢,如果想要改善这种体验,可以设置服务器加载时创建对象。即在配置文件中设置

n,其中n表示一个数字,越小表示优先级越高。

3 java web中是一个单实例多线程的,每次用户请求服务器会开一个线程。所以要注意线程安全问题,如果出现需要使用锁来解决。最简单的解决方法是使用同步语句块。

4 ServletConfig对象的作用,主要用于获取配置文件中的配置参数。在Servlet类中使用getServletConfig来获取对象。

5 在后台Servlet中如何转发请求和重定向,实现方法如下。跳转和重定向的区别见jsp指令和重定向

1)转发请求

RequestDispatcher rd = getServletContext().getRequestDispatcher("/getresource");

rd.forward(request, response);

2)重定向

response.sendRedirect("getresource");

注意:他们之间的区别,转发时即使是同一应用也需要/开头;重定向是如果是同一应用程序,不需要以/开头的,如果是'/'开头表明是绝对资源路径。

6 在java web开发中如果使用涉及到路径问题,尽量使用绝对路径。不要使用相对路径,容易出问题。java中‘.’代表的相对路径是java命令运行所在的路径。

比如想要获取一个propertys文件,有两种方法获取

1) 使用getRealPath(),先获取资源路径,然后再得到资源

2) 使用getResourceAsStream()直接获取的是文件的输入流对象

注意:在路径问题中,‘/’代表的含义,如果是浏览器使用则表示web-apps路径,所有项目的根目录;如果是服务器使用则表示webRoot目录,即当前应用的根目录。

7 在java web中 cookie时间的操作,setMaxAge

1) 正数,表示cookie经过多少秒会过期

2) 负数,表示cookie会存在内存中,会话结束就删除

3) 0,表示删除cookie

操作cookie时,如果设置路径,则发送请求只会将该应用路径下的cookie发送过去。cookie不能存储中文。

8 java web中会话管理中有一个重要的东西就是session了,设置session的有效时间有两种

1)全局设置,在配置文件中添加,此处时间单位是分钟

60

2)在主页面中设置,此处时间单位是秒

HttpSession session=request.getSession();

session.setMaxInactiveInterval(3600)

session技术也是用到了cookie技术的,他会在浏览器端存储一个会话id,但是如果浏览器关闭,则消失。说明这个cookie是存储在内存中,如果想要使浏览器关闭再打开可以继续使用之前的会话的话,需要修改session id的存储时间为正数,这样下次访问同一应用时可以使用上一次保存在session中的内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值