如何使用@Context批注

什么是javax.ws.rs.core.context的第4部分中 您学习了如何使用@Context批注将HttpServletResponseHttpServletRequest类注入资源方法。

在本文中,您将学习如何使用其余两个仅在servlet容器中可用的类,它们是: javax.servlet。 ServletConfigjavax.servlet。 ServletContext。

Servlet容器包含REST端点开发人员可能感兴趣的配置,因此您可以访问javax.servlet。 通过使用@Context注释注入ServletConfig实例。

让我们跳到一个简单的例子:

@Path("servlet-config")
public class ServletConfigResource {@GET@Produces(MediaType.APPLICATION_JSON)public Response getServletName(final @Context ServletConfig servletConfig){return Response.ok(servletConfig.getServletName()).build();}}

此代码段从注入的ServetConfig实例检索Servlet的名称,并将其返回给调用客户端。 就我而言,当我访问URL http:// localhost:8080 / rest-server / servlet-config返回的servlet的名称为com.readlearncode.RESTConfig

我要看的最后一个与Servlet相关的实例是ServletContext对象。 Servlet上下文提供对许多属性和方法的访问,例如Servlet配置以及动态Servlet和过滤器配置。 让我们看一个例子。

@Path("servlet-context")
public class ServletContextResource {@GET@Produces(MediaType.APPLICATION_JSON)public Response getContextPath(final @Context ServletContext servletContext) {return Response.ok(servletContext.getContextPath()).build();}}

在上面的代码中, ServletContext被注入到方法参数ServletContext中。 然后,检索当前servlet上下文的上下文路径,并将其作为响应发送回客户端。 如果您访问URL http:// localhost:8080 / rest-server / servlet-context ,则会看到显示的路径/ rest-server

代码库

此代码和我所有文章的源代码都在readlearncode_articles Github存储库中。

结论

这结束了JAX-RS应用程序中可以使用@Contextjavax.ws.rs.core.context )批注的所有方式的导览 。 如果要查看本系列的所有部分,请在下面链接:

  • 什么是javax.ws.rs.core.context? [ 第1部分 ]
  • 什么是javax.ws.rs.core.context? [ 第2部分 ]
  • 什么是javax.ws.rs.core.context? [第3部分]
  • 什么是javax.ws.rs.core.context? [第4部分]
  • 什么是javax.ws.rs.core.context? [第5部分]

接下来是什么?

我最近发布了有关Java EE的入门课程,该课程涵盖了刚开始在Enterprise Java领域工作的所有最重要的API。 这是一个名为“ 学习Java Enterprise Edition”的视频课程,在2小时的课程中,我将介绍最常用的Java Enterprise Edition API。 我将通过大量的代码示例和挑战演示如何使用这些API,以帮助学习者开发其技能。

对于有抱负的学习者,有一些课程讲授如何使用JAX-RS构建RESTful端点 ,有关如何使用WebSockets构建聊天应用程序的课程以及涉及JSON-Processing API课程的课程。 该路线图包含了Java EE课程,涵盖了这个扩展平台的整个领域。

进一步阅读

我经常在我的博客readlearncode.com上发布有关Java EE的博客,最近在该博客上发布了有关JAX-RS API的微型文章系列。

在这些文章中,讨论了REST端点中的bean验证失败 ,如何与使用者和生产者一起使用以及如何创建JAX-RS资源实体

翻译自: https://www.javacodegeeks.com/2017/08/javax-ws-rs-core-context-part-5.html

什么是javax.ws.rs.core.context? [第5部分]相关推荐

  1. 什么是javax.ws.rs.core.context? [ 第1部分 ]

    如何使用@Context批注 JAX-RS API提供了一种非常方便的机制,可以将各种有用的资源(例如HTTP标头)注入到端点中. @Context注释是一个通用注释,它注入以下对象的实例: Http ...

  2. 什么是javax.ws.rs.core.context? [第3部分]

    如何使用@Context批注 在什么是javax.ws.rs.core.context的第2部分中? 您学习了如何使用@Context批注从SecurityContext类的注入实例检索安全信息,以及 ...

  3. 什么是javax.ws.rs.core.context? [ 第2部分 ]

    如何使用@Context批注 在什么是javax.ws.rs.core.context? 您学习了如何使用@Context批注从HttpHeaders类的注入实例中检索HTTP标头信息,以及如何从Ur ...

  4. 什么是javax.ws.rs.core.context? [第4部分]

    如何使用@Context批注 在什么是javax.ws.rs.core.context的第3部分中? 您学习了如何在请求和配置,提供程序和应用程序实例中使用@Context批注. 在本文中,您将学习如 ...

  5. Couldn‘t find grammar element for class javax.ws.rs.core.Response(没有解决)

    复现: $HADOOP_HOME/bin/yarn timelineserver 12月 22, 2020 3:21:49 下午 com.sun.jersey.server.wadl.generato ...

  6. Couldn‘t find grammar element for class javax.ws.rs.core.Response

    测试hive on tez,启动顺序如下: 启动hadoop hive --service metastore hiveserver2 starthis yarn timelineserver hiv ...

  7. 【registry】registry AbstractMethodError javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws

    1.概述 在 [registries]registrie rest-service idea 无法引入的背景下,以及 [registry]NoSuchFieldError: INCLUDE_ALL 以 ...

  8. javax maven项目缺少_Eclipse项目中的Maven:软件包javax.ws.rs不存在

    在Eclipse中,当我转到myProject->右键单击-> Run As-> Maven构建时,控制台中出现多个错误,概述某些软件包不存在,例如: javax.ws.rs doe ...

  9. flink启动yarn-session报错javax/ws/rs/ext/MessageBodyReader

    问题复现: /home/appleyuchi/bigdata/flink-1.10.1/bin/yarn-session.sh 报错如下: 2020-06-07 19:05:01,358 ERROR ...

最新文章

  1. 【 MATLAB 】信号处理工具箱的信号产生函数之 sawtooth 函数简记
  2. mysql事务并发控制_mysql事务和多版本并发控制详解
  3. Cloud for Customer mobile应用里pass Code登录界面的绘制原理
  4. Struts2学习---基本配置,action,动态方法调用,action接收参数
  5. 我安装Microsoft SQLServer 2000时出现问题
  6. R_ggplot2基础(四)
  7. 32位程序如何在64位系统上运行_32位支持:使用 GCC 交叉编译 | Linux 中国
  8. Iptable与firewalld防火墙
  9. 计算机职业规划论文参考文献,职业生涯规划的参考文献
  10. python爬虫GUI工具,tkinter网易云歌单歌曲下载器
  11. 关于使用RedisTemplate在主从架构下使用Lettuce的情况下如何实现读写分离
  12. 服务器数据迁移:为知笔记私服数据迁移
  13. 求方程ax^2+bx+c=0的实数根
  14. 浅谈强化学习二之马尔卡夫决策过程与动态规划
  15. Java架构师成长之道之Java架构师技术栈
  16. [ROS] sh脚本文件,source : not found问题
  17. CocosCreator 物理引擎-关节
  18. python习题练习(一)
  19. 京东页面动态商品分类
  20. 【读书笔记->统计学】07-03 离散型概率分布-泊松分布概念简介

热门文章

  1. 漫画:什么是中间人攻击
  2. 有5家衣服专卖店,每家最多购买3件,用户可以选择离开,可以买衣服,最后打印总共买了几件衣服
  3. SpringSecurity认证
  4. 实体类为什么要用包装类而不用基本类型
  5. Spring XML中如何使用 符号,比如数据库MySQL连接
  6. 微信消息提醒与消息数字提示之BadgeView
  7. IDEA开启Run Dashboard窗口
  8. redis存opc_KEPServerEX6完整免费版
  9. rabbitmq-路由模式-routingkey
  10. java数据库编程——执行查询操作(二)