小编Ant*_*ink的帖子

Access-Control-Allow-Origin不允许使用Origin - 如何使用非常简单的Web堆栈和guice启用CORS

我不确定问题是涉及的技术,还是我对技术的理解.

我有一个用javascript和html编写的html5应用程序托管在apache 2.2服务器上.

我有一个用java编写的java应用程序,使用jetty,guice,jackson,jersey来托管一个简单的REST服务.

两个应用程序都运行在同一个盒子上,一个在端口80上(纯粹的html5应用程序托管在apache上),另一个在8080上(在jetty/guice上托管的纯Java应用程序)

我相信答案是在我发回的标题中.CORS标头告诉浏览器您允许外部应用程序命中您的api.我似乎无法弄清楚如何配置我的Jetty,Guice服务器以返回正确的CORS标头.

我正在使用一个imbeded Jetty服务器,所以我没有web.xml文件来添加标头.

它也可能与HTML5应用程序服务器(在本例中为apache 2.2)如何为应用程序提供服务有关.

apache httpd.conf文件有以下条目:

LoadModule headers_module modules/mod_headers.so

<IFModule mod_headers>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
    Header add Access-Control-Allow-Headers: X-PINGOTHER
    Header add Access-Control-Max-Age: 1728000  
</IfModule>
Run Code Online (Sandbox Code Playgroud)

在我的guice servlet配置中,我有以下内容:

public class RestModule extends ServletModule{

    @Override
    protected void configureServlets() {
        bind(QuestbookService.class);

        // hook Jersey into Guice Servlet
        bind(GuiceContainer.class);

        // hook Jackson into Jersey as the POJO <-> JSON mapper
        bind(JacksonJsonProvider.class).in(Scopes.SINGLETON);

        Map<String, String> guiceContainerConfig = new HashMap<String, String>();
        guiceContainerConfig.put(ResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES,
            HttpStatusCodeMetricResourceFilterFactory.class.getCanonicalName()); …
Run Code Online (Sandbox Code Playgroud)

java apache html5 guice cross-domain

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

使用推土机可以将多个字段映射到一个字段吗?

我们有一些我们试图映射的遗留数据......遗留数据包含月份日的字段...

是否可以转换

MyObject.day
MyObject.year
MyObject.month
Run Code Online (Sandbox Code Playgroud)

MyOtherObject.date
Run Code Online (Sandbox Code Playgroud)

我找不到关于这个主题的任何文件.任何人将不胜感激.

java dozer

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

如何使用Jackson将一段xml包装在CDATA标签中

我有以下java对象

class MyXmlObject{
    @JsonProperty
    private InnerObject innerObject;
    @JsonProperty
    private String someOtherProperty;
}
Run Code Online (Sandbox Code Playgroud)

当我使用序列化时

public String getXmlObjectAsXML(MyXmlObject myXmlObject){
    JacksonXmlModule module = new JacksonXmlModule();

    module.setDefaultUseWrapper(false);
    XmlMapper mapper = new XmlMapper(module);

    mapper.configure(SerializationFeature.INDENT_OUTPUT, true);

    String response = "";

    response = mapper.writeValueAsString(myXmlObject);
    return response;
}
Run Code Online (Sandbox Code Playgroud)

我希望InnerObject类包装在CDATA标记中.

处理此方案的正确方法是什么?

java xml-serialization jackson

5
推荐指数
2
解决办法
5522
查看次数

为什么null列与count aggragate函数的行为不同?

在oracle中,我们有一个任务来计算具有特定空列的行数.

我有查询:

select count(MY_COL) from My_Table where MY_COL is null;
Run Code Online (Sandbox Code Playgroud)

这会返回零结果.

为什么这会返回零结果和查询

select count(*) from My_Table where MY_COL is null;
Run Code Online (Sandbox Code Playgroud)

返回正确的结果?

sql oracle

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

如何访问Java中的调用程序的资源目录

我有一个程序使用的库.该库在resources文件夹中加载一个特殊目录.

在图书馆我有方法

public class DataRegistry{

    public static File getSpecialDirectory(){
        String resourceName = Thread.currentThread().getContextClassLoader().getResource("data").getFile().replace("%20", " ");
        File file = new File(resourceName);
        return file;
    }

}
Run Code Online (Sandbox Code Playgroud)

在我的程序中我有主要方法

public static void main(String args[]){
    System.out.println(Data.getSpecialDirectory());
}
Run Code Online (Sandbox Code Playgroud)

当我在数据程序中的junit测试中执行getSpecialDirectory()时,将获取资源并且一切正常.

当我在数据程序(导入的jar)之外的main方法中执行getSpecialDirectory()时,我得到了jar数据目录,而不是执行该程序的程序所期望的目录.

我想让父类加载器能解决这个问题......我相信我的理解可能会有一个根本问题.

为清楚起见:

(图书馆)此文件的第15行:https://gist.github.com/AnthonyClink/11275442

(用法)此文件的第31行:https: //gist.github.com/AnthonyClink/11275661

我的poms可能与它有关,所以分享它们可能很重要:

(图书馆) https://github.com/Clinkworks/Neptical/blob/master/pom.xml

(用法) https://github.com/Clinkworks/Neptical-Maven-Plugin/blob/master/pom.xml

java jar classloader

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