Ich habe Legacy-Web-Anwendung mit Apache Tapestry gebaut. Ich habe die meisten der Funktionalität der Anwendung mit Ausnahme von wenigen Seiten veraltet. Ich möchte, dass diese Anwendung in der Produktion ausgeführt wird, aber ich möchte veraltete Seiten/URLs auf eine Fehlerseite mit 404-Fehlercode umleiten. Wo sollte ich es konfigurieren? Ich habe web.xml und jboss-web.xml. Muss ich das in einer Tapestry-Konfigurationsdatei machen?Tapestry: Wie veraltete URLs auf eine Fehlerseite umgeleitet werden
0
A
Antwort
0
Sie können eine RequestFilter zum Request Service, das heißt in Ihrem AppModule beitragen:
public void contributeRequestHandler(
OrderedConfiguration<RequestFilter> configuration)
{
// Each contribution to an ordered configuration has a name,
// When necessary, you may set constraints to precisely control
// the invocation order of the contributed filter within the pipeline.
configuration.add("DeprecatedURLs", new RequestFilter() {
@Override
public boolean service(Request request,
Response response,
RequestHandler handler) throws IOException
{
String path = request.getPath();
if (isDeprecated(path))
{
response.sendError(404, "Not found");
return;
}
return handler.service(request, response);
}
}, "before:*");
}
Beachten Sie die before:*
Bestell Einschränkung, soll es diese Filter als in RequestHandler
's configuration zuerst registrieren.
Verwandte Themen
- 1. HttpServletResponse.sendError() wird nicht auf Fehlerseite umgeleitet
- 2. Wie alle URLs zu einem www umgeleitet werden. Subdomäne
- 3. Alle URLs umleiten zu mod_rewrite Fehlerseite
- 4. Wie zu einer benutzerdefinierten Fehlerseite mit mod_rewrite basierend auf 404-Fehler umgeleitet werden
- 5. Wie können Ausnahmen abgefangen und auf die Fehlerseite in Lift umgeleitet werden?
- 6. Wie eine URL 404-Fehlerseite auf MVC weiterleiten
- 7. Wie auf thankyou.html Seite (PHP) umgeleitet werden
- 8. Wie kann CakePHP auf eine andere Aktion/Controller umgeleitet werden?
- 9. Wie werden zwei verschiedene URLs in Rails 2 auf dieselbe Aktion umgeleitet?
- 10. URLs Umgeleitet zu root für Webroot-Dateien
- 11. Wie wird auf eine benutzerdefinierte Fehlerseite weitergeleitet?
- 12. Wie kann ich Azure Application Gateway so konfigurieren, dass alte SSL-Verbindungen umgeleitet werden?
- 13. Wie wird auf eine andere Seite umgeleitet?
- 14. Wie wird auf eine bestimmte Seite umgeleitet?
- 15. wie auf spezielle URL auf 404 umgeleitet werden
- 16. Sollen Instanzfelder auf einer Tapestry-Seite oder -Komponente synchronisiert werden?
- 17. ASP.NET MVC versuchen, auf eine andere Seite umgeleitet werden nach
- 18. eine Fehlerseite MVC
- 19. Wie können Benutzer nach Rolle umgeleitet werden?
- 20. Wie genau funktioniert Tapestry Mixin?
- 21. wie auf ASPX-Seite in einer Controller-Aktion umgeleitet werden
- 22. Wie Bindings auf "außerhalb" eines XAML-Steuerelements umgeleitet werden
- 23. wie Benutzer auf andere Website umgeleitet werden, nachdem PHP Form
- 24. Wie zum erstellten Dokument umgeleitet werden?
- 25. Wie alle Inhalte, die in `.html enden, auf die root-Route umgeleitet werden (indem routes.rb nur geändert wird)?
- 26. ProcessBuilder auf Standardausgabe umgeleitet
- 27. Wie werden Django-URLs abgeglichen?
- 28. HTML kann nicht umgeleitet werden
- 29. eine benutzerdefinierte 404-Fehlerseite programmatisch
- 30. Wie richtig auf die Fehlerseite umleiten? php
Ich sehe nichts wie AppModule oder RequestHandler in diesem Legacy-Anwendungscode. Ich weiß wirklich nichts über Tapisserie. Ich sehe TapestryFilter in meiner web.xml-Datei in etwa so konfiguriert. \t \t ResourcesApp filter-name> \t \t org.apache.tapestry5.TapestryFilter Filter-Klasse> \t \t \t \t ResourcesApp \t \t /* url-pattern> \t filter-mapping> –
user1614862
Es sollte statt 'AppModule' sein' ResourcesAppModule', weil Ihr Filter ist der Name 'ResourcesAp p'. Wenn Sie Tapestry nicht kennen und sich nicht für die Aufgabe in Ihrer "Legacy" -App interessieren, können Sie immer einen HTTP-Proxy wie Apache oder NGINX vor Ihrer App einrichten und dort die veralteten URLs verarbeiten. –
Entschuldigung vergessen zu fragen, welche Tapisserie-Version haben Sie? –