⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainservlet.java~

📁 J2EE & Tomcat books published by hope
💻 JAVA~
字号:
package com.sun.j2ee.workflow.control.web;import javax.servlet.ServletException;import javax.servlet.ServletContext;import javax.servlet.ServletConfig;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.PrintWriter;import java.beans.Beans;import java.io.IOException;import java.util.HashMap;import java.util.Locale;import javax.naming.NamingException;import javax.naming.InitialContext;import com.sun.j2ee.workflow.util.JNDINames;import com.sun.j2ee.workflow.control.exceptions.SigninFailedException;import com.sun.j2ee.workflow.control.exceptions.GeneralFailureException;import com.sun.j2ee.workflow.util.Debug;import com.sun.j2ee.workflow.control.warner.ScheduledTask;import com.sun.j2ee.workflow.control.web.ScreenFlowXmlDAO;import com.sun.j2ee.workflow.control.web.RequestProcessor;import com.sun.j2ee.workflow.util.WebKeys;import com.sun.j2ee.workflow.util.JSPUtil;public class MainServlet extends HttpServlet {    private HashMap urlMappings;    public void init() {        Debug.println("MainServlet: Initializing");        String requestMappingsURL = null;        try {            requestMappingsURL = getServletContext().getResource("/WEB-INF/xml/requestmappings.xml").toString();        } catch (java.net.MalformedURLException ex) {            Debug.println("ScreenFlowManager: initializing ScreenFlowManager malformed URL exception: " + ex);        }       urlMappings = ScreenFlowXmlDAO.loadRequestMappings(requestMappingsURL);       getServletContext().setAttribute(WebKeys.URLMappingsKey, urlMappings);       Debug.println("MainServlet: loaded urlMappings");       String serverType = null;       try {            InitialContext ic = new InitialContext();            serverType = (String)ic.lookup(JNDINames.SERVER_TYPE);            getServletContext().setAttribute(WebKeys.ServerTypeKey, serverType);        } catch (NamingException ex) {            Debug.println("Server Type not specified in deployment descriptor: using default J2ee Security Adapter");        }        getScreenFlowManager();        getRequestProcessor();        //warn task init        ServletConfig scg = this.getServletConfig();        String runtask = scg.getInitParameter("RunScheduleTask");              if (runtask!=null)        {            if ((runtask.equals("True")))        {        Debug.println("MainServlet: Running Scheduled Task");                ScheduledTask stask = new ScheduledTask();        }        }        Debug.println("MainServlet: Initialization complete");    }     public  void doPost(HttpServletRequest request, HttpServletResponse  response)        throws IOException, ServletException {        doGet(request, response);    }    public  void doGet(HttpServletRequest request, HttpServletResponse  response)        throws IOException, ServletException {        String selectedURL = request.getPathInfo();        String client = request.getParameter("client");        // the following tests the request event feature of servlet 2.4        // the code change event attributes to generate request events        String setdate = request.getParameter("setdate");        if (setdate!=null)        {            if (setdate.equals("true"))            {                generateEvent(request);            }        }        // the current tomcat is resetting the outputstream so this is a workaround        if ((selectedURL != null) && selectedURL.equals("/white")) return;        HttpSession session = request.getSession();        ScreenFlowManager screenManager = null;         Debug.println("MainServlet: url " + selectedURL);         Debug.println("MainServlet: character encoding " + request.getCharacterEncoding());                  // check if url is protected before processing request         URLMapping current = getURLMapping(selectedURL);         /*          *This login check can be implemented as Filter          */         session.setAttribute(WebKeys.SigninTargetURL, selectedURL);          if ((current != null) && current.requiresSignin()) {             UserBean user = getUserBean(session);             Debug.println("Mainservlet request require signin");             if (user.isLoggedIn()) {                 doProcess(request);             } else {                 String signinScreen = getScreenFlowManager().getSigninScreen();                 session.setAttribute(WebKeys.CurrentScreen, signinScreen);                 /*                 if (!selectedURL.equals("/verifysignin"))                 {                    session.setAttribute(WebKeys.SigninTargetURL, selectedURL);                 }                  */                 Debug.println("MainServlet: not signon yet"+ request.getParameter("proj_ID"));             }         } else {             doProcess(request);         }             Locale locale = JSPUtil.getLocale(request.getSession());             Debug.println("local :" + locale);             Debug.println("MainServlet: forward to " + getScreenFlowManager().getTemplate(locale));             try{                 getServletConfig().getServletContext().getRequestDispatcher(getScreenFlowManager().getTemplate(locale)).forward(request, response);                          }             catch (Throwable ex)             {             Debug.println("error"+ex);             }       }    private void doProcess(HttpServletRequest request) throws ServletException {        try {                 getRequestProcessor().processRequest(request);                 getScreenFlowManager().getNextScreen(request);        } catch (Throwable ex) {            Debug.println("MainServlet Excpetion: " + ex);            String className = ex.getClass().getName();            String exceptionScreen = getScreenFlowManager().getExceptionScreen(className);            Debug.println("MainServlet: Error target screen is: " + exceptionScreen);            // put the exception in the request            request.setAttribute("javax.servlet.jsp.jspException", ex);            if (exceptionScreen != null) {                request.getSession().setAttribute(WebKeys.CurrentScreen, exceptionScreen);            } else {                // send to general error screen                Debug.println("MainServlet: unknown exception: " + className);                throw new ServletException("MainServlet: unknown exception: " + ex.toString());           }       }    }    private RequestProcessor getRequestProcessor() {         RequestProcessor rp = (RequestProcessor)getServletContext().getAttribute(WebKeys.RequestProcessorKey);         if ( rp == null ) {             Debug.println("MainServlet: initializing request processor");             rp = new RequestProcessor();             rp.init(getServletContext());             getServletContext().setAttribute(WebKeys.RequestProcessorKey, rp);        }       return rp;    }    private ScreenFlowManager getScreenFlowManager() {            ScreenFlowManager screenManager = (ScreenFlowManager)getServletContext().getAttribute(WebKeys.ScreenManagerKey);            if (screenManager == null ) {                Debug.println("MainServlet: Loading screen flow definitions");                screenManager = new ScreenFlowManager();                screenManager.init(getServletContext());                getServletContext().setAttribute(WebKeys.ScreenManagerKey, screenManager);             }        return screenManager;    }        private URLMapping getURLMapping(String urlPattern) {        if ((urlMappings != null) && urlMappings.containsKey(urlPattern)) {            return (URLMapping)urlMappings.get(urlPattern);        } else {            return null;        }    }        public UserBean getUserBean(HttpSession session) {        UserBean user = (UserBean)        session.getAttribute(WebKeys.UserBeanKey);        if (user == null) {            user = new UserBean();            session.setAttribute(WebKeys.UserBeanKey, user);        }        return user;    }        public void generateEvent(HttpServletRequest request)    {        java.util.Calendar rdate = java.util.Calendar.getInstance();        rdate.set(102 + 1900, 8, 27, 18, 20);                request.setAttribute("requestStartDate", rdate);        request.setAttribute("requestStartDate", "current");        request.removeAttribute("requestStartDate");    }        public void destroy()        {         Debug.println("MainServlet: destroy()");           }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -