ulrich
2016-11-28 f4a79ccd85d6175cef27e081628dd013a0b6d77e
NiceFilter
2 files modified
2 files added
86 ■■■■■ changed files
src/java/de/uhilger/um/web/NiceFilter.java 43 ●●●●● patch | view | raw | blame | history
web/WEB-INF/web.xml 16 ●●●●● patch | view | raw | blame | history
web/show.jsp 26 ●●●●● patch | view | raw | blame | history
web/ui/user.jsp 1 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/web/NiceFilter.java
New file
@@ -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() {
    // ...
  }
}
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
web/show.jsp
New file
@@ -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>
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;