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

运城 网站 建设 招聘wordpress 主要

运城 网站 建设 招聘,wordpress 主要,秦皇岛网站制作定制,重庆公司团建推荐Web项目:基于HTTP协议#xff0c;当一个用户从浏览器上面输入URL地址之后#xff0c;URL能够和我们的程序映射起来#xff0c;可以让用户的请求触达到后端程序里面#xff0c;并且根据程序的处理#xff0c;把结果返回浏览器#xff1b; Spring MVC要进行学习的内容: 1)连… Web项目:基于HTTP协议当一个用户从浏览器上面输入URL地址之后URL能够和我们的程序映射起来可以让用户的请求触达到后端程序里面并且根据程序的处理把结果返回浏览器 Spring MVC要进行学习的内容: 1)连接的功能:将用户浏览器和Java程序进行连接起来也就是说访问一个url地址可以调用到我们的Spring程序能够匹配到相应的方法实现用户到程序的映射 2)获取参数:用户访问的时候会带一些参数要想办法在程序中获取到这些参数表单文件Header里面的参数服务器端要获取到用户的请求参数 3)输出数据的功能:执行了业务逻辑之后服务器端要把程序执行的结果返回给用户前端 Spring框架是一个大的体系SpringWebMVC只是Spring体系中的一个WEB模块之前在去学习Spring的时候是没有通过浏览器来访问我们的Spring程序的而是通过Application中的main方法去执行Spring框架的因为之前创建的是一个SpringCore项目不是一个SpringWEBMVC项目就不可以通过浏览器访问 SpringWebMVC Spring和SpringMVC诞生的历史比较久远在他们之后才有SpringBoot 1)SpringMVC框架是基于ServletAPI和MVC设计思想构建的原始Web框架但是从一开始就包含在Spring框架里面Spring框架是一个大的体系Spring MVC只是属于Spring这个体系的Web框架模块SpringMVC其实就是Spring中的一个模块主要处理Web开发的路径映射和视图渲染属于Spring框架中Web层开发的一部分 2)SpringBoot脚手架是为了快速开发Spring框架而诞生的一种框架一种技术就是为了让大家用Spring用的比较爽的一个框架就是一个壳核心还是开发SpringSpringBoot是spring提供的一个快速开发工具包让程序员能更方便、更快速的开发spring和springmvc应用简化了配置约定了默认配置是最后诞生的出生比较晚有单独创建框架的一种模式 3)我们既可以根据Spring创建一个Spring Core项目也是可以根据Spring创建一个Spring Web项目 4)他的全称为Spring Web MVC是基于Servlet API构建的原始Web框架但是他一开始就包含在Spring框架里面是SpringBoot的一个WEB模块Spring MVC是一个Web框架Spring MVC是基于Servlet API进行实现的MVC和SpringMVC的关系就类似于IOC和DI的关系 5)我们在进行创建SpringBoot项目的时候我们进行勾选的Spring Web选项其实就是Spring MVC框架我们可以看到从pom.xml里面就可以看到spring-boot-starter-web 我们加上Spring Boot DevTools是为了可以完成热部署的 1)SpringMVC是一个基于MVC设计模式思想和ServletAPI接口实现的一个web框架同时SpringMVC又是Spring框架中的一个web模块是随着Spring的诞生而存在的一个Web框架 2)现在市面上面的绝大多数Spring项目都是基于SpringBoot通过自己创建的main方法启动一个Spring框架或者是SpringCore项目而Spring的核心就是SpringMVC所以说SpringMVC的项目是基于SpringBoot来进行更简便的开发的我们基于Spring Boot框架添加一个Spring Web依赖此时的项目就变成了Spring MVC项目 3)MVC架构分层的主要作用是解耦采用分层架构的好处普遍接受的是系统分层有利于系统的维护系统的扩展就是增强系统的可维护性和可扩展性 MVC通常是Model View Controller它是软件工程中的一种常见的设计模式他把软件项目分为模型视图和控制器三个部分 1)控制器(Controller):通常是应用程序中用来处理用户交互的部分并向数据模型层发送数据类似于保安验证用户合法性和用户传递参数合法性因为模型层把结果数据传输给Controller层之后Controller层是不可以直接把从数据库查询出的数据传输给用户的因为浏览器看不懂要把数据传输给服务器端的视图层 2)模型(Model):是应用程序中用于处理应用程序数据逻辑的部分通常模型对象负责在数据库中存储数据和拉取数据调用数据库 3)视图(View):是应用程序中用于处理数据显示的部分当Controller把数据传送到视图层的时候这里面是服务器端的视图会将数据和服务器端的模板叫做显示层主要是显示数据把浏览器能够解析的html返回给客户端 服务器端的模板:模板引擎和JSP 4)Controller在收到模型层处理完的用户数据之后会直接将数据发送给视图层咱们的视图层会将数据和服务器端的模板(JSP摸板引擎HTML)结合会将数据加上服务器端的模板就比如说v-for循环渲染之后再把最终整合成的标签比如说三个h1返回给客户端的视图客户端的视图在进行拼接v-for分解之后和渲染然后展示在浏览器上面这样就可以保证用户拿到看到的数据是经过服务器端执行和渲染之后的一个结果了 视图分为两种:一种是服务器端的视图(v-for)一种是客户端的视图(浏览器直接解析) 1)MVC是一种思想Spring MVC是一个专门的技术实现手段框架和是对MVC思想的实现是一种MVC模式并继承了Servlet API的WEB框架既然是WEB框架那么用户在浏览器上面输入了url之后我们的SpringMVC框架就可以进行感知用户的请求; 在application.properties写上这段代码:debugtrue 2)路由映射:就是当用户访问一个url的时候将用户的某个请求对应到程序中的某个类的某个方法的过程中就叫做路由映射 3)现在绝大多数的项目都是基于Spring项目的而Spring的核心就是SpringMVC也就是说SpringMVC框架是Spring框架的核心模块而SpringBoot又是Spring的脚手架因此现在市面上面的JAVA项目就等同于SpringMVC项目 4)SpringMVC项目可以是基于SpringBoot创建也就是创建一个SpringBoot项目勾选上SpringWEB项目这时就从一个普通的SpringBoot项目变成了WEB项目就是类似于maven项目变成了Servlet项目 5)SpringMVC项目创建:基于SpringBoot框架加上一个SpringWEB也就是SpringMVC依赖此时项目就变成了SpringMVC项目 一)实现程序到用户之间的映射:  输入一个127.0.0.1:8080/Java200就可以访问这个页面 我们在Main目录下的resorces的static里面创建了一个html文件下面我们来改一下后端代码: 在浏览器上面输入:http://localhost:8080/java200这个地址就可以访问到Text.html这个页面了 1)RequestMappering的作用就是用来注册一个URL路由通过这个路由就可以进行实现前端的请求和后端程序的交互了但是RequestMappering这个注解实际可以修饰方法也是可以修饰类的RequestMapping和ResponseBody注解既是可以修饰类也是可以修饰方法的  2)我们在默认情况下使用RequestMappering会返回一个html静态界面但是加上 RsponseBody就会返回一个非页面的数据了而不是返回的是一个页面地址 3)当我们使用RequestBody来进行修饰一个类的时候这就表示当前类中的所有方法会返回一个非页面的数据 4)同样我们还可以进行指定发送请求的类型: RequestMappping的参数扩展只是支持某种类型的请求方式比如说POST类型的请求方式 RequestMapping(value/Java200,method RequestMethod.GET) 如果说我们在Postman上面发送了一个POST请求,就会出现405的报错信息 Controller public class UserController {RequestMapping(value/Java,methodRequestMethod.GET)ResponseBodypublic String start(String name){return name要你管;} } 5)RequestMappering在不进行指定任何参数的情况下只进行设置路由地址那么此方法是即支持GET请求又是支持POST请求的但是当我们给RequestMapping设置了Method属性之后那么它只能支持设置的请求类型其他类型时会报错的(405) 6)我们可以通过更详细的注解比如说GetMapping(指定路由地址)和PostMapping(指定路由地址)来进行决定访问那一个方法 为什么RequestMapping默认情况下会返回一个静态页面呢 这还是历史的原因因为SpringMVC是和Spring一起创建起来的Spring2002年创建的20年前开发是前后端部分里的时间段JAVA程序员既要写后端代码也要写前端的一个页面模板引擎用的非常多返回的一定是静态页面但是在今天格局已经变了我们是可以返回一个数据了ResponseBody返回的是一个非静态页面的数据了 1)RequestMapping:支持任意一种请求类型(get/post)既能修饰方法又是可以修饰类的 2)GetMapping:只是支持get方式的请求(不能修饰类) 3)PostMapping:只是支持post方式的请求(不能修饰类) 下面的这两种方法只能修饰方法是不可以进行修饰类的 1)SpringBoot热加载进行配置每一次修改Idea代码的时候不需要进行重启运行每一次我进行修改源代码的时候都会实时编译.class文件会自动重启SpringBoot项目: 2)可能我们修改JAVA代码的时候可能不能实时的生成target目录热部署会自动的获取到修改代码事件然后热部署会自动的重启程序我们需要做的事情只是需要等一会还要添加框架支持新项目直接勾选老项目直接generate 3)IDEA热部署也就是热加载:会自动的帮助开发者重启IEAD重启SpringBoot项目为了达到修改代码之后能够实时的看到新效果的目的;   1)在SpringBoot项目的POM.XML里面引入Spring dev-Tools框架引入框架检测当前项目有没有修改原代码 2)在Setting里面开启项目自动编译众所周知咱们的Idea是由两个Settings一个就是叫做Settings一个就是叫做new ProjectSettings一个是针对当前项目一个是针对以后new出来的新项目 打开settings点击Bulid里面的Compiler进行选中 3)点击选择按钮:Build project automatically选中项目自动编译开启项目自动编译   开启程序运行的热部署: 4)点击全局搜索按两下shift就可以了然后在搜索框里面进行搜索reg得到选项Registry然后进行双击下面这个东西就可以了 compiler.automake.allow.when.app.running   有一个value属性进行选中 5)点击程序运行debug按钮就可以开启热部署注意一定不要点击Restore Defaults这是默认恢复原来的默认选项我们在这里直接就进行点击close就可以了 获取用户传递过来的参数 1)传递单个参数我们在SpingMVC里面可以直接通过方法中的参数来实现传参 1)我们通过前端传递的querystring参数Key必须要和后端的方法里面的参数保持一致否则是不能正常地进行获取到参数的 2)我们要尽量使用包装类来进行接收前端传递过来的参数包装类因为是可以接受null值的如果使用普通数据类型(int)前端没有传递这个id参数那么后端接收id不到参数就说明程序会出错程序会报一个500的错误异常但是使用包装类就可以解决这个问题Integer直接接受为空这样可以更好地定位问题 3)上面地址的URL是可以进行调换位置的表单传参和直接输入url是一样的 4)当有多个参数的时候前后端进行参数匹配的时候是以参数的名称进行匹配的因此参数的位置是不会影响到后端获取参数的结果 5)但是如果说我们前端传递过来的参数实在是太多了难道我要在方法里面写成百上千个参数吗这显然是很不现实的工作量极大效率极低修改成本也是特别高的所以我们要使用对象的方式来进行接收美观性和可维护性都是特别差的但是我们使用一个类来接收这是如果URL参数变化了我们只需要修改类中的属性就可以了SpringBoot不光会自动给你设置返回的字符编码接收参数爷会根据参数来匹配如果你接受的是一个对象那么会将URl中的queryString中的值自动填充到对象里面就是按照属性名和前端传递名字相等的进行赋值 6)下面的路由要变成小写 7)SpringBoot或者是SpringMVC项目会自动根据你返回的数据来决定你返回的类型是什么以及字符编码格式ContentType和ContentEncoding是由我们的框架设置的 2)根据对象来进行接收 1)我们在浏览器上面输入一个这样的地址: localhost:8080/Java100/GetUser?username%E6%9D%8E%E4%BD%B3%E4%BC%9Fpassword12503487ClassID1UserID9 此时返回的就是一个JSON的数据(会自动设置ContentType) 会自动的给对象的属性填充数据,会自动的检查返回的数据 2)设置返回的对象的类一定要加上Getter和Setter方法   1.我们先进行创建一个User类,来进行接收前端的参数 注意这里面的User类一定要写上Getter和Setter方法: Setter Getter public class User {public String username;public String password;public int ClassID;public int UserID; } 2.我们再写出UserController里面的代码: Controller RequestMapping(/Java100) ResponseBody public class UserController {RequestMapping(/GetUser)public User start(User user){return user;} } 注意:接受方法的参数一定要和前端传递的参数名字保持一致否则就获取不到参数的值了 后端参数重命名: 1)在某一些情况下前端传递过来的参数Key和我们后端接收过来的Key是不一致的比如说前端传递了一个time给后端而后端有时使用createtime字段来进行接收的这样就会出现参数接收不到的情况如果出现了这种情况我们就可以使用RequestParam来进行重命名前后端的参数值 2)但是如果说进行全部替换的方式有很麻烦因为这里面的后端参数createtime的参数太多了 Controller ResponseBody public class UserController {RequestMapping(/Java100)public Object start(RequestParam(name) String username)//接受前端的对象{return nameusername;} 我们可以直接进行访问:http://localhost:8080/Java100?name128.1 1)出现这种情况是很少的:RequestParam(time)这个注解的作用就是把前端为time的key赋值给后端的createtime变量 2)除此之外它既可以进行重命名请求又能保证此参数是必传参数如果说你使用了这个注解之后RequestParam注解之后我们在这里填的参数必须是必填的required属性默认是true如果前端没有传这个参数程序就会出现报错 Controller ResponseBody public class UserController {RequestMapping(/Java100)public Object start(RequestParam(valuename,required false) String username)//接受前端的对象{return nameusername;} }3)RequestParam中的参数requiredfalse这就表示当前的参数非必传参数如果我们不进行设置此属性那么它的默认值是true就表示此参数是必传项属性在对象里面就不可以实现重命名了后端在数据库里面(MYBATIS)-----也可以实现重命名 RequestParam的注意事项: 如果说我们在参数中添加RequestParam注解那么前端一定要传递此参数否则就会报错如果说想要解决这个问题那么就需要在RequestParam里面添加requiredfalse
http://www.dnsts.com.cn/news/150038.html

相关文章:

  • dede旅游网站源码 多城市凡科做网站需要备案吗
  • 网站设计 书籍一级做a爱免费网站
  • 用wordpress建站网页设计与制作教程西北工业大学出版社
  • 网站开发行业信息网做文化传播公司网站
  • 惠州网站建设企业上海网络优化seo
  • 网站ipc备案2024年的新闻
  • 山东建设厅网站网址科技局网站查新怎么做
  • 铭做网站建设赣州做网站建设
  • 怎么自己建立网站及建立网站方法山西网络推广哪家专业
  • 网站开发新闻上海营销型网站报价
  • 怎样建立自己的网站卖东西工业设计厂家
  • 房山网站建设优化seo深圳o2o网站建设
  • 个人如何建立公司网站云开发小程序源码
  • 北京网站建设排名浩森宇特做网站上是外部连接怎么改
  • 速冻蔬菜做哪个国际网站好做川菜的网站
  • 服装图案素材网站wordpress根目录修改主题
  • 网站vip怎么做wordpress安装主题链接路径
  • 建设系统网站首页郑州做响应式网站
  • 门户网站注意事项百度网站建立
  • 黄石港区建设局网站驾校视频网站模板
  • 在ai中做网站图片怎么设置泉塘芒果国际影城
  • 搭建公司网站的作用wordpress comment_status
  • 做网站百度一下wordpress手机适配模板中文
  • 中国建设银行网站企业自己做的影视会员网站违法么
  • 湖北建科建设工程有限公司网站网站开发人员要求
  • 公司建立网站青岛电话百度网站推广咨询
  • 赣州门户网站上海做网站价格
  • 宠物网站设计模块超值的扬中网站建设
  • 活动 网站 源码天机seo
  • 扫码进入网站如何做辽宁省建设机械协会官方网站