上传、下载、国际化
来源:互联网 发布:淘宝柳丝模特 编辑:程序博客网 时间:2024/06/05 21:49
上传、下载、国际化
一、上传
1.需要注意的:
1.1 表单的method属性应该为post方法,不能用get方法
1.2 表单enctype属性应该设为multipart/from-data
1.3 表单action属性应该设为请求的servlet的路径
1.4 一次性上传多个文件需要多个name不同的“<input type=”file”>”
2.依赖的库
2.1 commons-fileupload.x.x.jar(x.x为版本号)
2.2 commons-io-x.x.jar(x.x为版本号)
3.代码
3.1 html代码
<!-- 上传文件的两个条件,1.必须是post请求 2.enctype="multipart/form-data"" 注意:在servlet中使用request.getParameter(“userName”)无法获取到值 --> <form action="UploadServlet" method="post" enctype="multipart/form-data"> <input type="text" name="txt" /><br/> <input type="file" name="myfile" /><br/> <input type="file" name="myfile1" /><br/> <input type="submit" value="立即上传"/> </form>
3.2 java代码
boolean bool = ServletFileUpload.isMultipartContent(request);//检查是否有文件上传请求if(bool){//创建解析文件上传的工厂类DiskFileItemFactory factory = new DiskFileItemFactory();//用于从请求中解析文件ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding("utf-8");try {//解析是文本输入还是文件List<FileItem> itmes = upload.parseRequest(request);for (FileItem fi : itmes) {//标识是文本输入if(fi.isFormField()){System.out.println(fi.getFieldName()+"----"+fi.getString());}else{//取文件名String fileName = fi.getName();//取流InputStream is = fi.getInputStream();String destPath=SAVE_DIR+"/"+fileName;System.out.println(destPath);FileOutputStream fs = new FileOutputStream(destPath);byte[] bt = new byte[1024];int num=-1;while((num=is.read(bt))!=-1){fs.write(bt, 0, num);} fs.flush();fs.close();is.close(); }}} catch (FileUploadException e) {e.printStackTrace();}}
二、下载
1.需要注意的:
1.1 表单的method属性最好为为get方法
2.html代码
<a href=”请求下载的serlvet地址”>下载</a>
3.java代码
static String SAVE_DIR = "E:/sc"; public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");//文件下载输出流OutputStream os = response.getOutputStream();String fileName="1.jpg";if(request.getParameter("fileName")!=null){fileName=request.getParameter("fileName");}//告诉浏览器下载的名字response.setHeader("Location",URLEncoder.encode(fileName,"utf-8")); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName,"utf-8")); //将文件的流写入outputstream FileInputStream fis = new FileInputStream(SAVE_DIR+"/"+fileName); //设置长度为文件长度,一次读完 byte [] bt = new byte[fis.available()]; fis.read(bt); os.write(bt); fis.close(); os.close();}
三.国际化
一:所谓国际化就是一个网站提供了不同版本的语言,根据访问者的语言或国籍,显示给该用户该国家的语言。
二:区域设置(locale):这是一个特殊的文化或地理区域。它通常指语言符号后跟一个下划线和一个国家符号。例如 “en_US” 表示针对US 的英语区域设置
三:servlet国际化
Servlet 可以根据请求者的区域设置拾取相应版本的网站,并根据当地的语言、文化和需求提供相应的网站版本。以下是request 对象中返回Locale 对象的方法。
java.util.Locale request.getLocale()
重要的区域设置方法,您可以使用它们来检测请求者的地理位置、语言和区域设置。
//根据区域设置获取当地时间
Locale locale = request.getLocale( );
String date = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.SHORT,
locale).format(new Date( ));
完全依赖java国际化 步骤如下
1.定义资源文件 BASENAME_语言代码_国家码.properties
2.通过request.getLocale()获取Locale对象
3.通过ResourceBundle resb1 = ResourceBundle.getBundle(" BASENAME ", request.getLocale());
4.通过resb1.getString(“key值”)获取数据
- 上传、下载、国际化
- springmvc国际化+上传+下载
- 【JavaWeb-17】国际化、自定义拦截器、struts2文件上传与下载、OGNL、contextMap
- 框架学习之springMvc整合框架-02文件上传、下载、国际化、拦截器、异常框架
- Struts2国际化和文件上传
- 上传,下载
- 上传&下载
- 上传 下载
- 上传 下载
- 上传、下载
- 国际化-ResourceBundle Editor插件下载
- struts2文件上传与错误信息国际化
- Java Web之七 上传文件 & 国际化
- struts2中文件上传与错误国际化
- struts2文件上传与错误信息国际化
- Spring MVC--8.JSON、国际化、文件上传
- Springmvc国际化和文件上传(八)
- JAVAWEB开发之Struts2详解(三)——Struts2信息国际化、自定义拦截器以及Struts2文件上传和下载详解
- 解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题
- scrollTop()解决IOS中输入法遮挡输入框
- Eclipse设置任何时候都能触发你的代码自动补全及快捷键方法
- 复选框
- leetcode128 Longest Consecutive Sequence (map)
- 上传、下载、国际化
- Web——鼠标事件
- JDBC基础学习
- 数据库总结-oracle
- 关于服务器端MySQL数据库插入数据、运行sql文件时抛出packet bigger than 'max_allowed_packet'的
- javaScript中鼠标冒泡事件
- 基于ssm框架的个人博客(1)--数据表的设计
- Python 矩阵翻转180度
- 设计模式-单例模式