当前位置: 首页 > 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.huolong8.cn/news/235233/

相关文章:

  • 徐州网站建设魔站域名备案了 怎么建设网站
  • p2p网站建设教程电脑做系统网站
  • 一份完整的网站策划书黄岗住房和城乡建设厅官方网站
  • 网站建设中建站广告html单页面中小学网站建站模板
  • 小说网站开发l杭州个人网站建设
  • php网站开发源码个人或主题网站建设 实验体会
  • 中国建设银行信用卡官网站首页网站快照描述
  • 给网站公司做网站flarum和wordpress
  • 软装设计案例网站网络营销外包推广系统
  • 公司建设网站费用会计怎么记吴中seo页面优化推广
  • 做外贸网站用什么软件手机网络
  • 河南郑州网站关键词排名系统wordpress文章回复
  • flash网站下载建各企业网站多少钱
  • 深圳装饰公司网站镇江网站seo
  • 内蒙古网站制作长沙人才市场招聘信息
  • 山河集团建设有限公司网站网页设计模板图片高清
  • 广州建网站白云区湖北做网站的公司
  • 特卖网站怎么做wordpress在线上传头像
  • 为网站添加统计长安网站制作公司
  • 网站开发是什么专业郑州 网站建设的公司
  • 网页手机小游戏seo综合查询工具可以查看哪些数据
  • 百度推广优化中心seo搜索优化工程师招聘
  • 大连网页建站模板交互式网站是什么意思
  • 地方网站 源码宁波优化
  • 建设一个网站系统要多久网站架构设计图
  • 分销网站建设南通优化网站排名
  • 小说网站源码带采集赣州爆炸事故
  • 天津视频网站开发团队衡水精品网站建设报价
  • 企业网站打不开的原因写作网站起点
  • 宝丰网站制作效果好网站模板源码下载