当前位置: 首页 > news >正文

番禺网站建设价格服务支持型网站

番禺网站建设价格,服务支持型网站,汕头网站关键排名,网站推广投放目录 项目准备JSONJSON作用JSON演示ResponseBody注解日期返回json格式 文件上传与下载文件上传准备工作文件项上传文件完成 文件下载文件下载页面下载业务代码 SpringMVC的执行流程 项目准备 大体步骤#xff1a; 新建dynamic web project#xff0c; 修改默认输出的class路… 目录 项目准备JSONJSON作用JSON演示ResponseBody注解日期返回json格式 文件上传与下载文件上传准备工作文件项上传文件完成 文件下载文件下载页面下载业务代码 SpringMVC的执行流程 项目准备 大体步骤 新建dynamic web project 修改默认输出的class路径修改content directory名勾选生成web.xml拷贝SpringMVC核心配置文件 开启扫描包路径 放行静态资源 使spring注解生效 视图解析器拷贝web.xml 前端控制器过滤器部署Tomcat导包编写TestControllerwebapp\WEB-INF\views下新建index.jsp 测试 JSON JSON作用 在实际开发中通常需要和别的系统交换数据数据交换的格式通常有XML和JSON等JSONJavaScript Object NotationJavaScript对象表示法是一种基于JavaScript 语法开放的轻量级数据交换格式使用js语法来描述数据对象JSON作为一个轻量级的数据格式相对于XML文档更小结构清晰简洁读写效率更高XML需要很多的标签在数据传输的时候无疑会消耗更多网络资源和流量 (1)用XML表示一个对象 person id1nametom/nameage20/agesalary5000.0/salary /person(2)用JSON表示一个对象{“id”:1,“name”:“tom”,“salary”:5000.0} JSON演示 html head meta charsetUTF-8 titleInsert title here/titlescript typetext/javascript// 定义jsonvar obj {id:123,name:王天霸,age:30};// 弹出框alert(obj.name);alert(obj.age);var arr [{name:tom,age:20},{name:jack,age:30}];alert(arr[1].age)alert(arr[0].name)/script /head body/body /htmlResponseBody注解 会把数据转成json格式并且不会走视图解析器了 Controller public class JsonController {/*** 返回一个json格式的user对象 * tips406:缺少jar*/RequestMapping(/user)ResponseBody // 会把数据转成json格式并且不会走视图解析器了 public User json1(){User user new User(111, 力很弱, 20); return user; }RequestMapping(/list)ResponseBody // 会把数据转成json格式并且不会走视图解析器了 public ListUser json2(){User user1 new User(111, 力很弱, 20); User user2 new User(222, 王天霸, 21);User user3 new User(333, 阮经天, 22);ListUser list new ArrayList();list.add(user1);list.add(user2);list.add(user3);return list;} }日期返回json格式 User public class User {private Integer id;private String name;private Integer age;JsonFormat(patternyyyy^_^MM^_^dd HH^_^mm^_^ss,timezoneGMT8)private Date date;public User() {super();}public User(Integer id, String name, Integer age) {super();this.id id;this.name name;this.age age;}public User(Integer id, String name, Integer age, Date date) {super();this.id id;this.name name;this.age age;this.date date;}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public Date getDate() {return date;}public void setDate(Date date) {this.date date;}Overridepublic String toString() {return User [id id , name name , age age ];}}JsonController /*** 日期格式问题*/RequestMapping(/date)ResponseBodypublic User json3(){User user new User(111, 力很弱, 20, new Date()); return user; }文件上传与下载 文件上传与下载实质都是IO流的读写操作 文件上传 文件上传把本地资源上传到服务器即将本地磁盘中的文件复制到服务器指定的地方 输入流(读) - 输出流(写) 准备工作 1.新建upload.html填写上传表单 html head meta charsetUTF-8 titleInsert title here/title /head body!-- 上传三要素表单的提交的方式必须是postinput中必须有typefile enctype:值必须是multipart/form-data-- form action/upload methodpost enctypemultipart/form-data username: input typetext nameusernamebr/图片input typefile namephotobr/input typesubmit value上传/form /body /html2.导包 commons-fileupload-1.2.2.jarcommons-io-1.4.jar 3.上传解析器 SpringMVC.xml bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver!-- 设置上传文件的最大尺寸为1MB --property namemaxUploadSize!-- spring el写法1MB --value#{1024*1024}/value/property!-- 效果同上 -- property namemaxUploadSize value1048576 / /bean文件项 以前写的usernamepassword。。。 简单的表单项 文件上传 复杂表单项 tips文件名和路径名尽量不要重复如upload UploadController Controller public class UploadController {/*** photo: 复杂表单项---以前获取参数的方式不行了* MultipartFile:文件项 接收的是一个地址值---包含了上传的内容了*/RequestMapping(/upload)public String uploadFile(MultipartFile photo){boolean empty photo.isEmpty();if (!empty) {String filename photo.getOriginalFilename();System.out.println(filename);}return null;}; }上传文件完成 Controller public class UploadController {/*** photo: 复杂表单项---以前获取参数的方式不行了* MultipartFile:文件项 接收的是一个地址值---包含了上传的内容了*/RequestMapping(/upload)public String uploadFile(MultipartFile photo,HttpServletRequest request) throws IOException{if (!photo.isEmpty()) {// 获取当前项目路径String realPath request.getServletContext().getRealPath(/upload1);// 获取文件名 u19008.jpgString filename photo.getOriginalFilename(); // 获取上传文件的后缀int index filename.lastIndexOf(.);// 后缀String suffix filename.substring(index); // 随机生成一个文件名 1610434039685.xml// 获取时间戳long i System.currentTimeMillis(); // 拼接之后的名字String name isuffix; // 通过File构造获取一个完整的file路径File file new File(realPath, name); // 输入流InputStream input photo.getInputStream(); // 获取输出流FileOutputStream output new FileOutputStream(file); // 上传的核心代码IOUtils.copy(input, output); // 关流output.close();input.close();}// 重定向到当前页面return redirect:/uploadFile.html;} }文件下载 从服务器将文件复制到本地磁盘中 重点输入流输出流 把download目录放入工程中代表服务器资源 文件下载页面 新建download.jsp %page importjava.net.URLEncoder% % page languagejava contentTypetext/html; charsetUTF-8pageEncodingUTF-8% !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html head meta http-equivContent-Type contenttext/html; charsetUTF-8 titleInsert title here/title /head bodya href/download?filename%URLEncoder.encode(美女.jpg, utf-8) %美女.jpg/abr/a href/download?filenamestar.mp4star.mp4/abr/a href/download?filenamesuiji.zipsuiji.zip/abr/a href/download?filenamewords.txtwords.txt/abr/ /body /htmltips要解决IE浏览器点击有中文的A标签报错400的问题用uff-8编码解决 下载业务代码 tips 1.要解决浏览器能打开就直接打开不下载的问题 2.要解决中文乱码的问题文件名乱码 DownloadController Controller public class DownloadController {RequestMapping(/download)public void download(String filename,HttpServletRequest req,HttpServletResponse resp) throws IOException{// 获取download路径String realPath req.getServletContext().getRealPath(/download); // 完整的file文件File file new File(realPath, filename); // 不同的浏览器去处理中文乱码方式if(req.getHeader(User-Agent).toUpperCase().indexOf(TRIDENT)!-1){filename URLEncoder.encode(filename, utf-8);//电脑自带edge【edʒ】浏览器 }else if(req.getHeader(User-Agent).toUpperCase().indexOf(EDGE)!-1){ filename URLEncoder.encode(filename, utf-8);}else{//其他浏览器filename new String(filename.getBytes(UTF-8),ISO-8859-1);//转码的方式}; // 告诉浏览器我要以下载的方式处理这个文件resp.setHeader(Content-Disposition, attachment; filename filename); // 获取输入流FileInputStream input new FileInputStream(file); // 获取响应输出流ServletOutputStream output resp.getOutputStream(); // 核心代码IOUtils.copy(input, output); // 关流output.close();input.close();} }SpringMVC的执行流程 四大器前端控制器、处理器映射器、处理器适配器、视图解析器 前端控制器之前还有一个过滤器之后有三个阶段的拦截器
http://www.yutouwan.com/news/235233/

相关文章:

  • 阜阳市重点工程建设局网站wordpress数据库插件
  • 大连外贸建站做推广哪个网站好
  • 网站建设策划书 范文设计本室内设计师网
  • 免费旅行社网站模板金山文档数字变成e+10
  • 做网站赚钱流程工业设计大学排名
  • 电脑系统做的好的几个网站蚌埠做网站的公司
  • 什么是一学一做视频网站展示型网站可以做推广的吗
  • 网站怎么做二维码网站的可用性
  • 做网站排名收益ps做图下载网站有哪些
  • 深圳建一个网站要多少钱深圳网站建设高端设计
  • 常德网站建设制作可以自己做头像的网站
  • 网站建设中静态页面模板网站的设计思路范文
  • 如何加快百度收录网站百度关键词排名点击器
  • 天津建设工程信息网官网首页上海网站建设优化
  • 用discuz做商城网站2021最新免费的推广引流软件
  • 哪一个网站有做实验的过程成都 网站
  • 内蒙网站开发在线做初中题网站
  • 检查网站打开速度手机网站定制方案
  • 遂宁网站seo建设电商网站哪个平台比较好
  • 网站的建设与运营模式网站发帖推广平台
  • 做网站效果北京市企业网站建设
  • 58同城网站建设目的wordpress主题简
  • 柳河网站建设云服务器 可以做网站吗
  • 网站建设公司哪家好 干净磐石网络淘宝详情页设计一个多少钱
  • 徐州网站外包山东企业
  • 免费网站建设魔坊科技制作网站
  • 广西建设网登录入口晨阳seo顾问
  • 长春建设网站公司哪家好官网建设的意义
  • 芜湖营销型网站制作翔安区建设局网站
  • 南联网站建设推广商业计划书范文