小编Dig*_*i55的帖子

为什么 HTTPServletRequest 可以通过 CDI 注入,而 HTTPServletResponse 却不能?

这个问题之所以出现是因为我阅读了Arjan Tijms 关于 JSF 2.3 的博客文章。在那里,他列出了可以通过 CDI 注入的所有 JSF 工件。虽然HttpServletRequest提到了,HttpServletResponse但并没有出现在我一开始并不相信的上述清单上。

为了进行尝试,我设置了一个简单的服务器(JavaEE8、Wildfy22):

  • @Inject private HttpServletRequest req;工作得很好
  • @Inject private HttpServletResponse res;投掷DeploymentException: WELD-001408: Unsatisfied dependencies for type HttpServletResponse

我不明白为什么HttpServletResponse不应该注射。毕竟,我们的目标是通过简洁的注入来取代复杂的方法链。如果是HttpServletRequestFacesContext.getCurrentInstance().getExternalContext().getRequest();现在可以缩短为上述注入。

好吧,在 的情况下HttpServletResponse,没有可替换的候选注入FacesContext.getCurrentInstance().getExternalContext().getResponse();,如上所示。

总结:为什么可以HttpServletRequest通过 CDI 注射但HttpServletResponse不能?

java servlets cdi jsf-2.3 java-ee-8

10
推荐指数
1
解决办法
476
查看次数

为什么 hexdump 将 0x0A 解析为点?

该问题基于以下命令的输出:

$ hexdump -C acpid.pid
00000000  36 39 37 0a                                       |697.|
00000004
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,0x36 0x39 0x37被解析为其关联的符号6 9 7。由于0x0A是换行符,因此它们不是表示它的普通符号(根据 ASCII 表),但是

为什么0x0A解析为一个点?

我的操作系统是Ubuntu 18.04.3。

ascii hexdump linefeed ubuntu-18.04

2
推荐指数
1
解决办法
496
查看次数

在 Rust 中有多少种方法可以声明浮点数?

我看到了以下可能性:

let first_float: f64 = 3.4;
let second_float = 4.5f64;
let third_float = 5.6 as f64;
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以声明浮点数吗?我不是指不同的浮点类型,如f32f64

variables floating-point rust

1
推荐指数
1
解决办法
173
查看次数