From f4a79ccd85d6175cef27e081628dd013a0b6d77e Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Mon, 28 Nov 2016 22:06:44 +0000
Subject: [PATCH] NiceFilter

---
 src/java/de/uhilger/um/web/NiceFilter.java |   43 +++++++++++++++++++++
 web/WEB-INF/web.xml                        |   16 ++++++++
 web/ui/user.jsp                            |    1 
 web/show.jsp                               |   26 +++++++++++++
 4 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/src/java/de/uhilger/um/web/NiceFilter.java b/src/java/de/uhilger/um/web/NiceFilter.java
new file mode 100644
index 0000000..61d5a39
--- /dev/null
+++ b/src/java/de/uhilger/um/web/NiceFilter.java
@@ -0,0 +1,43 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package de.uhilger.um.web;
+
+import java.io.IOException;
+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.http.HttpServletRequest;
+
+/**
+ *
+ * @author hilgeru
+ */
+public class NiceFilter implements Filter {
+
+  @Override
+  public void init(FilterConfig filterConfig) throws ServletException {
+    // ...
+  }
+
+  @Override
+  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+    if(request instanceof HttpServletRequest) {
+      HttpServletRequest hr = (HttpServletRequest) request;
+      String servletPath = hr.getServletPath();
+      String[] path = servletPath.split("/");
+      request.getRequestDispatcher("../api?c=de.uhilger.um.api.UserMgr&m=" + path[2]).forward(request, response);
+    }
+  }
+
+  @Override
+  public void destroy() {
+    // ...
+  }
+  
+}
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
index 3187293..eb731ab 100644
--- a/web/WEB-INF/web.xml
+++ b/web/WEB-INF/web.xml
@@ -5,6 +5,14 @@
         <param-name>dsname</param-name>
         <param-value>jdbc/NewUserDB</param-value>
     </context-param>
+    <filter>
+        <filter-name>NiceFilter</filter-name>
+        <filter-class>de.uhilger.um.web.NiceFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>NiceFilter</filter-name>
+        <url-pattern>/svc/*</url-pattern>
+    </filter-mapping>
     <listener>
         <listener-class>de.uhilger.um.App</listener-class>
     </listener>
@@ -16,10 +24,18 @@
             <param-value>de.uhilger.um.api</param-value>
         </init-param>
     </servlet>
+    <servlet>
+        <servlet-name>TestServlet</servlet-name>
+        <jsp-file>/show.jsp</jsp-file>
+    </servlet>
     <servlet-mapping>
         <servlet-name>TransitServlet</servlet-name>
         <url-pattern>/api</url-pattern>
     </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>TestServlet</servlet-name>
+        <url-pattern>/test/*</url-pattern>
+    </servlet-mapping>
     <session-config>
         <session-timeout>
             30
diff --git a/web/show.jsp b/web/show.jsp
new file mode 100644
index 0000000..47eea25
--- /dev/null
+++ b/web/show.jsp
@@ -0,0 +1,26 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>um Werte</title>
+  </head>
+  <body>
+    <p>Werte</p>
+    <p>pathInfo: <%=request.getPathInfo()%></p>
+    <p>requestURL <%=request.getRequestURL()%></p>
+    <p>contextPath <%=request.getContextPath()%></p>
+    <p>servletPath <%=request.getServletPath()%></p>
+    <p>
+      <%
+        String pathInfo = request.getPathInfo();
+        String[] path = pathInfo.split("/");
+        for(int i = 0; i < path.length; i++) {
+       %>
+        <p>path[<%=i%>]: <%=path[i]%></p>
+       <%
+        }
+       %>
+    </p>
+  </body>
+</html>
diff --git a/web/ui/user.jsp b/web/ui/user.jsp
index baa8319..39620e5 100644
--- a/web/ui/user.jsp
+++ b/web/ui/user.jsp
@@ -22,7 +22,6 @@
       <button class="user-save-btn">OK</button>
     </div>
     <script src="/jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script>
-    <script src="/jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script>
     <script src="ui.js"></script>
     <script type="text/javascript" charset="utf-8">
       //var ui;

--
Gitblit v1.9.3