From e6452406b836ccd6c19002b4dd4225bb4b085716 Mon Sep 17 00:00:00 2001 From: rk Date: Tue, 25 Sep 2001 11:14:24 +0000 Subject: [PATCH] Saved one redirect --- source/Mir.java | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/source/Mir.java b/source/Mir.java index d4fca0c4..49e24dcd 100755 --- a/source/Mir.java +++ b/source/Mir.java @@ -53,7 +53,7 @@ public class Mir extends AbstractServlet } session = req.getSession(true); - + if (req.getServerPort() == 443) http="https"; else http="http"; res.setContentType("text/html"); String moduleName = req.getParameter("module"); @@ -86,14 +86,14 @@ public class Mir extends AbstractServlet session.setAttribute("login.uid", userEntity); theLog.printDebugInfo("--login: trying to retrieve login.target"); String target = (String)session.getAttribute("login.target"); - + if (target != null) { theLog.printDebugInfo("Redirect: "+target); int serverPort = req.getServerPort(); String redirect = ""; String redirectString =""; - - + + if(serverPort==80){ redirect=res.encodeURL(http + "://" + req.getServerName() + target); redirectString = "going Mir"; } res.getWriter().println(redirectString); - - + + //res.sendRedirect(redirect); - + } else { // redirecting to default target theLog.printDebugInfo("--login: no target - redirecting to default"); @@ -131,40 +131,43 @@ public class Mir extends AbstractServlet if (userEntity == null) { // redirect to loginpage String redirectString = req.getRequestURI(); - if (req.getQueryString()!=null) redirectString += "?" + req.getQueryString(); - theLog.printDebugInfo("STORING: " + redirectString); - session.setAttribute("login.target", redirectString); + String queryString = req.getQueryString(); + if (queryString!=null && !queryString.equals("")) { + redirectString += "?" + req.getQueryString(); + theLog.printDebugInfo("STORING: " + redirectString); + session.setAttribute("login.target", redirectString); + } _sendLoginPage(res,req,res.getWriter()); return; } - // Bei blossem Serveltaufruf redirect auf Standardstarttemplate + // If no module is specified goto standard startpage if (moduleName == null || moduleName.equals("")) { theLog.printDebugInfo("no module: redirect to standardpage"); _sendStartPage(res,req, res.getWriter(),userEntity); return; } - //From now on normal Dispatching... + //From now on regular dispatching... try { try { theServletModule = Class.forName("mircoders.servlet.ServletModule" + moduleName); } catch (ClassNotFoundException e) { - // searching Servlet webdb.servlet-classes + // searching servletmodule in mir.servlet-classes theServletModule = Class.forName("mir.servlet.ServletModule" + moduleName); } - //Instanciate the ServletModule + //Instantiate the ServletModule Method m = theServletModule.getMethod("getInstance",null); smod = (ServletModule)m.invoke(null,null); ServletModuleDispatch.dispatch(smod,req,res); } - catch (NoSuchMethodException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " getInstance() nicht gefunden."); } - catch (InvocationTargetException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " target nicht gefunden."); } - catch (ClassNotFoundException e) { handleError(res, res.getWriter(), "ServletModule" + moduleName + " nicht gefunden."); } - catch (IllegalArgumentException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " nicht gefunden."); } + catch (NoSuchMethodException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " getInstance() not found."); } + catch (InvocationTargetException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " target not found."); } + catch (ClassNotFoundException e) { handleError(res, res.getWriter(), "ServletModule" + moduleName + " not found."); } + catch (IllegalArgumentException e) { handleError( res,res.getWriter(), "ServletModule" + moduleName + " not found."); } catch (ServletModuleException e){ handleError(res,res.getWriter(), "ServletException in Module ServletModule" + moduleName + " -- " + e.toString()); } catch (IllegalAccessException e){ - handleError(res,res.getWriter(), "Kein Zugriff auf Klasse ServletModule" + moduleName + " -- " + e.toString()); } + handleError(res,res.getWriter(), "No access to class ServletModule" + moduleName + " -- " + e.toString()); } // timing... sessionConnectTime = new java.util.Date().getTime() - startTime; @@ -181,7 +184,7 @@ public class Mir extends AbstractServlet out.close(); } catch (Exception e) { - System.err.println("Fehler in ErrorTemplate"); + System.err.println("Error in ErrorTemplate"); } } @@ -210,7 +213,7 @@ public class Mir extends AbstractServlet mergeData.put("session",sessionUrl); HTMLTemplateProcessor.process(res,lang+"/"+loginTemplate, mergeData, out); } catch(HTMLParseException e) { - handleError(res, out, "fehler in logintemplate."); + handleError(res, out, "Error in logintemplate."); } } -- 2.11.0