小编jan*_*oth的帖子

CORS - 引入预检请求的动机是什么?

跨源资源共享是一种允许网页将XMLHttpRequests发送到另一个域(来自维基百科)的机制,这非常重要(来自我:).

在过去的几天里,我一直在调整CORS,我想我对一切运作方式都有很好的理解.

所以我的问题不是关于CORS /预检如何工作,而是关于将预检作为新请求类型的原因.我没有看到任何理由为什么服务器A需要向服务器B发送预检(PR)以确定是否接受真实请求(RR) - B当然可以接受/拒绝RR而不用任何先前的公关.

经过相当多的搜索,我在www.w3.org(7.1.5)上找到了条信息:

为了保护资源免受在此规范存在之前不能源自某些用户代理的跨源请求,进行预检请求以确保资源知道此规范.

我发现这是最难理解的句子.我的解释(应该更好地称之为'最佳猜测')是关于保护服务器B免受来自服务器C的不知道规范的请求.

有人可以解释一个场景/显示PR + RR解决的问题比单独的RR更好吗?

ajax html5 http cors preflight

342
推荐指数
6
解决办法
6万
查看次数

Chrome将Origin标头添加到同源请求中

我们正在向本地运行的服务器发布一个AJAX请求,即

xhr.open("POST", "http://localhost:9000/context/request");
xhr.addHeader(someCustomHeaders);
xhr.send(someData);
Run Code Online (Sandbox Code Playgroud)

正在执行此javascript的页面也是从localhost:9000提供的,即这看起来像是一个同源请求.

但是,出于某种原因,Google Chrome总是在生成的请求中设置一个Origin标头,导致我们的服务器根据它的CORS请求的错误假设来阻止请求.

这在Firefox中不会发生.

此外,Firefox和Chrome都没有发送OPTIONS预检请求,这令人困惑; 为什么在没有首次预检的情况下设置Origin标头以确保服务器允许Origin和Custom标头?

有谁知道在这种情况下发生了什么?我们是否误解了CORS规范?

javascript ajax html5 google-chrome cors

18
推荐指数
2
解决办法
2万
查看次数

Maven - 在同一阶段确定不同插件目标的顺序

以下代码段是maven-cargo插件配置的摘录,但问题与该特定插件无关.

            <executions>
                <execution>
                    <id>start</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>deploy</goal>
                        <goal>start</goal>
                    </goals>
                </execution>
            </executions>
Run Code Online (Sandbox Code Playgroud)

这个配置(简单地称之为插件A)将等到pre-integration-test阶段,然后触发其目标deploystart(按此顺序).

假设我有另一个插件B,它在同一阶段相关.我有什么选择

  1. A之前(之后)执行插件B的目标?(someStuff - > deploy - > start)
  2. 在插件A的目标之间执行插件B的目标(deploy - > someStuff - > start)

我认为(1)的答案就在这里,将目标的顺序与POM中插件定义的顺序联系起来.但我不知道(2).

maven-plugin maven

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

如何将 VSCode 与 pytest 集成(“测试发现失败”)?

我无法将项目的单元测试集成到 VSCode 中。测试发现失败,因为 pytest 无法识别源文件。

(只是为了澄清,这是一个关于 VSCode 的问题,而不是关于 pytest 的问题。我在这里是因为 VSCode 将其问题部分链接到 SOF。如果我手动运行测试,测试可以正常工作。)

工装:pyenv, pipenv, pytest.

项目布局:

/src -> source code
/tests/unit -> test code
Run Code Online (Sandbox Code Playgroud)

.vscode/settings.json:

{
    "python.envFile": "${workspaceFolder}/.env",
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": [
        "tests"
    ],
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false
    [...]
}
Run Code Online (Sandbox Code Playgroud)

.env:

PYTHONPATH=./src
Run Code Online (Sandbox Code Playgroud)

(注意:我认为 .env 在这里并不重要,根据评论,在Use of the PYTHONPATH variable下)

测试发现失败并显示:

tests/unit/test_revoke_default_sg.py:7: in <module>
    from revokedefaultsg.app import RevokeDefaultSg, UnknownEventException
E   ModuleNotFoundError: No module named 'revokedefaultsg'
=========================== short test summary info …
Run Code Online (Sandbox Code Playgroud)

pytest visual-studio-code pipenv

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

Hibernate(/ JPA)服务器端分页和MS SQL Server

我使用hibernate/JPA 实现服务器端数据分页,底层数据库是MS SQL Server 2008.

SQL生成如下:

criteria.setFirstResult(pagingParams.getDisplayStart())
.setMaxResults(pagingParams.getDisplayLength());
Run Code Online (Sandbox Code Playgroud)

(主要工作在于创建适当的过滤器/排序,但这与此无关)

我正在观察的是以下SQL:

page (0-20):
select top 20 this_.id as id11_9_,...

page (20-40):
select top 40 this_.id as id11_9_,... 

page (40-60):
select top 60 this_.id as id11_9_,... 
Run Code Online (Sandbox Code Playgroud)

... 等等.

显然,如果底层结果集太大而且(b)与分页没什么关系,那么(a)将遇到严重问题:-(

谁有同样的问题?

更新:似乎NHibernate(Hibernate的.NET实现)利用Row_Number()了T-SQL 的功能.可惜Hibernate没有...

sql-server orm hibernate jpa sql-server-2008

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

如何在vaadin中更改表的行颜色

我正在使用vaadin,我有一个表,我使用addItem方法添加项目,我想要做的是在添加一个新项目的时刻,我必须做一些测试,并设置添加的行的颜色.

例如,测试结果为1,则行颜色应为红色,如果结果为2,则行颜色应为绿色.

所以任何帮助如何做到这一点?

vaadin

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

使用github问题作为mylyn任务存储库?

我正在寻找一种将Eclipse / Mylyn与github的project- issue集成的方法。

我知道Mylyn-github-connectorsmilebase项目,但是-除非我完全错误-两个连接器仅允许将现有任务与github提交相关联。没有选择将github问题用作任务存储库。

我还发现了这个与问题/答案稍相关的问题,但除了提供的链接已失效的事实之外,它似乎还集中在连接器本身(而不是任务存储库)上。

谢谢回答,

一月

eclipse git github mylyn

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

从Seam 2切换到普通JavaEE 6的最大变化(损失)可能是什么?

问题几乎说明了一切,但显然我正在寻找在Java EE 6环境中可能会错过Seam 2的事情("损失").

对于我的最新(小)项目JavaEE 6或更具体的JSF 2是修复要求,因此使用Seam 2不是一个选项(也不会是).尽管有些人说要让Seam 2使用JSF 2,但我从未做过.到目前为止,我只使用了Seam 2,我担心切换到普通的JavaEE环境会带来比我目前所知更多的问题.

该项目具有以下基本/核心要求:

  • 基于角色和权限的安全概念(约50个用户)
  • JPA 2事务持久性
  • ...

其余的将是基于GUI,搜索表单,客户端验证等,将由RichFaces 4和JavaEE 6 bean验证处理.没有Web服务,没有宁静的URL,没有消息,没有电子邮件.

我可以看到使用Seam安全性肯定是一种损失,但我不确定Seam持久性,实体/查询框架,JBoss EL和其他将是什么,尤其是整体编程模型(导航,EL,bean) .请注意,我们将能够在有意义的时候添加Seam 3模块,因此您可以在"增益"部分的讨论中包含Seam 3.

那么,任何人都能清楚这一点吗?(它不一定是一个完整的总结,无论你想到什么,继续)

PS:我无法连接到Seam论坛所以我觉得我需要在这里问.

seam cdi seam2 seam3 java-ee-6

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

Eclipse WTP/m2eclipse - 既不能清理也不能发布到tomcat

我正在开发一个非常复杂的项目(Java/Spring/Maven多模块),在Ubuntu 11.10/64bit上使用Eclipse Indigo Java EE中的WAR覆盖(大量使用m2eclipse)

直到今天早上一直很好:我不能再清理/发布到tomcat了:

Publishing failed
Could not delete <directory> May be locked by another process.
Run Code Online (Sandbox Code Playgroud)

我可以很容易地通过手工删除这些文件(但仍tomcat的不能发布),我不能找出哪个进程可能会被锁定它(Linux的:lsof <directory>)

我试过的东西在Eclipse中sh..load:删除项目(工作的话),再加入(同样的问题),删除服务器配置,删除Tomcat的配置,更新日食,与-clean开始偏食,移动服务器目录出来的插件文件夹,将项目回滚到前一天肯定工作的分支......

如上所述:直到昨天一切都很好.我在这里发现了这个问题,最近有人遇到同样的问题.谷歌搜索并没有透露太多.有些人有类似的问题,他们通过大量删除/重新创建服务器配置来"修复".试过至少10次.

在同事的linux盒子上也出现同样的问题 - 他昨天建立了自己的系统并立即遇到了它.

我发现m2e-wtp的这个错误报告可能是相关的.

更新:我很确定它是WAR叠加和WTP的Maven集成版本的组合:0.15.1.20120208-1300实际上试图降级到0.14 ......

eclipse tomcat m2eclipse

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

如果jvm gc是一个未封闭的套接字实例,底层的tcp连接会发生什么?

如果有未使用的套接字实例,但它未关闭.

如果jvm会gc吗?

如果是,tcp连接是否会自动关闭?

java sockets garbage-collection

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

Ansible Inventory 中主机之间的暂停时间

我正在我的剧本中尝试以下任务。但不执行暂停。我希望在删除每个主机后播放应该暂停 30 秒。

name: delete host from the NagiosXI
shell: curl -k -XDELETE "https://10.000.00.00/nagiosxi/api/v1/config/host?apikey=qdjcwc&pretty=1&host_name={{ item }}&applyconfig=1"

  - pause:
    seconds: 120

  ignore_error: yes
  with_items:
    - "{{ groups['grp1'] }}"
Run Code Online (Sandbox Code Playgroud)

如果以正确的方式做或向我提出建议,有人可以建议这是否是正确的方式。我也使用了 serial=1 模块,但它仍然无法正常工作。

ansible pause ansible-inventory

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

如何在android中的片段中放入listview?

我试图在我的片段中放入一个简单的列表视图.当我按原样运行时,我收到错误.我没想到它可以使用我现有的代码,但我不知道从哪里开始.任何帮助将不胜感激!

我的代码:

public class Tab1Fragment extends ListFragment {

ListView listView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    LinearLayout theLayout = (LinearLayout) inflater.inflate(R.layout.tab1, container, false);
    listView = (ListView)theLayout.findViewById(R.id.ListView01);
    return theLayout;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Use an existing ListAdapter that will map an array
    // of strings to TextViews
    setListAdapter(new ArrayAdapter<String>(getActivity().getApplicationContext(),
            android.R.layout.simple_list_item_1, mStrings));
    getListView().setTextFilterEnabled(true);
}

private String[] mStrings = {
        "Action", "Adventure", "Animation", "Children", "Comedy", "Documentary", "Drama",
        "Foreign", "History", "Independent", "Romance", "Sci-Fi", "Television", "Thriller" …
Run Code Online (Sandbox Code Playgroud)

java android listview fragment

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