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

设计网站的关键点三维家装设计软件

设计网站的关键点,三维家装设计软件,网站海外推广外包,免费中文网站模板htmlspringmvc——一 站式web框架#xff0c;核心是处理http请求响应。 前后端分离#xff1a;需要序列化#xff0c;服务端把数据序列化成字符串或者流给前端#xff0c;前端又把json转成对象#xff0c;前端的叫反序列化。前端把数据序列化转成字符串给服务器#xff0c;服… springmvc——一 站式web框架核心是处理http请求响应。 前后端分离需要序列化服务端把数据序列化成字符串或者流给前端前端又把json转成对象前端的叫反序列化。前端把数据序列化转成字符串给服务器服务器收到字符串转成对象。转化为json字符串进行网络传输 序列化对象转字符串 反序列化字符串转对象 RequestMapping路径映射 路径位置通配符多个都能匹配上就精确优先     *  匹配任意多个字符0-n不能匹配多个路径——使用/**解决    ** 匹配任意多层路径     ?  匹配任意一个字符      精确程度完全匹配——?——*——**      精确路径必须全局唯一 /*** //RestController处理请求和响应数据——Controller、ResponseBody* ResponseBody告诉spring把返回的内容写到响应体中每次请求进来执行目标方法*/ RestController public class HelloController {* return*/RequestMapping(/hello)public String hello(){return Hello spring MVC 你好;}}请求限定 请求方式method    请求参数params    请求头headers    请求内容类型consumes    响应内容类型produces RestController public class HelloController {/*** 限定请求方式-接收post请求* GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE;*/RequestMapping(value /test01,method RequestMethod.POST)public String test01(){return Hello spring MVC 你好;}/***限定请求参数-接收参数请求* name:表示必须包含nameusername参数 http://localhost:8080/test02?nameusername*/RequestMapping(value /test02,params { nameusername})public String test02(){return Hello spring MVC 你好;}/*** 限定请求头-接收请求头请求* accept:表示必须包含请求头Accept* return*/RequestMapping(value /test03,headers {Accept})public String test03(){return Hello spring MVC test03;}/*** 请求内容类型-接收请求内容类型请求* application/json表示浏览器必须携带json格式数据。*/RequestMapping(value /test04,consumes {application/json})public String test04(){return Hello spring MVC test04;}/*** 响应内容类型* text/html;charsetUTF-8生产html页面* return*/RequestMapping(value /test05,produces {text/html;charsetUTF-8})public String test05(){return h1hello/h1;} } 请求处理 ~使用普通变量收集请求参数 ~使用RequestParam ~使用POJO统一封装多个参数 ~CookieValue获取Cookie数据 ~使用POJO级联封装复杂对象 ~使用RequestBody封装JSON对象 ~使用RequestPart/RequestParam封装文件对象 使用普通变量收集请求参数 /***请求参数-使用普通变量* 要求变量名和参数名保持一致*/RequestMapping(/handle01)public String handle01(String username, String password) {System.out.println(usernameusername,password:password);return success;} 使用RequestParam RequestParam():取出某个请求参数的值请求参数可以和变量名不一致。 /*** 默认一定要携带的参数否则报错* required false:可以不携带//默认为true* defaultValue:默认值,参数可以不带* 无论请求参数是来自请求体还是url?后面都可以取到请求参数* return*/RequestMapping(/handle02)public String handle02(RequestParam(username) String name,RequestParam(value password, defaultValue 123456)String pwd,RequestParam(phone)String phone,RequestParam(valueagreement,required false)boolean agree) {System.out.println(usernamename,password:pwd,cellphone:phone,agreement:agree);return success;} PathVariable-路径变量 /*** PathVariable路径变量标识-取路径id的值* param id* return*/RequestMapping(/handle/{id}) //{id}路径变量动态的public String handle08(PathVariable Integer id) {System.out.println(id:id);return success;} 使用POJO统一封装多个参数 /***请求参数-pojo统一封装参数* 自动把请求参数和pojo属性进行匹配* 效果pojo的所有属性值都来自请求参数* return*/RequestMapping(/handle03)public String handle03(Person person) {System.out.println(person);return success;} 使用POJO级联封装复杂对象 /***使用pojo级联封装复杂属性* 属性套属性对象套对象* 例如①address属性中有三个属性可以把address当成对象。* ②前端传过来的属性能选多个可以封装成数组。* Data* public class Person {* private String username;* private Address address;* private String[] hobby;* }* Data* class Address{* private String province;* private String city;* }* return*/RequestMapping(/handle06)public String handle05(Person person) {System.out.println(person);return success;} 使用RequestBody封装JSON对象 /*** 接受json数据* RequestBody 获取请求体的json数据自动转为person对象反序列化* 发出请求体是json字符串不是keyvalue* return*/RequestMapping(/handle07)public String handle06(RequestBody Person person) {System.out.println(person);return success;} 使用MultipartFile封装文件对象 /***例前端发送表单数据表单包含数据和头像图片和生活照图片* 接受文件上传* RequestParam取出文件项前端参数名称封装到MultipartFile就可以拿到文件内容* param person* return*/RequestMapping(/handle08)public String handle07(Person person, RequestParam(headerImage) MultipartFile headerImgFile,RequestParam(lifeImage) MultipartFile[] lifeImgFiles) throws IOException {//1、获取原始文件名String originalFilename headerImgFile.getOriginalFilename();//2、文件保存headerImgFile.transferTo(new File(E:\\img\\ originalFilename)); // 以上处理了头像下面处理多个生活照if (lifeImgFiles.length 0) {for (MultipartFile imgFile : lifeImgFiles) {imgFile.transferTo(new File(E:\\img\\ imgFile.getOriginalFilename()));}System.out.println(生活照保存结束);}System.out.println(person);//文件大小long size headerImgFile.getSize();//获取文件流InputStream inputStream headerImgFile.getInputStream();return success;} 响应处理 1.ResponseBody对象响应json等非页面数据 2.ResponseEntityB 响应头、响应体数据文件下载 RestController public class ResponseTestController {/*** 会自动返回的对象转为json* return*/RequestMapping(/resp01)public Person resp01() {Person person new Person();return person;}/*** 文件下载* HttpEntity拿到整个请求数据* ResponseEntity拿到整个响应数据响应头响应体状态码* 可以用作文件下载模板-只需要修改文件下载位置和文件名即可。* return*/RequestMapping(/download)public ResponseEntityInputStreamResource download() throws Exception {FileInputStream fileInputStream new FileInputStream(E:\\photo.png);// 一口气读会溢出 所以使用分段读- InputStreamResource // byte[] bytes fileInputStream.readAllBytes();// 文件名中文乱码-解决乱码问题String encode URLEncoder.encode(1.jpg, UTF-8); // 解决文件太大会内存溢出问题InputStreamResource resource new InputStreamResource(fileInputStream);return ResponseEntity.ok() // 内容类型流.contentType(MediaType.APPLICATION_OCTET_STREAM) // 内容大小.contentLength(fileInputStream.available()) // Content-Disposition内容处理方式.header(Content-Disposition,attachment;filenameencode).body(resource);} }日期处理 数据转换  反序列化前端提交的日期字符串——日期对象  序列化日期对象——日期字符串 默认的日期格式xxxx-xx-05T06:46:58.00000:00 解决方法使用JsonFormat注解json转对象对象转json JsonFormat(pattern yyyy-MM-dd HH:mm:ss,timezone GMT8)private Date birthday;
http://www.tj-hxxt.cn/news/135120.html

相关文章:

  • 网站被镜像怎么做wordpress footer.php添加qq悬浮
  • 网站如何做seo推广方案浙江省建设局教育网站
  • 企业网站优化17专做衬衫的网站
  • 如何做繁体字网站珠海网站设计多少钱
  • 大淘客网站建设网站制作建设有哪些
  • 网站地图怎样做专业生产车间设计图纸网站
  • 临城网站没有网站也可以做推广吗
  • 门户网站优化方案logo设计公司报价
  • wordpress 防注入关键seo排名点击软件
  • 昆明市西山区建设局网站银川做网站哪家公司好
  • 课程资源网站开发黄山网站设计公司
  • 温州网站建设和推广怎么做死循环网站
  • 手机网站关于我们汕头网页设计公司
  • 组建网站 多少钱怎么用flashfxp上传wordpress
  • 网站建设开发软件教程深圳微商城网站制作公司
  • 海宁最火高端网站设计推荐新媒体营销和传统营销的区别
  • 大安移动网站建设西安霸屏推广
  • 常见的网站空间主要有查询网站是否过期
  • 钦州市住房和城乡建设局网站app网站推广平台
  • seo经验是什么wordpress网站seo
  • 做网站需要什么服务器配置安徽工程建设信用平台
  • 湛江专业网站建设重庆住房建设工程信息网官网
  • 中小企业网站建设调研报告萧山中兴建设有限公司网站
  • 乐清网站制作公司哪家好wordpress怎么做图文数据库
  • 已有网站可以做服务器吗南山企业网站建设
  • 英语卷子哪个网站可以做dw做旅游网站毕业设计模板下载
  • 连平网站建设陈铭生杨昭
  • 苏州企业网站公司都有哪些wordpress 模板 外贸
  • 网站建设的目标客户分析网站备案单位查询系统
  • 有关小城镇建设的网站自己建设个小网站要什么手续