- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Java EE 6,这是第一次使用 jax-rs 并且我有这个资源类,但我不知道为什么在访问服务时没有检索到我的 session 。登录工作正常,并且可以在应用程序的其他部分检索主体。
@Path("/countries")
@Stateless
public class CountryResource {
@Resource
SessionContext ctx;
@EJB
private CityBean cityBean;
@Path("/countryid/{countryid}")
@GET
@Produces("application/xml")
public String getCountryByPk(@PathParam("countryid") Long tlCountryId){
if(ctx != null){
System.out.println(ctx.getCallerPrincipal());
}
String country;
...
return country;
}
尽管我已成功登录,但此输出为匿名。在尝试使用 SessionContext 之前,我试图使 @RolesAllowed 工作,但也没有取得进展。我还有 JaxRsActivator 类。关于与 session 相关的 jax-rs 我需要了解什么吗?
@ApplicationPath("/rest")
public class JaxRsActivator extends Application {
}
最佳答案
据我所知,您的应用程序是无状态的应用程序,因此本质上不会使用 session 。您必须在请求响应对象中显式添加 cookie 或 session 标识符来维护应用程序的状态。
@Stateless
public class CountryResource {
手动维护状态
如您所见,传统的客户端-服务器应用程序状态是自动维护的。它不需要程序员的任何手动干预。无状态 Web 应用程序的情况并非如此,但是可以使用哪些手动步骤来维护请求之间的状态?
在 URL 中使用参数。这可能会导致 URL 过大且难以管理,并且 URL 的最大大小是有限制的。这还意味着用户可以编辑 URL 并有效地更改状态,从而产生不可预测的结果。
在表单中使用隐藏字段。这可能会导致表单过大,从而导致传输速度变慢。即使数据可能隐藏在呈现的文档中,用户仍然可以通过使用浏览器的“查看源”选项来查看它。用户甚至可以在将数据传输回服务器之前编辑源并更改某些值。
使用 cookie。 cookie 中可以存储的数据量是有限的,同时可以激活的 cookie 数量也有限制,较大的 cookie 传输时间会更长。更糟糕的是,客户端可以选择完全禁用 cookie
使用服务器上的文件。在 PHP 中,这种能力是通过称为 session 的工具提供的,该工具允许将数据记录在磁盘文件或数据库表中。这样做的优点是所有数据都保存在服务器上,因此不会将任何数据传输到客户端( session 名称和 ID 除外)。因此,客户端无法查看或编辑此 session 数据。
关于java - 加载 Jax-rs 资源时 SessionContext 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30015032/
Apache CXF 可以完成任务。但我想在没有任何 spring 依赖的情况下组合它。提前谢谢你! 最佳答案 JAX-WS 和 JAX-RS 都是 Java EE 6 的一部分.因此,您可以在不使用
Apache CXF 可以完成任务。但我想在没有任何 spring 依赖的情况下组合它。提前谢谢你! 最佳答案 JAX-WS 和 JAX-RS 都是 Java EE 6 的一部分.因此,您可以在不使用
所以我的意思是你有一个分类特征 $X$(假设你已经把它变成了整数)并说你想使用特征 $A$ 将它嵌入到某个维度中,其中 $A$ 是 arity x n_embed . 通常的做法是什么?使用 for
所以我的意思是你有一个分类特征 $X$(假设你已经把它变成了整数)并说你想使用特征 $A$ 将它嵌入到某个维度中,其中 $A$ 是 arity x n_embed . 通常的做法是什么?使用 for
我知道网上有很多文档主要描述技术差异。 但是我很想知道您更喜欢一种特定类型而不是其他类型的常见用例是什么? 这些偏好是因为集成模式/产品支持特定类型吗? 最佳答案 谢谢你的回答。然而实际用例差异以及何
我想将 CXF 与 Google Guice 集成。我已经在我的项目中使用 Guice,并且我想避免添加额外的依赖项。 CXF 是我的选择,因为要求之一是能够向服务用户提供 XML、JSON、JSON
来自 JSR-339: For simplicity, JAX-RS implementations are NOT REQUIRED to support processing groups oth
我开始使用 JAX WS 研究 Java Web 服务。我正在阅读的书的第一章展示了如何仅使用 java SE 构建和部署简单的 jax ws web 服务。特别是,Web 服务是通过 Endpoin
在 JAX 的快速入门教程中,我发现可以使用以下代码行为可微函数 fun 高效地计算 Hessian 矩阵: from jax import jacfwd, jacrev def hessian(fu
JAX-RS 提供了 StreamingOutput 接口(interface),我们可以实现它来对我们的响应主体进行原始流处理。 public interface StreamingOutput {
有没有办法获得java.lang.reflect.Method为给定的 @Path 调用的方法(用 HttpServletRequest 注释) ? 这是我的用例:我在 Java EE 中 Filte
我接到了一家公司的任务,该任务向我发送了一台已完成所有设置的虚拟机。任务是我必须创建一个 API 来从数据库中检索人员详细信息并显示它。 问题是,当我运行应用程序时,服务器返回一个包含 hello w
我有一个 POST 方法调用,它接受很少的表单参数。我希望 JAX-RS 能够处理不存在特定表单参数的情况。 示例: @POST @Produces (MediaType.APPLICATION_JS
我有 JAX-RS 网络应用程序,我想记录从获取请求到响应的时间量。在带有 servlet 过滤器的 Spring Boot 中很容易。但是我的应用程序中的过滤器无法正常工作: @Provider p
使用以下网址。 http://doma.in/context/resource/some/.../undefined 我想获取 ../resource 之后的路径名,即 /some/.../undef
我编写了 2 个 Web 服务,一个使用 Jax-WS,一个使用 Jax-RPC。他们只是返回一个字符串。 我使用 jMeter 进行了压力测试,奇怪的是,Jax-RPC 速度更快。 我什么时候才能在
我花了几个小时在嵌入式 Jetty 9.1.0.v20131115 和 RESTEasy 3.0.5.Final 中安装自定义登录服务。我的登录服务将在数据库中查找用户并为他们分配角色。它看起来像这样
有没有办法操纵jaxws中使用的编码器。 我喜欢发送一个在网络服务请求中提交的 cdata,为此我想在这里尝试类似描述的东西:http://odedpeer.blogspot.de/2010/07/j
我想从 java 服务器 (Restful Jax-rs) 发送图像。我的客户是安卓。 @GET public Response getUserImage() { byte[] image =new
我对网络服务很陌生。我找不到 JAX-WS 和 CXF 之间的区别。 据我了解,JAX-WS是java提供的规范,CXF是实现。 如果我错了,请纠正我。 最佳答案 是的,你是对的。 JAX-WS 是基
我是一名优秀的程序员,十分优秀!