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

如何使用@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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux字符界面和图形界面

Ubuntu图形界面和字符界面的切换 Ubuntu和其他的Linux系统一样,有图形界面和字符界面,同时能够设置默认的启动界面。 linux的显示界面分为命令行的字符界面和图形界面,我们可以设置linux的默认启动的显示界面。然后也可以手动的来回的切换。 …

matlab conv2

conv2函数----------------------------------------1、用法 1. Cconv2(A,B,shape); %卷积滤波 A:输入图像,B:卷积核 假设输入图像A大小为ma x na,卷积核B大小为mb x nb,则 当shapefull时,返回全部二维卷积结…

面试趣味题

题目:一元钱可以买到一瓶水,两个空瓶子可以换一瓶水,小明有20元钱,问最多可以喝多少瓶水? 在面试的时候做了一个这种逻辑题。当时只是要求写出最后的结果。没有要求用代码来实现。我下面准备先分析一下,然后再转换成代码去实现。 根据这个示意图可以简单…

mongodb 持久性_多语言持久性:带有MongoDB和Derby的EclipseLink

mongodb 持久性从现在开始,多语种持久性一直是新闻。 从2011年底开始,在著名的Fowler职位的激励下,我看到了更多更好的主意。 最新的一个是公司内部的学生项目,我们在其中使用Scala作为后端数据,将数据持久存储到Mongo…

linux 动态库文件stripped属性理解

在centos 6.2下用file命令查看文件信息的时候,显示如下: libcom_err.so.2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped libcrypto.so.10: ELF 64-bit LSB shared object, x86-64, version 1 (SYS…

matlab gradient

gradient函数 >> x[6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0]x 6 9 3 4 0 5 4 1 2 5 6 7 7 8 0 7 8 9 10 0 >> [Fx,Fy]gradient(x) Fx 3.0000 -1.5000 -2.5000 -1.5000…

第六章 传输层

思维导图: 一、 概述 与数据链路层关系 提供可靠的、高效的、性价比高的数据传输输出实体 传输层利用网络层的服务,为它的上层应用层提供服务 网络层与传输层不同点: 网络层运行在由承运商操作的路由器上,因此用户无法真正控制到网…

Kanvas:从您的ANTLR语法生成一个简单的IDE

什么是编辑器? 对我来说,编辑器是我工作中使用的主要工具。 作为语言工程师,我创建新的语言,使用现有的语言,并且需要其他工具来使用它们。 我希望能够在一个定制的IDE中将所有这些黑客一起入侵,我可以为我…

函数名/函数地址/函数指针

转自:http://hi.baidu.com/%C6%BF%D6%D0%B5%C4%C5%AE%CE%D7/blog/item/387db9ddaa54d0a9cd1166fa.html 函数指针:1。指针变量 2。指针变量指向函数 这正如用指针变量可指向整型变量、字符型、数组一样。 在编译时,每一个函数都有一个入口地址…

matlab imaqhwinfo

使用imaqhwinfo函数,来获取电脑上安装的摄像头的名称,比如winvideo,之后可以利用imaqhwinfo(winvideo)来进一步获取设备ID等边信息,这在之后的视频流获取中会用到。获取设备ID之后(比如ID为1),可…

第二次作业--熟悉使用工具

GIT地址 https://github.com/ForeveruxGIT用户名 Foreverux学号后五位 62117博客地址 https://www.cnblogs.com/JQloveJX/ 作业链接 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2793声明:部分内容摘自ChildishChange Part 0. 背景 阿…

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

如何使用Context批注 在什么是javax.ws.rs.core.context? 您学习了如何使用Context批注从HttpHeaders类的注入实例中检索HTTP标头信息,以及如何从UriInfo实例中检索URI信息,例如URI参数和变量。 在本文中,您将学习如何将Context批…

【题解】Luogu P2347 砝码称重

正经DP题解 一道非常好的背包练手题( sto(注:原思路来源 SLYZ_0120 的题解)orz 开始这道题 1.输入六个数,存进数组中 2.初始化 f 数组为0。 f [ i ] 表示重量为 i 的情况是否出现过(下面代码使用的是 int 数…

matlab 获取视频图像的信息

获取视频图像的信息可以通过get函数来获取,如get(vid)或者get(getselectedsource(vid))。使用set函数可以设置摄像头获取的图像的一些属性值,也可以直接使用结构数组的“点”来赋值,比如,要持续通过摄像头获取图像,则可…

tomcat使用ssl_使用SSL和Spring Security保护Tomcat应用程序的安全

tomcat使用ssl如果您看过我的上一个博客,您会知道我列出了Spring Security可以做的十件事 。 但是,在开始认真使用Spring Security之前,您真正要做的第一件事就是确保您的Web应用使用正确的传输协议,在这种情况下为HTTPS –毕竟&a…

matlab delete、clf、cla、close、closereq删除对象

matlab中删除对象 删除对象 (1)delete:删除文件或对象图形 删除文件对象h的格式为:delete(filename)或delete filename 删除图形对象h的格式为:delete(h); 若要无条件删除所有的图形对象,则:set…

Linux系统调用过程分析

参考: 《Linux内核设计与实现》 0 摘要 linux的系统调用过程: 层次如下: 用户程序------>C库(即API):INT 0x80 ----->system_call------->系统调用服务例程-------->内核程序 先说明一下&#…

Spring Boot和应用程序上下文层次结构

Spring Boot支持一种指定Spring应用程序上下文层次结构的简单方法。 这篇文章只是演示了此功能,我尚未在我从事的项目中很好地使用它。 Spring Cloud使用此功能来创建引导上下文 ,在该上下文中,如果需要,可以从外部配置服务器加载…

drf 解析器,响应器,路由控制

解析器 作用: 根据请求头 content-type 选择对应的解析器对请求体内容进行处理。 有application/json,x-www-form-urlencoded,form-data等格式使用:局部使用:from rest_framework.parsers import JSONParser,FormParseparser_classes [JSONParser, ]全局…

matlab max与min获取矩阵最大最小值函数

1.matlab中Max的用法1(Min类似) Matlab中max函数在矩阵中求函数大小的实例如下: C max(A) 1)返回一个数组各不同维中的最大元素。 2)如果A是一个向量,max(A)返回A中的最大元素。 3)如果A是一个矩阵&…