📄 mainservlet.java.svn-base
字号:
package com.nsi.control.web.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.nsi.constants.AppConstants;
import com.nsi.control.exceptions.NsiEventException;
import com.nsi.control.web.ModelManager;
import com.nsi.control.web.ReqProcessor;
import com.nsi.control.web.ScreenManager;
/**
* @author Chris Ye, created on Oct 10, 2008
*
* MainServlet
*/
public class MainServlet extends HttpServlet
{
private static final long serialVersionUID = -3296429255877485172L;
private static Log log = LogFactory.getLog(MainServlet.class);
/**
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
performTask(req, res);
}
/**
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
performTask(req, res);
}
private ReqProcessor getReqProcessor()
{
ReqProcessor rp = (ReqProcessor)getServletContext().getAttribute(AppConstants.RequestProcessorKey);
if(rp == null)
{
rp = new ReqProcessor();
rp.init(getServletContext());
getServletContext().setAttribute(AppConstants.RequestProcessorKey, rp);
}
log.debug("getReqProcessor() -- ReqProcessor[" + rp + "]");
return rp;
}
private ScreenManager getScreenManager()
{
ScreenManager screenManager = (ScreenManager)getServletContext().getAttribute(AppConstants.ScreenManagerKey);
if(screenManager == null)
{
screenManager = new ScreenManager();
screenManager.init(getServletContext());
getServletContext().setAttribute(AppConstants.ScreenManagerKey, screenManager);
}
log.debug("getScreenManager() -- screenManager[" + screenManager + "]");
return screenManager;
}
private void performTask(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
getScreenManager();
getReqProcessor();
HttpSession session = req.getSession();
ModelManager mm = (ModelManager)req.getSession().getAttribute(AppConstants.ModelManagerKey);
if(mm == null)
{
try
{
mm = (ModelManager)getClass().getClassLoader().loadClass("com.nsi.control.web.ModelManager").newInstance();
}
catch(Exception exc)
{
log.error("ModelManager init caught exception : ", exc);
throw new ServletException(" cannot load the modelmanager");
}
session.setAttribute(AppConstants.ModelManagerKey, mm);
mm.init(session);
}
log.debug("performTask() -- modelManager[" + mm + "]");
try
{
getReqProcessor().processRequest(req,res);
if( !res.isCommitted())
{
getScreenManager().setNextScreen(req);
}
}
catch(NsiEventException nsiex)
{
log.error("performTask() -- caught NsiEventException: " + nsiex);
req.setAttribute("javax.servlet.jsp.jspException", nsiex);
session.setAttribute("currentScreen", "ERROR");
}
if( !res.isCommitted())
{
getServletConfig().getServletContext().getRequestDispatcher(getScreenManager().getTemplate()).forward(req, res);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -