+ class LinkServlet extends HttpServlet {
+ private static final long serialVersionUID = 3749990143146845708L;
+
+ @Override
+ protected void service(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException,
+ IOException {
+ String path = request.getPathInfo();
+ String userAgent = request.getHeader("User-Agent").toLowerCase();
+ boolean isBot = false;
+ boolean isCompatibleBrowser = false;
+ if (userAgent.contains("bot") || userAgent.contains("facebook")
+ || userAgent.contains("twitter")) {
+ isBot = true;
+ } else if (userAgent.contains("webkit")
+ || userAgent.contains("gecko")
+ || userAgent.contains("firefox")
+ || userAgent.contains("msie")
+ || userAgent.contains("chrome")
+ || userAgent.contains("chromium")
+ || userAgent.contains("opera")
+ || userAgent.contains("browser")) {
+ isCompatibleBrowser = true;
+ }
+
+ if (isBot)
+ log.warn("# BOT " + request.getHeader("User-Agent"));
+ if (isCompatibleBrowser && log.isTraceEnabled())
+ log.trace("# BWS " + request.getHeader("User-Agent"));
+ // if (isCompatibleBrowser) {// redirect
+ response.setHeader("Location", "/#" + path);
+ response.setStatus(HttpServletResponse.SC_FOUND);
+ // }
+ }
+ }
+