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

移动应用网站开发宁波seo自然优化技术

移动应用网站开发,宁波seo自然优化技术,城阳区规划建设局网站,武汉 网站 备案一.什么是内容协商 简单点说,就是同一资源,可以有多种表现形式,比如xml、json等,具体使用哪种表现形式,是可以协商的。 这是RESTfull的一个重要特性,Spring Web MVC也支持这个功能。 1.Spring MVC REST是如何决定采用…

一.什么是内容协商

简单点说,就是同一资源,可以有多种表现形式,比如xml、json等,具体使用哪种表现形式,是可以协商的。

这是RESTfull的一个重要特性,Spring Web MVC也支持这个功能。

1.Spring MVC REST是如何决定采用何种方式(视图)来展示内容呢?

一:根据Http请求的header中的Accept属性的值来判读,比如:

Accept: application/xml                将返回xml格式数据 

Accept: application/json               将返回json格式数据

优点:是这种方式是理想的标准方式

缺点:是由于浏览器的差异,导致发送的Accept Header头可能会不一样,从而导致服务器不知要返回什么格式的数据

二:根据扩展名来判断,比如:

/mvc/test.xml  将返回xml格式数据 

/mvc/test.json 将返回json格式数据 

/mvc/test.html 将返回html格式数据 

缺点:丧失了同一URL的多种展现方式。在实际环境中使用还是较多的,因为这种方式更符合程序员的习惯

三:根据参数来判断

/mvc/test?format=xml        将返回xml数据 

/mvc/test?format=json       将返回json数据 

缺点:需要额外的传递format参数,URL变得冗余繁琐,缺少了REST的简洁风范

2.使用内容协商的功能,如果不使用第三种方式的话,3.2的版本可以什么都不用配置,默认就能支持前面两种。下面还是看看怎么配置,示例如下:

需要在spring的配置文件中做配置,示例如下:

<!--1、检查扩展名(如my.pdf);2、检查Parameter(如my?format=pdf);3、检查Accept Header-->  <bean id= "contentNegotiationManager" class= "org.springframework.web.accept.ContentNegotiationManagerFactoryBean">  <!-- 扩展名至mimeType的映射,即 /user.json => application/json -->  <property name= "favorPathExtension" value= "true" />  <!-- 用于开启 /userinfo/123?format=json 的支持 -->  <property name= "favorParameter" value= "true" />  <property name= "parameterName" value= "format"/>  <!-- 是否忽略Accept Header -->  <property name= "ignoreAcceptHeader" value= "false"/>  <!--扩展名到MIME的映射;favorPathExtension, favorParameter是true时起作用  -->  <property name= "mediaTypes">   <value>  json=application/json  xml=application/xml  html=text/html  </value>  </property>  <!--<property name="mediaTypes">-->  <!--<map>-->  <!--<entry key="xml" value="application/xml"/>-->  <!--<entry key="json" value="text/plain"/>-->  <!--<entry key="xls" value="application/vnd.ms-excel"/>-->  <!--</map>-->  <!--</property>-->   <!-- 默认的content type ,在没有扩展名和参数时即: "/user/1" 时的默认展现形式  -->  <property name= "defaultContentType" value= "text/html" />  </bean>  

 视图定义:

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">  <property name="order" value="0"/>  <property name="contentNegotiationManager" ref="contentNegotiationManager"/>  <property name="viewResolvers">  <list>  <!-- 这个类用于jsp视图解析 -->  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  <property name="prefix" value="/WEB-INF/page/"/>  <property name="suffix" value=".jsp"/>  </bean>  </list>  </property>  <property name="defaultViews">  <list>  <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">  </bean>  <!-- for application/xml -->  <bean class="org.springframework.web.servlet.view.xml.MarshallingView">  <property name="marshaller">  <bean class="org.springframework.oxm.castor.CastorMarshaller">  <property name="validating" value="false"></property>  </bean>  </property>  </bean>  </list>  </property>  </bean>  

 在mvc:annotation-driven里面配置使用内容协商 

<mvc:annotation-driven  conversion-service= "conversionService"  content-negotiation-manager= "contentNegotiationManager”/>  

http://www.mnyf.cn/news/47985.html

相关文章:

  • 网站首页的名字通常是网络软文是什么意思
  • 拍宣传片找什么公司宁波品牌网站推广优化
  • wordpress 网站静态百度一下 你就知道首页官网
  • 网站建设90g 吾爱破解抖音seo系统
  • 头像制作网站大连网络营销seo
  • 营销型网站制作步骤五个seo软件哪个好
  • 广东省建设工程网站北大青鸟职业技术学院简介
  • 网络培训的网站建设怎么去推广自己的公司
  • wordpress关闭百度seo网站
  • 电子政务建设与政府网站建设南阳本地网络推广优化公司
  • 3d动画制作软件免费网站seo主要是做什么的
  • 遵义企业做网站滕州网站建设优化
  • 深圳快速网站制网络营销内容
  • 注册完域名怎么做网站seo网站结构优化
  • wordpress 美丽说关键词营销优化
  • 大型网站建设网站推广2018十大网络营销案例
  • 网站建设怎么样做账拉新推广渠道
  • 网站前端切页面时间网站搜索引擎优化技术
  • ac86u做网站服务器如何在百度推广自己的产品
  • 3免费做网站免费建站模板
  • WordPress有哪些优秀主题台州seo网站排名优化
  • 如何做国际贸易网站百度推广的定义
  • 网站建设报销属于什么会计科目学做电商需要多少钱
  • wordpress 跨站北京网站优化步骤
  • 成都公司做网站阿里云域名注册网站
  • 做服装的一般去什么网站找图片百度一下你就知道首页
  • 个人演讲比赛ppt模板seo 优化 服务
  • 胶南做公司网站优惠活动推广文案
  • 时时彩网站代理怎么做?个人网站免费推广
  • 手机号网站源码网站关键词优化软件