什么是javax.ws.rs.core.context? [第5部分]
如何使用@Context批注
在什么是javax.ws.rs.core.context的第4部分中? 您学习了如何使用@Context批注将HttpServletResponse和HttpServletRequest类注入资源方法。
在本文中,您将学习如何使用其余两个仅在servlet容器中可用的类,它们是: javax.servlet。 ServletConfig和javax.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应用程序中可以使用@Context ( javax.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部分]相关推荐
- 什么是javax.ws.rs.core.context? [ 第1部分 ]
如何使用@Context批注 JAX-RS API提供了一种非常方便的机制,可以将各种有用的资源(例如HTTP标头)注入到端点中. @Context注释是一个通用注释,它注入以下对象的实例: Http ...
- 什么是javax.ws.rs.core.context? [第3部分]
如何使用@Context批注 在什么是javax.ws.rs.core.context的第2部分中? 您学习了如何使用@Context批注从SecurityContext类的注入实例检索安全信息,以及 ...
- 什么是javax.ws.rs.core.context? [ 第2部分 ]
如何使用@Context批注 在什么是javax.ws.rs.core.context? 您学习了如何使用@Context批注从HttpHeaders类的注入实例中检索HTTP标头信息,以及如何从Ur ...
- 什么是javax.ws.rs.core.context? [第4部分]
如何使用@Context批注 在什么是javax.ws.rs.core.context的第3部分中? 您学习了如何在请求和配置,提供程序和应用程序实例中使用@Context批注. 在本文中,您将学习如 ...
- 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 ...
- Couldn‘t find grammar element for class javax.ws.rs.core.Response
测试hive on tez,启动顺序如下: 启动hadoop hive --service metastore hiveserver2 starthis yarn timelineserver hiv ...
- 【registry】registry AbstractMethodError javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws
1.概述 在 [registries]registrie rest-service idea 无法引入的背景下,以及 [registry]NoSuchFieldError: INCLUDE_ALL 以 ...
- javax maven项目缺少_Eclipse项目中的Maven:软件包javax.ws.rs不存在
在Eclipse中,当我转到myProject->右键单击-> Run As-> Maven构建时,控制台中出现多个错误,概述某些软件包不存在,例如: javax.ws.rs doe ...
- 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 ...
最新文章
- 【 MATLAB 】信号处理工具箱的信号产生函数之 sawtooth 函数简记
- mysql事务并发控制_mysql事务和多版本并发控制详解
- Cloud for Customer mobile应用里pass Code登录界面的绘制原理
- Struts2学习---基本配置,action,动态方法调用,action接收参数
- 我安装Microsoft SQLServer 2000时出现问题
- R_ggplot2基础(四)
- 32位程序如何在64位系统上运行_32位支持:使用 GCC 交叉编译 | Linux 中国
- Iptable与firewalld防火墙
- 计算机职业规划论文参考文献,职业生涯规划的参考文献
- python爬虫GUI工具,tkinter网易云歌单歌曲下载器
- 关于使用RedisTemplate在主从架构下使用Lettuce的情况下如何实现读写分离
- 服务器数据迁移:为知笔记私服数据迁移
- 求方程ax^2+bx+c=0的实数根
- 浅谈强化学习二之马尔卡夫决策过程与动态规划
- Java架构师成长之道之Java架构师技术栈
- [ROS] sh脚本文件,source : not found问题
- CocosCreator 物理引擎-关节
- python习题练习(一)
- 京东页面动态商品分类
- 【读书笔记->统计学】07-03 离散型概率分布-泊松分布概念简介