Quelle est la meilleure façon de définir des en-têtes HTTP (basés sur des modèles de nom de fichier) dans Jetty 6.1? Est-ce possible via jetty.xml (ou jetty-web.xml)? Ou dois-je modifier web.xml?Définition d'en-têtes HTTP avec Jetty
Répondre
Vous pouvez ajouter des en-têtes par configuration. En jetty.xml, mettez l'exemple suivant:
<New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="rules">
<Array type="org.eclipse.jetty.rewrite.handler.Rule">
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*.jsp</Set>
<Set name="name">myheader</Set>
<Set name="value">the value of myheader</Set>
</New>
</Item>
</Array>
</Set>
</New>
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<Ref id="RewriteHandler"/>
</Item>
</Array>
</Set>
</New>
</Set>
Voir RewriteHandler api pour plus d'exemples de ce qui est possible (il était déjà disponible en Jetty 6 RewriteHandler)
Pour plus d'informations, voici ma configuration Maven du plugin jetée:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.5.v20120716</version>
<configuration>
<jettyXml>${basedir}/src/main/etc/jetty.xml</jettyXml>
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>8.1.5.v20120716</version>
<type>jar</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-rewrite</artifactId>
<version>8.1.5.v20120716</version>
<type>jar</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
La réponse générique à ma question est bien sûr ceci:
<web-app>
<filter>
<filter-name>headersFilter</filter-name>
<filter-class>com.example.MyHeadersFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>headersFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
...
</web-app>
public class MyHeadersFilter implements Filter {
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
throws IOException,
ServletException {
final HttpServletRequest httpRequest = (HttpServletRequest) request;
final HttpServletResponse httpResponse = (HttpServletResponse) response;
final String requestUri = httpRequest.getRequestURI();
if (requestUri.matches(...)) {
httpResponse.addHeader(...);
}
chain.doFilter(request, response);
}
}
Cela devrait fonctionner dans un conteneur Web JavaEE (et peut être plus configurable avec <init-param>
s).
Mais n'y a-t-il pas un moyen de le faire purement déclaratif dans Jetty?
acceptées jusqu'à ce que quelqu'un découvre comment le faire déclarative. –
Il existe un moyen d'ajouter un en-tête dans la jetée. en utilisant java.lang.instrument et javassist. consultez lien suivant pour plus de détails:
http://hunmr.blogspot.com/2012/12/mock-jetty-behavior-adding-customized.html
- 1. Jetty Client HTTP avec SSL
- 2. Solr + Jetty donne HTTP 503 sur Debian
- 3. Servlet https avec Jetty
- 4. Plusieurs dossiers webroot avec Jetty
- 5. Les expressions JSP n'évaluent pas avec Jetty
- 6. Premiers pas avec Embedded Jetty
- 7. Connexion réinitialisée SQLException avec jetty
- 8. Erreur de schéma XML avec Jetty
- 9. Définition d'une configuration de journalisation Webapp externe avec Jetty et log4j
- 10. Problème avec cometd et jetty 6/7
- 11. Étrangeté avec Jetty servant des images
- 12. Mule/Jetty Setup
- 13. Jetty Maxidletime
- 14. Setup Jetty 7 avec le moteur JSP
- 15. jetty et eclipse
- 16. Jetty RewriteHandler et RewriteRegexRule
- 17. Jetty 6 - VirtualHosting
- 18. Jetty, preflight et ajax
- 19. Maven, Jetty, JOTM
- 20. Jetty Maven Plugin
- 21. Comment créer une servlet avec jruby (avec jetty)?
- 22. Jetty 6: Erreur inconnue 99
- 23. Aide Définition Certains Liens vers HTTP et HTTPS
- 24. Comment activer le digest HTTP pour la sécurité de jetty/spring intégrée?
- 25. Maven - Jetty - org.apache.maven.lifecycle.LifecycleExecutionException: Échec
- 26. Embedded Jetty et SOAP
- 27. Webapps pour i-Jetty
- 28. Metro + Jetty + OSGi = douleur
- 29. Serveur Jetty pour Windows
- 30. Définition du type de requête HTTP d'un <iframe>
Les liens sont morts – Rushil