Redirect 301 Permanentes Umleiten in Java Servlet
1. Was ist Redirect 301?
Redirect 301 oder sogenannte eine alte Addresse auf einer neuen Addresse permanent umschalten (redirect permanently). Zum Beispiel hat Ihr momentaner Artikel die URL :
- http://yourdomain.com/document/123/java-servlet
Um Sie möchten sie auf der neuen URL permanent umschalten
- https://yourdomain.com/article/123/java-servlet-tutorial
In diesem Fall sollen Sie Redirect 301 behandeln. Wenn der Benutzer die alte Addresse zugriff, wird es auf die neue Addresse mit der Statuscode 301 umgeschaltet. Die Statuscode 301 hat eine Bedeutung von der Benachrichtigung mit dem Browser des Benutzer sowie Benachrichtigung mit dem Suchmaschine wie goolge. Normalerweise kostet es einige Tagen für den Suchmaschine von goolge, die alte Link durch die neue zu ersetzen
Notiz: redirect 301,wird die Ranking der Webseite einbisschen reduzieren aber nicht wesentlich
Redirect 301, ist der beste Weg wenn Sie eine ganze Webseite vom alten Domain zum neuen Domain schieben und es kostet 1 bis 2 Woche für den Suchmaschine von google bei der Ersatz aller alten URL. Und der Ranking der Webseiten reduziert einbisschen aber nicht wesentlich
2. Redirect 302 und Redirect 301
Im Servlet gewöhnen Sie sehr an der Methode von response.sendRedirect(). Das ist die Methode der Weiterleitung der Anforderung des Benutzer auf einer neuen Seite. Das ist Redirect 302 oder die sogenannte vorläufige Umschaltung
** Redirect 302
// Temporary Redirect (Redirect 302)
response.sendRedirect(newURL);
** Redirect 301
// Redirect 301.
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", newUrl);
3. Zum Beispiel: Redirect 301
Folgend ist ein einfaches Projekt mit der Benutzung von Redirect 301.
Class DataUtils ist eine Utility Klasse um die Plan (map) zwischen die alten URL und neuen URL abzurufen. Sie können diese Informationen in Database archivieren
DataUtils.java
package org.o7planning.redirect301;
import java.util.HashMap;
import java.util.Map;
public class DataUtils {
// Die neue URL - die alte URL
private static Map<String, String> redirect301Map;
public static Map<String, String> getRedirect301Map() {
if (redirect301Map == null) {
redirect301Map = new HashMap<String, String>();
redirect301Map.put("http://localhost:8080/Redirect301/document/123/java-servlet",
"http://localhost:8080/Redirect301/article/123/java-servlet-tutorial");
redirect301Map.put("http://localhost:8080/Redirect301/document/111/java-io-tutorial",
"http://localhost:8080/Redirect301/article/111/java-io-tutorial");
}
return redirect301Map;
}
}
MyServlet bezeichnet eine Website von Ihnen
MyServlet.java
package org.o7planning.redirect301;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/*")
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MyServlet() {
super();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String text = "<h2>Hello</h2>"//
+ "You are in URL: <br/>"//
+ "<h3>" + request.getRequestURL() + "</h3>";
response.getWriter().print(text);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Redirect301Filter ist ein filter zur Prüfung der URL, die nach dem Server geschickt werden. Wenn das die alten URL sind, auf die neuen URL umschalten mit Redirect 301
Redirect301Filter.java
package org.o7planning.redirect301;
import java.io.IOException;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebFilter("/*")
public class Redirect301Filter implements Filter {
public Redirect301Filter() {
}
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
// Die nach dem Server schickende URL.
String url = request.getRequestURL().toString();
System.out.println("Incomming URL = " + url);
Map<String, String> redirect301Map = DataUtils.getRedirect301Map();
// Die neue URL finden.
String newUrl = redirect301Map.get(url);
if (newUrl != null) {
// Die Umleitung 301 (Redirect 301).
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", newUrl);
return;
}
chain.doFilter(req, resp);
}
@Override
public void init(FilterConfig fConfig) throws ServletException {
}
}
FÜhren Sie das Beispiel durch
Anleitungen Java Servlet/JSP
- Installieren Sie Tomcat Server für Eclipse
- Installieren Sie Glassfish Web Server unter Windows
- Führen Sie die Maven Java-Webanwendung im Tomcat Maven Plugin aus
- Führen Sie die Maven Java-Webanwendung im Jetty Maven Plugin aus
- Ausführen einer Hintergrundaufgabe in der Java Servlet-Anwendung
- Die Anleitung zum Java Servlet für den Anfänger
- Die Anleitung zu Java Servlet Filter
- Die Anleitung zum Java JSP für den Anfänger
- Die Anleitung zu Java JSP Standard Tag Library (JSTL)
- Installieren Sie WebToolsPlatform für Eclipse
- Erstellen Sie eine einfache Anmeldeanwendung und sichere Seiten mit Java Servlet Filter
- Erstellen Sie eine einfache Java Web Application mit Servlet, JSP und JDBC
- Hochladen und Herunterladen von Dateien die auf der Festplatte mit Java Servlet gespeichert sind
- Laden Sie mit Java Servlet Dateien aus der Datenbank hoch und laden Sie sie herunter
- Bild von Datenbank mit Java Servlet anzeigen
- Redirect 301 Permanentes Umleiten in Java Servlet
- Wie automatisch http auf https in einer Web-Anwendung Java umleiten?
- Verwenden Sie Google reCAPTCHA in der Java-Webanwendung
Show More