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

网站制作开发公司公众号小程序制作流程

网站制作开发公司,公众号小程序制作流程,中小企业网站开发,wordpress文件扫描目录 SpringMVC 定义 MVC定义 创建SpringMVC项目 SpringMVC掌握功能 一、连接功能 RequestMapping(请求映射) GetMapping 和 PostMapping 二、获取参数功能 传递单个参数/多个参数 注意点#xff1a; RequestParam(前后端参数映射) 前后端参数映射 RequestParam特…目录 SpringMVC 定义 MVC定义 创建SpringMVC项目 SpringMVC掌握功能 一、连接功能 RequestMapping(请求映射) GetMapping 和 PostMapping 二、获取参数功能 传递单个参数/多个参数 注意点 RequestParam(前后端参数映射) 前后端参数映射 RequestParam特性设置参数必传 RequestParam特性设置参数为非必传 传递对象  RequestBody 接收JSON对象 获取URL中参数PathVariable 上传文件RequestPart 获取Cookie/Session/header CookieValue RequestHeader SessionAttribute 三、返回数据功能 返回静态页面 请求重定向和请求转发 请求重定向与请求转发区别 请求转发 请求重定向 前后端交互 使用form表单传递参数 使用ajax传递参数给后端 SpringMVC 定义 SpringMVC是一个Web框架基于Servlet的API构建的。 MVC定义 MVC是Model、View和Controller的缩写分别代表着模型 、视图和控制器。 Controller控制器是应⽤程序中处理⽤户交互的部分。通常控制器负责从视图读取数据 控制⽤户输⼊并向模型发送数据。 Model模型是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库存取数据 View视图是应⽤程序中处理数据显示的部分。通常视图是依据模型数据创建的 创建SpringMVC项目 SpringMVC 项目是基于SpringBoot项目创建的基础创建的 创建SpringBoot项目时候勾选SpringWeb即可创建SpringMVC项目。 SpringMVC掌握功能 1、连接功能用户浏览器端与项目程序建立连接即输入一个URL能够访问到我们的程序代码结果 2、获取参数功能后台程序能够获取到用户输入的参数前端传递 3、输出数据功能后台程序接收到用户访问所输入的数据经过业务逻辑的处理后需要将处理的数据结果传递给前端返回给用户。 一、连接功能 连接功能需要建立路由映射实现用户与程序之间的连接这里就需要使用到注解有RequestMapping(请求映射) RequestMapping(请求映射) 此注解可以实现路由映射通过输入一个URL来访问我们的项目程序。 RequestMapping 的最小请求单元是方法 。 因此使用该注解必须要添加在方法上。同时该注解也可以加在类上即一级目录加在方法上为二级目录 也可以直接修饰方法。 通常用户在获取我们程序结果的时候还需要搭配2个注解来配合RequestMapping来使用这两个注解就是: ResponseBody (告诉程序返回的是数据而不是前端页面)  Controller (让框架启动的时候加载当前类只有加载的类才能被用户访问到) 这两个注解也可以使用一个组合注解RestController来代替 RestController ResponseBody Controller 示例代码如下 RequestMapping(/hello) // 一级路由目录 Controller // 让框架启动的时候加载当前类 ResponseBody //告诉程序返回的是数据而非页面 public class UrlSpringMVC {RequestMapping(/hi) // 二级路由目录public String func(){return 你好SpringMVC;} } GetMapping 和 PostMapping RequestMapping注解既可以支持Get请求也支持Post请求 默认情况下仅支持Get请求 如果需要指定只支持Get请求或者只支持Post请求可以修改RequestMapping中的方法进行定义仅支持Get请求或者仅支持Post请求。 修改方法如下 RequestMapping(value /hi ,method RequestMethod.GET) RequestMapping(value /he,method RequestMethod.POST) 方式二可以直接使用GetMapping  或者PostMapping 注意点GetMapping 和PostMapping 需要直接加载在方法上 GetMapping(/hi) PostMapping(/hi) 二、获取参数功能 传递单个参数/多个参数 用户从前端返回参数给后端后端接收用户输入的数据进行处理 RequestMapping(/hello) // 一级路由目录 Controller // 让框架加载的时候启动当前类 ResponseBody //告诉程序返回的是数据而非页面public class UrlSpringMVC {GetMapping(/hi)public String func(String name,String password){return 名字 name 密码 password;} } 注意点 1后端接收参数是按照参数名称进行匹配的与参数顺序没有关系 示例如下 2后端在接收前端返回参数时需要用包装类进行接收防止前端没有传参数导致后端没有接收到参数而发生程序异常 (重要的事情说三遍使用包装类传递参数、使用包装类传递参数、使用包装类传递参数) 示例代码如下 RequestMapping(/hello) // 一级路由目录 Controller // 让框架加载的时候启动当前类 ResponseBody //告诉程序返回的是数据而非页面public class UrlSpringMVC {GetMapping(/hi)public String func(int number){return 前端传入参数number;} } 情况一当前端正常返回参数后端使用基本数据类型接收传递的参数 情况二当前端没有传入参数时后端使用基本数据类型来接收传递参数此时导致后端没有收到参数而发生程序异常 解决方法后端接收参数使用包装类来接收参数防止前端没有传入参数 当前端没有传入参数时后端可以输出结果为null程序就不会发生异常了 修正代码运行 GetMapping(/hi)public String func(Integer number){ //使用包装类来接收传入参数return 前端传入参数number;} RequestParam(前后端参数映射) 前后端参数映射 有时候前段传递的参数key值与后端接收参数的key值不一样 就比如说前端传入两个数字key值使用的是number1、number2而后端接收数字的key值是number3和number4此时就会发生参数无法接收不到的情况了。 此时就需要使用注解RequestParam来进行前后端参数映射  RequestMapping(/m1)//前端传入参数key值是number1、number2后端接收参数key值是number3和number4//使用RequestParam 将number1映射成number3,将number2映射成number4public String test(RequestParam(number1) Integer number3,RequestParam(number2) Integer number4){return 后端接收参数number3为 number3 , number4: number4;}} RequestParam特性设置参数必传 查看源码可知RequestParam默认设置参数为必传如果前端没有传递参数时就会发生程序异常 RequestParam特性设置参数为非必传 在项目中我们传递的参数为非必要传递参数此时就需要对RequestParam 属性进行修改将required修改为false即可设置为参数为非必传 RequestMapping(/m1)public String test(RequestParam(valuenumber1,required false) Integer number3,RequestParam(value number2,required false) Integer number4){return 后端接收参数number3为 number3 , number4: number4;} 传递对象  定义对象代码 import lombok.Data;Data public class Student {private int id;private String name;private String password; } 后端返回参数代码 RequestMapping(/n1)public String people(Student student){return id号 student.getId() 姓名 student.getName() 密码 student.getPassword();} RequestBody 接收JSON对象 RequestBody可以用来接收前端传来的JSON对象用法与传递对象类似示例如下 注意RequestBody 必须要求是post映射 Data public class Student {private int id;private String name;private String password; }PostMapping(/n11) //RequestBody 必须要求是post映射public String method(RequestBody Student student){return student.toString();} 获取URL中参数PathVariable 使用PathVariable可以更加简洁的从URL获取参数 RequestMapping(/n2/{username}/{password})public String people1(PathVariable String username,PathVariable String password){return username : password ;} 其中{username}{password}为必须传递的参数否则访问出现404 上传文件RequestPart RequestMapping(/upFile)public String myupFile(RequestPart(file)MultipartFile file) throws IOException {//根目录String path F:\\upFile\\;//根目录 [唯一的文件名]path UUID.randomUUID().toString().replace(-,);// 根目录 [唯一的文件名] 【文件的后缀】 ex:.pngpath file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(.));file.transferTo(new File(path));return path;} 获取Cookie/Session/header CookieValue 获取cookie就需要使用到此注解CookieValue RequestMapping(/cookie)public String getMyCookie(CookieValue(cookies) String getCookie){return Cookie : getCookie;} RequestHeader 获取Header信息使用该注解 RequestMapping(header)public String getHead(RequestHeader(User-Agent) String userAgent) {return User-AgentuserAgent;} SessionAttribute 存储Session RequestMapping(/cunSession)public String setsess(HttpServletRequest request) {// 获取 HttpSession 对象参数设置为 true 表示如果没有 session 对象就创建⼀个 sessionHttpSession session request.getSession(true);if(session!null){session.setAttribute(username,SpringMVC); //SpringMVC为创建的Session}return session 存储成功;} 获取session 简洁方式直接使用SessionAttribute RequestMapping(/Session)public String getSession(SessionAttribute(value username ,required false) String userSession){return 获取Session: userSession;} 三、返回数据功能 返回静态页面 在第一个功能连接功能已经关于ResponseBody说明该注解的功能告诉程序返回的是数据而不是前端页面 使用ResponseBody返回的是一个数据而非前端页面如果不使用该注解则返回的是一个前端页面 创建test.html前端文件 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head body这是前端页面HTML !!! /body /html 使用ResponseBody效果 RequestMapping(/yemian)ResponseBody //告诉程序返回的是数据而非页面public String func(){return test.html;} 不使用ResponseBody效果 RequestMapping(/yemian)public String func(){return test.html;} 请求重定向和请求转发 请求重定向forward 请求转发redirect “转发”和“重定向”理解在中国官方发布的内容越少事也越大 “转发”和“重定向”也是⼀样字越少责任越大 。转发是服务器帮转的而重定向是让浏览器重新请求另⼀个地址。 请求重定向与请求转发区别 1、请求转发请求转发是客户端向服务器发送请求服务器来转发这个请求执行对象是服务器 2、请求重定向请求重定向是客户端向服务器发送请求服务器告诉客户端一个新的资源地址客户端再去完成执行对象是客户端 3、请求重定向与直接访问新地址效果⼀样不存在原来的外部资源不能访问请求转发服务器端转发有可能造成原外部资源不能访问。 请求转发 RequestMapping(/re)public String func1(){return redirect:test.html;} 请求转发是客户端让服务器转发地址地址不发生变化 请求重定向 RequestMapping(/fo)public String func2(){return forward:test.html;} 请求重定向是客户端重新发送新的地址地址发生了变化 前后端交互 使用form表单传递参数 示例实现计算器功能 前端代码 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title计算器/title /head bodyform actionhttp://localhost:8080/hello/jishuangh1计算器/h1数字1nbsp;nbsp;input namenum1 typetextbr数字2nbsp;nbsp;input namenum2 typetextbrinput typesubmit value 点击相加 /form/body /html 后端代码 RequestMapping(/jishuang)RestControllerpublic String func(Integer num1,Integer num2){if(num1 null || num2 null){return 数据不可为空请重新输入a hrefjavascript:history.go(-1);返回/a;}else{return h2计算结果为(num1num2)/h2a hrefjavascript:history.go(-1);返回/a;}}
http://www.w-s-a.com/news/83939/

相关文章:

  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全
  • 和田哪里有做网站的地方wordpress地址更改
  • 恒通建设集团有限公司网站企业网站百度指数多少算竞争大
  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码