1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.servlet;
19
20 import javax.servlet.RequestDispatcher;
21 import javax.servlet.ServletException;
22 import javax.servlet.http.HttpServlet;
23 import javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28
29 import java.io.IOException;
30
31
32
33
34
35
36
37 public class RedirectServlet extends HttpServlet {
38
39 private static final Logger LOG = LoggerFactory.getLogger(RedirectServlet.class);
40
41
42
43
44 private static final long serialVersionUID = 1L;
45
46 @Override
47 protected void doPost(HttpServletRequest request, HttpServletResponse response)
48 throws ServletException, IOException {
49 try {
50 doGet(request, response);
51 } catch (ServletException | IOException e) {
52 LOG.error("Error executing GET request.", e);
53 }
54 }
55
56 @Override
57 protected void doGet(HttpServletRequest request, HttpServletResponse response)
58 throws ServletException, IOException {
59
60 final String pathInfo = request.getPathInfo();
61 final String queryString = request.getQueryString();
62
63 if ("/".equals(pathInfo) && queryString == null) {
64 RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/resources/form.html");
65 try {
66 dispatcher.forward(request, response);
67 } catch (ServletException | IOException e) {
68 LOG.error("Error in request dispatcher forwarding.", e);
69 }
70 return;
71 }
72
73
74 if (pathInfo.startsWith("/resources/")) {
75 RequestDispatcher dispatcher = getServletContext().getNamedDispatcher("default");
76 try {
77 dispatcher.forward(request, response);
78 } catch (ServletException | IOException e) {
79 LOG.error("Error in named request dispatcher forwarding.", e);
80 }
81 return;
82 }
83
84 try {
85 response.sendRedirect(
86 request.getContextPath() + "/any23" +
87 request.getPathInfo() +
88 (queryString == null ? "" : "?" + queryString)
89 );
90 } catch (IOException e) {
91 LOG.error("Error in sending HttpServletResponse Redirect.", e);
92 }
93
94 }
95 }