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

湖北做网站多少钱自己服务器做网站主机

湖北做网站多少钱,自己服务器做网站主机,游戏开发app,如何做网站推广私人响应 在我们前面的代码例子中, 都已经设置了响应数据Http响应结果可以是数据, 也可以是静态页面, 也可以针对响应设置状态码, Header信息等. 返回静态页面 创建前端页面index.html(注意路径) html代码如下: !DOCTYPE html html langen hea…响应 在我们前面的代码例子中, 都已经设置了响应数据Http响应结果可以是数据, 也可以是静态页面, 也可以针对响应设置状态码, Header信息等. 返回静态页面 创建前端页面index.html(注意路径) html代码如下: !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyHello, Spring MVC,我是index页面. /body /html 后台代码如下: RestController public class IndexController {RequestMapping(/index)public Object index() {//返回index.htmlreturn /index.html;} }运行结果:  结果却发现, 页面未正确返回, http响应把/index.html当作http响应正文的数据. 那么Spring MVC如何才能识别出来index.html是一个静态页面, 并进行返回呢? 我们需要把RestController 改为 Controller.  正确代码如下:  Controller public class IndexController {RequestMapping(/index)public Object index() {//返回index.htmlreturn /index.html;} } 再次运行得到结果: 发现页面正确展示了. RestController和Controller的关系 我们之前讲过了MVC模式, 后端会返回视图, 这是早期时的概念 随着互联网的发展, 目前项目流行前后端分离模式 , Java主要是用来做后端项目的开发, 所以就不再处理前端相关内容了. MVC的概念也逐渐发生了变化, View不再返回视图, 而是返回显示视图时所需要的数据.  所以前面的RestController其实是返回的数据, 是作为一个复合注解. RestController Controller(默认返回视图) ResponseBody(返回数据). Controller:定义一个控制器, Spring框架启动时加载, 把这个对象交给Spring管理. ResponseBody: 定义返回的数据为非视图, 返回一个text/html信息. 它既可以修饰类, 又可以修饰方法. (修饰类时:表示当前类的所有方法, 全部返回数据, 和Controller可以合并为RestController; 修饰方法时, 表示当前方法返回数据). 如果想返回视图的话, 只需要把ResponseBody去掉就可以了, 也就是Controller. 返回数据ResponseBody 上面我们讲到, ResponseBody表示返回数据. Controller ResponseBody public class IndexController {RequestMapping(/index)public Object index() {//返回index.htmlreturn /index.html;} }加上ResponseBody注解, 该方法就会把/index.html当作一个数据返回给前端. ResponseBody既是类注解, 又是方法注解 如果作用在类上, 表示该类的所有方法, 返回的就是数据, 如果作用在方法上, 表示该方法返回的就是数据. 当你在一个类中既想让一些方法返回视图, 又想让一些方法返回数据, 那么就可以给类加Controller注解, 给想返回数据的方法加上ResponseBody注解, 返回视图的方法不处理即可.  同样, 如果类上有RestController注解时:表示所有方法上添加了ResponseBody注解, 也就是当前类下所有方法返回值作为响应数据. Controller public class IndexController {RequestMapping(/index)public Object index() {//返回index.htmlreturn /index.html;}RequestMapping(/returnData)ResponseBodypublic String returnData() {return 该方法返回数据;} } 多个注解时, 没有先后顺序, 先写哪个都可以.  如果给第二个方法去掉Responsebody, 程序就会报404错误. 因为程序会认为返回的应该是视图, 就会根据内容去查找文件, 但是文件查找不到, 路径不存在, 就报404.  返回HTML代码片段 后端返回数据的时候, 如果数据中有HTML代码, 也会被浏览器解析. RequestMapping(/returnHtml)ResponseBodypublic String returnHtml() {return h1hello HTML~/h1;} 运行结果: 通过Fiddler观察结果, Content-Type为 text/html. 响应中的Content-Type常见取值有以下几种: text/html:body数据格式是HTML text/css:body数据格式是CSS application/javascript:body数据格式是JavaScript application/json:body数据格式是JSON.  返回JSON Spring MVC也可以返回JSON 后端方法返回结果为对象. RequestMapping(/returnJson)ResponseBodypublic HashMapString, String returnJson() {HashMapString, String map new HashMap();map.put(Java, Java value);map.put(MySQL, MySQL value);map.put(Redis, Redis value);return map;} 运行结果: 通过Fiddler观察响应结果, Content-Type为application/json. 设置状态码 Spring MVC会根据我们方法的返回结果自动设置响应状态码, 程序员也可以手动指定状态码. 通过Spring MVC的内置对象HttpServletResponse提供的方法来进行设置. RequestMapping(/setStatus)ResponseBodypublic String setStatus(HttpServletResponse response) {response.setStatus(418);return 设置状态码成功;} 运行结果: 通过Fiddler观察设置的结果: 设置Header Http响应报头也会向客户端传递一些附加信息, 比如服务程序的名称, 请求的资源已移动到新地址等, 如:Content-Type, Local等. 这些信息通过RequestMapping注解的属性来实现. 先来看RequestMapping的源码: Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented Mapping Reflective({ControllerMappingReflectiveProcessor.class}) public interface RequestMapping {String name() default ;AliasFor(path)String[] value() default {};AliasFor(value)String[] path() default {};RequestMethod[] method() default {};String[] params() default {};String[] headers() default {};String[] consumes() default {};String[] produces() default {}; } 1.value:指定映射的URL. 2.method:指定请求的method类型, 如GET, POST等. 3.consumes:指定请求(request)的提交内容类型(Content-Type), 例:application/json, text/html; 4.produces:指定返回的内容类型, 仅当request请求头中的(Accept)类型中包含该指定类型才返回 5.Params: 指定request中必须包含某些参数值时, 才让该方法处理. 6.headers:指定request中必须包含某些指定的header值, 才能让该方法处理请求. 设置Content-Type 我们通过设置produces属性的值, 设置响应的报头Content-Type. RequestMapping(value /returnJson2, produces application/json)ResponseBodypublic String returnJson2() {return {\sucess\:true};} 运行结果: Fidder抓包结果: 如果不设置produces, 方法返回的结果为String时, Spring MVC默认返回类型, 是text/html.  设置其他Header 设置其它Header的话, 需使用Spring MVC内置对象HttpServletResponse提供的方法来进行设置.  RequestMapping(/setHeader)ResponseBodypublic String setHeader(HttpServletResponse response) {response.setHeader(MyHeader, MyHeaderValue);return 设置Header成功;} void setHeader(String name, String value)设置一个带有给定的名称和值的Header. 如果name已经存在, 则覆盖旧的值.  运行成功后查看Fidder抓包结果:
http://www.pierceye.com/news/324297/

相关文章:

  • 南昌市城市建设档案馆网站一个网站做无限关键词
  • wordpress特别卡 iis东莞推广优化公司
  • 做网站收入怎样开放平台登录
  • 外贸网站运营推广微信运营商
  • 国外做储物柜的网站做亚马逊网站一般发什么快递
  • 仿古建筑公司网站廊坊网站建设公司
  • 在线动画手机网站模板下载学软件开发需要什么基础
  • 北京的网站建设收费标准推广产品的方法和步骤
  • 北京市专业网站制作企业合肥做网络推广的公司
  • 网站建设php教程视频手机商城网站设计
  • 重庆网站建设公司哪个最好老家装设计网
  • 外贸网站建设产品crm公司
  • 网站做查赚钱网站建设捌金手指花总四
  • 有没有做链接的网站彩票型网站建设
  • 15年做哪个网站能致富网站界面设计的相关指南
  • 网站报价功能清单德州做网站最好的公司
  • 网站开发设计图片搭建论坛需要多少钱
  • 网站建设价格明细做一套二级域名网站怎么做
  • 网站建设 发展方向手机开发人员选项怎么打开
  • 深圳网站建设深圳网络邢台市政建设集团股份有限公司网站
  • 广东网站开发搭建旅游网站开发内容
  • 恭城网站建设中象做网站怎么样
  • 泰兴网站建设开发门户网站内容建设岗位职责
  • 单页网站有后台搜索引擎优化工具有哪些
  • 视频网站弹幕怎么做中小企业网站优化
  • 南充网站建设江宁外贸网站建设
  • 从事网站开发需要的证书泰安百度推广代理
  • 找工作哪个网站好2022查询网站备案显示划横线
  • 06627网页制作和网站建设如何制作自己的公司内部网站
  • 网站营销与推广方案百度大数据分析