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

想建立一个网站怎么做网站优化指标

想建立一个网站怎么做,网站优化指标,网站备案域名需要解析到备案服务器吗,上海 网站建在这篇文章中#xff0c;我想对Spring MVC进行一些深入的探讨#xff0c;以揭示将请求转换为参数对象后在幕后发生的情况#xff0c;反之亦然。 在开始之前#xff0c;我想解释这些注释的目的。 RequestBody和ResponseBody是做什么用的#xff1f; 它们是spring mvc框架的… 在这篇文章中我想对Spring MVC进行一些深入的探讨以揭示将请求转换为参数对象后在幕后发生的情况反之亦然。 在开始之前我想解释这些注释的目的。 RequestBody和ResponseBody是做什么用的 它们是spring mvc框架的注释可用于控制器中以实现智能对象序列化和反序列化。 通过提取消息转换的逻辑并将其作为一个方面它们可帮助您避免样板代码。 除此之外它们还帮助您为单个REST资源支持多种格式而无需重复代码。 如果您使用ResponseBody注释方法spring将尝试转换其返回值并将其自动写入http响应。 如果使用RequestBody注释方法参数spring会尝试将传入请求主体的内容即时转换为参数对象。 这是一个例子 Controller RequestMapping(value /bookcase) public class BookCaseController {private BookCase bookCase;RequestMapping(method RequestMethod.GET)ResponseBodypublic BookCase getBookCase() {return this.bookCase;}RequestMapping(method RequestMethod.PUT)ResponseStatus(HttpStatus.NO_CONTENT)public void setBookCase(RequestBody BookCase bookCase) {this.bookCase bookCase;}}那么当我们使用这些注释时Spring在后台做了什么 根据您的配置spring在后台注册了HttpMessageConverters列表。 HttpMessageConverters的职责是根据预定义的mime类型将请求正文转换为特定类然后再次转换为响应正文。 每当发出的请求命中RequestBody或ResponseBody批注时spring都会循环遍历所有已注册的HttpMessageConverters以寻找适合给定mime类型和类的第一个然后将其用于实际转换。 如何添加自定义HttpMessageConverter 通过分别添加EnableWebMvc mvcannotation-driven /spring为JSON / XML注册了一堆预定义的消息转换器等等。 您可以添加如下的自定义转换器 Configuration EnableWebMvc ComponentScan public class WebConfiguration extends WebMvcConfigurerAdapter {Overridepublic void configureMessageConverters(ListHttpMessageConverter? httpMessageConverters) {httpMessageConverters.add(new BookCaseMessageConverter(new MediaType(text, csv)));} } 在此示例中我编写了一个转换器用于处理BookCase的转换而BookCase基本上是一本Books List。 转换器能够将csv内容转换为BookCase反之亦然。 我使用opencsv解析文本。 这是模型 public class Book {private String isbn;private String title;public Book(String isbn, String title) {this.isbn isbn;this.title title;}// ... }public class BookCase extends ArrayListBook {public BookCase() {}public BookCase(Collection? extends Book c) {super(c);} } 和实际的转换器 public class BookCaseMessageConverter extends AbstractHttpMessageConverterBookCase {public BookCaseMessageConverter() {}public BookCaseMessageConverter(MediaType supportedMediaType) {super(supportedMediaType);}public BookCaseMessageConverter(MediaType... supportedMediaTypes) {super(supportedMediaTypes);}Overrideprotected boolean supports(Class? clazz) {return BookCase.class.equals(clazz);}Overrideprotected BookCase readInternal(Class? extends BookCase clazz, HttpInputMessage httpInputMessage) throws IOException, HttpMessageNotReadableException {CSVReader reader new CSVReader(new InputStreamReader(httpInputMessage.getBody()));ListString[] rows reader.readAll();BookCase bookCase new BookCase();for (String[] row : rows) {bookCase.add(new Book(row[0], row[1]));}return bookCase;}Overrideprotected void writeInternal(BookCase books, HttpOutputMessage httpOutputMessage) throws IOException, HttpMessageNotWritableException {CSVWriter writer new CSVWriter(new OutputStreamWriter(httpOutputMessage.getBody()));for (Book book : books) {writer.writeNext(new String[]{book.getIsbn(), book.getTitle()});}writer.close();} }结果 现在我们可以将text / csv请求以及application / json和xml发出给我们的资源而这些请求基本上是开箱即用的。 PUT /bookcase Content-Type: text/csv 123,Spring in Action 456,Clean CodeResponse 204 No ContentGET /bookcase Accept: text/csvResponse 200 OK 123,Spring in Action 456,Clean Code 得益于遵循单责任原则的spring mvc设计我们的控制器保持纤薄。 如果我们要支持新的媒体类型则不必添加一行。 完整的示例可以在我的github上找到 参考 Spring MVC –在Be Be a Better Developer博客上 JCG合作伙伴 Gregor Riegler 揭露了RequestBody和ResponseBody的神秘面纱 。 翻译自: https://www.javacodegeeks.com/2013/07/spring-mvc-requestbody-and-responsebody-demystified.html
http://www.sadfv.cn/news/392858/

相关文章:

  • 个人如何优化网站有哪些方法品牌设计就是vi设计吗
  • 网站域名备案谁来做建设网站建站公司
  • 网站制作+网站建设wordpress mega
  • 做架构图的网站aso优化服务
  • asp网站后台登陆地址广东新闻联播吴姗姗
  • 外贸网站优化公司国内最专业的设计网站建设
  • 网站建设方案模板下载西安网站建设那家好
  • 企业网站主页 优帮云关于做公司app的软件或网站
  • 网站上加一个浮动小框怎么做营销网站开发方案
  • 北京市城乡建设部网站首页建站平台排行
  • 国外域名注册网站 中文wordpress头像怎么设置
  • 信托公司网站建设北京网页制作案例
  • 怎样做免费网站的推广网站开发好找工作吗
  • 厦门建网站多少钱网站收录大幅度下降
  • myeclipse怎样做网站新型网络营销模式
  • 长沙做网站的费用个人网用wordpress吗
  • 网站建设企业 熊账号php做的网站模版
  • 常平镇网站建设公司如何运营网站
  • 网站开发线上销售技巧WordPress无刷新登录
  • wordpress站点地图优化网站开发百灵鸟优化
  • 做网站可以不写代码建设银行的投诉网站首页
  • 全方位营销型网站网站开发需要学php吗
  • 网站制作完成后应进入什么阶段北京建筑设计院加盟
  • 做机械加工外贸网站哪家好深圳响应式网站
  • 世界足球排名前100名热狗网站排名优化外包
  • 杭州微信网站建设一人之下王野
  • 重庆深蓝科技网站开发wordpress封面外链
  • 雄县网站制作建设中心中山精品网站建设案例
  • 衡阳做网站ss0734北京天仪建设工程质量检测所网站6
  • 论坛怎么做网站链接网店代运营公司排名