All pastes #2055828 Raw Edit

Mine

public java v1 · immutable
#2055828 ·published 2011-05-09 17:03 UTC
rendered paste body
package controllers;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;import javax.servlet.ServletConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class FrontController */@WebServlet("/FrontController")public class FrontController extends HttpServlet {	private static final long serialVersionUID = 1L;		// Initializes the servlet.	public void init(ServletConfig config) throws ServletException {		super.init(config);		Controller.setServletContext(config.getServletContext());	}	// Destroys the servlet.	public void destroy() {	}	/**	 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>	 * methods.	 * 	 * @param request servlet request	 * @param response servlet response	 */	protected void processRequest(HttpServletRequest request,			HttpServletResponse response) throws ServletException,			java.io.IOException 	{		String[] uri;		String action;		Controller.setRequest(request);		Controller.setResponse(response);		// since everything is routed to this FC, we need to reroute the static files		if (request.getRequestURI().replaceAll(request.getContextPath(), "").contains(".")) {			getServletContext().getNamedDispatcher("default").forward(request, response);			return;		}				uri = request.getRequestURI().replaceAll(request.getContextPath(), "").split("\\/");		List<String> cleanURI = new LinkedList<String>();		// if the uri starts or ends with a slash the split will add an		// empty string we create a new List without any empty item		for (String s : uri) {			if (!s.equals("")) {				cleanURI.add(s);			}		}				if (cleanURI.size() == 0) {			try {				Home.index();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (Exception e) {				// TODO Auto-generated catch block				e.printStackTrace();			}				} else {			try {				Class<?> c = Class.forName("controllers." + cleanURI.get(0));								// if the size of the list is 2 we load the specified method				// if not we try loading the index method				action = (cleanURI.size() == 2) ? cleanURI.get(1) : "index";								Method m = c.getMethod(action, null);				m.invoke(null, null);			} catch (ClassNotFoundException e) {				response.sendError(HttpServletResponse.SC_NOT_FOUND);			} catch (SecurityException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (NoSuchMethodException e) {				response.sendError(HttpServletResponse.SC_NOT_FOUND);			} catch (IllegalArgumentException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (IllegalAccessException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (InvocationTargetException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}	}	/**	 * Handles the HTTP <code>GET</code> method.	 * 	 * @param request	 *            servlet request	 * @param response	 *            servlet response	 */	protected void doGet(HttpServletRequest request,			HttpServletResponse response) throws ServletException,			java.io.IOException 	{		processRequest(request, response);	}	/**	 * Handles the HTTP <code>POST</code> method.	 * 	 * @param request	 *            servlet request	 * @param response	 *            servlet response	 */	protected void doPost(HttpServletRequest request,			HttpServletResponse response) throws ServletException,			java.io.IOException 	{		processRequest(request, response);	}}