L'origine n'est pas autorisée par Access-Control-Allow-Origin - comment faire pour activer la SCRO à l'aide d'un web très simple pile et guice

Je ne suis pas sûr si le problème est que les technologies utilisées, ou ma compréhension des technologies.

J'ai une application html5 écrit en javascript et html hébergé sur un serveur apache 2.2.

J'ai une application java écrit en java à l'aide de la jetée, guice, jackson, jersey qui héberge un simple service REST.

À la fois les applications s'exécutent sur la même case, un sur le port 80 (pur html5 application hébergée sur un serveur apache), l'autre sur le port 8080 (pur java application hébergée sur jetty/guice)

Je crois que la réponse est dans les en-têtes de gi de l'envoi de retour.
De la SCRO en-têtes de dire au navigateur que vous permettre à l'extérieur de demandes de frapper votre api. Je n'arrive pas à comprendre comment configurer mon Jetée, Guice serveur de retourner le bon de la SCRO-têtes.

Je suis en utilisant un imbeded serveur Jetty donc je n'ai pas de web.xml fichier pour ajouter les en-têtes.

Il se peut aussi être quelque chose à voir avec la façon dont le HTML5 serveur d'application (dans ce cas, apache 2.2) est de servir de l'application.

Apache httpd.fichier conf a l'entrée:

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>

dans mon guice servlet de configuration j'ai le texte suivant:

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());
        serve("/*").with(GuiceContainer.class, guiceContainerConfig);
    }
}

Je pense que le problème est dans mon guice config car je n'ai pas de place pour définir les en-têtes de réponse.

Je suis en utilisant un serveur jetty embarqué et donc j'ai pensé dev mode permettrait de contourner l'ensemble de vérifier, mais je peux me tromper.

Je vous remercie pour tous les conseils.

double possible de Pourquoi suis-je voir une "origine n'est pas autorisée par Access-Control-Allow-Origin" erreur ici?
Ma question est côté serveur, l'exemple traite avec le côté client. Le côté client de la bibliothèque se charge déjà de ces inconsistancies. C'est un serveur basé question.
Ajouté, depuis im en utilisant un serveur jetty embarqué avec guice. Je suis savez pas comment configurer sans web.xml... je sais que c'est un manque de compréhension des technologies. mais j'ai l'impression que la technologie de la pile à cette question est suffisamment différent de la double possible qu'il mérite son propre attention puisqu'il s'agit d'un très différente de la technologie de la pile.
L'appelant et de l'appelé sont sur la même case, juste sur des ports différents.. Et de l'utilisation de deux différents serveur piles... je sais que c est la réponse. Je suis juste manque quelque chose sur la façon de mettre en œuvre, ou je suis totalement confus quant à ce que je suis en train de faire.

OriginalL'auteur AnthonyJClink | 2013-05-03