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

长春 网站建设网络推广网页设计成都百度网站制作

长春 网站建设网络推广网页设计,成都百度网站制作,韩都衣舍网站建设的改进,如何查网站注册信息1.什么是springMVC MVC就是把一个项目分成了三部分#xff1a; MVC是一种思想。Spring进行了实现,称为Spring MVC。SpringBoot是创建SpringMVC项目的一种方式而已。springMVC对于MVC做出了一些改变#xff1a; 当前阶段,MVC的概念又发生了一些变化,后端开发人员不涉及前端页…1.什么是springMVC MVC就是把一个项目分成了三部分 MVC是一种思想。Spring进行了实现,称为Spring MVC。SpringBoot是创建SpringMVC项目的一种方式而已。springMVC对于MVC做出了一些改变 当前阶段,MVC的概念又发生了一些变化,后端开发人员不涉及前端页面的开发,所以也就没有view层。所以view又有了一层解释之前返回的是视图,现在返回的是视图所需要的数据。SpringWebMVC是⼀个Web框架 2. springMVC请求 2.1RequestMapping 路由映射 可以修饰类也可以修饰方法访问路径是类路径方法路径 RestController RequestMapping(/say/springboot) public class HelloController {RequestMapping(/hi)public String sayHi(){return springboot,hi;} }RequestMapping 支持get,post等请求访问路径可以写多层注意/可以省略建议企业开发的时候统一加上前加后不加。 也可以指定请求传参 RequestMapping(value /hello,method RequestMethod.POST)//只支持POST请求 public String sayHello(){return springboot,hello; } RequestMapping(value /hello,method RequestMethod.GET)//只支持GET请求 public String sayHello(){return springboot,hello; }2.2 传递单个参数 RestController RequestMapping(/param) public class ParamController {RequestMapping(/m1)public String m1(Integer num){return 接收到的参数num: num;} }开发中,建议加上类路径 避免重复方便查找代码 发送的请求http://localhost:8080/param/m1?num10 发送请求的参数需要名称一样。底层逻辑:从请求的参数中,获取参数名为num的值,并给num赋值 需要注意的是建议不要使用基本数据类型要使用包装类如果使用基本数据类型参数不传递就会报错 RequestMapping(/m2) public String m2(int num){return 接收到的参数num: num; }使用包装类就是获取的数值为null不会报错。开开发的时候建议使用包装类 2.3 传递多个参数 RequestMapping(/m3) public String m3(String username,String password){return 接收到的参数username: username password: password; }发送的请求http://localhost:8080/param/m3?username“张三”password“123456” 参数的顺序可以调换。 2.4 后端参数重命名 使用RequestMapping注解来进行重命名。如果进行了重命名,就必须要使用RequestParam注解里的名字 RequestMapping(/m4) public String m4(RequestParam(name) String username, String password){return 接收到的参数username: username password: password; }发送的请求http://localhost:8080/param/m4?name“张三”password“123456” 使用RequestMapping注解后默认是比传参数可以改为非必传参数 RequestMapping(/m4) public String m4(RequestParam(value name,required false) String username, String password){return 接收到的参数username: username password: password; }2.5 传递对象 创建一个User对象 Data public class User {Integer id;String username;String password; }参数设置为对象 RequestMapping(/m5) public String m5(User user){return 接收到的user参数 user.toString(); }开发中,接口的参数通常定义为对象。需要注意的是基本数据类型比如int,不传递参数的时候不会报错会赋初始值int类型则为0。 2.6 传递数组 RequestMapping(/m6) public String m6(String[] paramArray){return 接收到的paramArray参数 Arrays.toString(paramArray); }参数传递数组的方式 http://localhost:8080/param/m6?paramArrayzhangsan,lisi,wangwu,zhaoliu http://localhost:8080/param/m6?paramArrayzhangsanparamArraylisiparamArraywangwuparamArrayzhaoliu 2.7 传递集合 传递集合需要使用RequestParam注解说明以集合的方式来接收。这个注解也可以进行参数重命名 RequestMapping(/m7) public String m7(RequestParam ListString paramList){return 接收到的paramList参数 paramList; }参数传递的方式和数组一样 http://localhost:8080/param/m7?paramListzhangsan,lisi,wangwu,zhaoliu 2.8 传递JSON springmvc中使用RequestBody注解来使Json转化为对象就算Json数据中只有一个键值对也是转化成对象后面添加进行修改的时候可以对后端的对象进行添加字段符合了开闭原则。 可以使用postman来进行发送数据 传递JSON使用对象来接收 RequestMapping(/m8) public String m8(RequestBody User user){return 传递的Json数据 user; }传递JSON使用Map来接收 RequestMapping(/m8) public String m8(RequestBody MapString,String map){return 传递的Json数据 map; }2.9 获取URL中的参数 如果URL是http://localhost:8080/param/m9/10。我们用之前的方法就没有办法获取参数10 。 要想解决上面的问题我们得用PathVariable注解 RequestMapping(/m9/{userId}) public String m9(PathVariable String userId){return URL参数userid: userId; }可以传递多个参数但是注意顺序和个数必须和后端是对应的。请求格式必须和后端定义的URL格式匹配。 http://localhost:8080/param/m9/10/zhangsan RequestMapping(/m9/{userId}/{username}) public String m9(PathVariable String userId, PathVariable String username){return URL参数userid: userId username: username; }还可以对参数重命名 RequestMapping(/m9/{userId}/{name}) public String m9(PathVariable String userId, PathVariable(name) String username){return URL参数userid: userId username: username; }2.10 上传文件 用postman发送文件 上传文件后端使用的是RequestPart注解 RequestMapping(/m10) public String m10(RequestPart MultipartFile file){System.out.println(file.getOriginalFilename());return success; }2.11 获取cookie/session 网页模拟发送cookie springMVC获取cookie我们有传统的servlet方式这种方式可以获取全部cookie。 RequestMapping(/getCookie) public String getCookie(HttpServletRequest req){Cookie[] cookies req.getCookies();if (cookies ! null){Arrays.stream(cookies).forEach(cookie - {System.out.println(cookie.getName() : cookie.getValue());});}return 获取cookies成功; }使用注解的方式获取只能获取指定的cookie. RequestMapping(/getCookie2) public String getCookie2(CookieValue(value name,required false) String name){return name : name; }springMVC获取session也有传统放入获取方式和注解的获取方式。但是在获取session之前先存储session RequestMapping(/setSession) public String setSession(HttpServletRequest req){HttpSession session req.getSession();session.setAttribute(username,zhangsan);return 成功存储session ; }用传统的方式去获取session RequestMapping(/getSession) public String getSession(HttpServletRequest req){HttpSession session req.getSession(false);if (session ! null){String username (String) session.getAttribute(username);return 登录用户的名称 username;}return 未获取session ; }使用注解获取session RequestMapping(/getSession2) public String getSession2(SessionAttribute String username){return username: username ; }参数直接设施为HttpSession。 RequestMapping(/getSession3) public String getSession3(HttpSession session){//等价于HttpSession session req.getSession(true);return username: session.getAttribute(username); }2.12 获取Header 我们以获取Header中的User-Agent字段为例 使用传统方式 RequestMapping(/getHeader) public String getHeader(HttpServletRequest request){return User-Agent: request.getHeader(User-Agent); }使用注解 RequestMapping(/getHeader2) public String getHeader2(RequestHeader(User-Agent) String userAgent){return User-Agent: userAgent; }3. spring MVC 响应 3.1 返回静态页面 编写一个index.html页面 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyh1Spring MVC 返回的静态页面/h1 /body /html用Controller注解而不是用RestController注解是因为Controller返回的就是试图随着前后端分离,后端不处理页面,就返回页面所需要的数据使用ResponseBody。RestController注解 ResponseBody Controller Controller public class ReturnController {RequestMapping(/returnIndex)public String returnIndex(){return /index.html;} }3.2 返回数据 返回数据使用的注解是ResponseBody。 可以修饰类,也可以修饰方法 修饰类的时候,表示这个类下的所有方法,返回的均为数据修饰方法时,表示该方法返回的是数据如果一个类中的所以方法返回的都是数据,我们就把这个注解加在类上 ResponseBody RequestMapping(/returnData) public String returnData(){return 返回视图所需要的数据; }3.3 返回HTML代码片段 返回HTML片段使用ResponseBody注解就行了会自动解析成HTML片段如果想要返回正常的字符串就需要给字符串中关于HTML标签部分加转义字符。 ResponseBody RequestMapping(/returnHtml) public String returnHtml(){return h1返回的html片段/h1; }3.4 返回JSON 使用ResponseBody注解返回的时候直接返回对象或者Map数据类型返回的就是Json数据格式。 ResponseBody RequestMapping(/returnJson) public User returnJson(){User user new User();user.setId(1);user.setUsername(zhangsan);user.setPassword(123456);return user; }使用Map数据类型 ResponseBody RequestMapping(/returnMap) public MapString,String returnMap(){MapString,String map new HashMap();map.put(id,1);map.put(name,lisi);map.put(gender,男);return map; }3.5 设置状态码 设置状态码不影响数据展示。 ResponseBody RequestMapping(/setStatus) public String setStatus(HttpServletResponse response){response.setStatus(401);return 设置状态码成功; }3.6 设置Header(了解) 使用注解中的produces设置Content-Type字段。 produces:设置返回的内容类型仅当request请求头中的(Accept)类型中包含该指定类型才返回 ResponseBody //使用注解中的produces设置Content-Type字段 RequestMapping(value /setHeader,produces application/json;charsetutf-8) public String setHeader(HttpServletResponse response){response.setHeader(test111,test111);//设施header其他字段return {ok:1}; }
http://www.hkea.cn/news/14283735/

相关文章:

  • 楚雄建网站朔州做网站公司
  • 钟山县住房和城乡建设局网站众筹网站建设应该具备哪些资质
  • 建立自己的网站怎么样做建好网站后最怎么维护
  • 如何知道网站是用什么语言做的基于phpt漫画网站开发
  • 克拉玛依做网站个人网站免费搭建
  • 怎么在新建网站上做分享代码用flash做网站超链接
  • 网站建设与管理专业学什么虚拟产品货源渠道
  • 好网站建设公司哪家好php mysql做网站
  • 重庆铜梁网站建设德语网站建设
  • 网站建站时间wordpress 插件 调用
  • 湖北优化网站建设手表商城网站建设方案
  • 哪个网站域名解析网站建设如何上传图片
  • 网站如何做超级链接wordpress divi主题
  • 一个域名可以做中英文两个网站吗网站开发语言啥意思
  • 电子商务网站体系结构有哪些世界杯 网站模板
  • 国外有什么优秀的网站推荐响应式布局页面
  • 用wordpress仿一个网站模板绵阳免费网站建设
  • 原阳县建站塔山双喜找人做网站安全吗
  • 亚马逊品牌注册网站建设wordpress995
  • 周宁县建设局网站网站开发与app开发原理
  • 上海比较大的外贸公司有哪些关键词搜索优化
  • 开发网站需要租服务器盐城建设企业网站
  • 网站推广的平台网站关键词优化费用
  • 灌南县城乡建设局网站做民宿哪个网站好
  • wordpress excel搜索南昌seo网站建设
  • 重庆城乡建设局网站苏州网站建设数据网络
  • 唐山网站开发公司网页开发
  • 北京城乡建设网站导航网站织梦模板
  • 跨境电商网站建设成本网站建设销售工资多少
  • 苏州网站制作计划重庆装修公司避坑指南