Jaki jest najlepszy sposób ustawiania nagłówków HTTP (na podstawie wzorców nazw plików) w Jetty 6.1? Czy jest to możliwe za pośrednictwem pliku jetty.xml (lub jetty-web.xml)? Czy muszę zmodyfikować web.xml?Ustawianie nagłówków HTTP za pomocą Jetty
Odpowiedz
Możesz dodać nagłówki według konfiguracji. W jetty.xml umieścić następujący przykład:
<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>
Zobacz RewriteHandler api więcej przykładów tego, co jest możliwe (to był już dostępny w Jetty 6 RewriteHandler)
Aby uzyskać więcej informacji, tutaj jest moja konfiguracja Maven z wtyczką pomost:
<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>
Odpowiedź generycznych na moje pytanie jest oczywiście tym:
<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);
}
}
to powinno działać w dowolnym pojemniku JavaEE internetowej (i mogą być bardziej konfigurowalny z <init-param>
s).
Ale czy nie ma sposobu, aby to zrobić wyłącznie deklaratywnie w Mola?
Akceptowane aż ktoś dowiaduje się, jak to zrobić deklaratywnie. –
Istnieje sposób na dodanie nagłówka na pomoście. przy użyciu java.lang.instrument i javassist. patrz poniższy link do szczegółów:
http://hunmr.blogspot.com/2012/12/mock-jetty-behavior-adding-customized.html
- 1. Ustawianie globalnych nagłówków angularjs $ http
- 2. Ustawianie nagłówków HTTP w Play 2.0 (scala)?
- 3. Ustawianie nagłówków HTTP aplikacji w AngularJS
- 4. SDWebImage i ustawianie niestandardowych nagłówków HTTP?
- 5. Apache Solr: Ustawianie nagłówków odpowiedzi HTTP z solrconfig.xml Dla CORS
- 6. Wysyłanie nagłówków http pytonem
- 7. Najlepszy sposób na sprawdzenie nagłówków odpowiedzi HTTP za pomocą Selenium
- 8. Ustawianie nagłówków HTTP dla wszystkich żądań w teście z kolbą
- 9. Przekazywanie tokenu za pośrednictwem nagłówków HTTP SignalR
- 10. Ustawianie nagłówków kolumn w JTable
- 11. Dynamiczne ustawianie niestandardowego nagłówka HTTP za pomocą klienta Spring-WS
- 12. Składnia nagłówków HTTP statusie
- 13. Parsowanie nieprzetworzonych nagłówków HTTP
- 14. Wysyłanie nagłówków HTTP za pomocą żądania HTTP WWW do uwierzytelniania NTLM
- 15. Dodawanie niestandardowych nagłówków za pomocą HttpWebRequest
- 16. Wdrażanie serwletu programowo za pomocą Jetty
- 17. Jetty bezpieczne pliki cookie sesji, gdy za odwrotnym proxy za pomocą HTTP
- 18. Ustawianie subdomen za pomocą htaccess
- 19. Ustawianie daty za pomocą milisekund
- 20. Ustawianie wygasających nagłówków dla niedziałających czcionek
- 21. Nie propaguj nagłówków przekierowań HTTP
- 22. AngularJS - dostęp do nagłówków HTTP
- 23. Usuwanie nagłówków HTTP w Apache2
- 24. Obsługa autouzupełniania nagłówków za pomocą ElasticSearch
- 25. Ustawianie nagłówków w żądaniu zasobu aktywnego
- 26. Odbieranie nagłówków HTTP za pośrednictwem NSURLRequest/NSURLConnection w kakao
- 27. Ustawianie parametrów hadoop za pomocą boto?
- 28. Jetty: HTTP ERROR: 503/Usługa niedostępna
- 29. Jak debugować HTTP Error 503 - Jetty
- 30. Usuń nagłówek HTTP Server w Jetty 9
Łącza są martwe – Rushil