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

📄 controller.java

📁 一个用JSP写的网络购物系统
💻 JAVA
字号:
package cn.edu.dlnu.frame.controler;

import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.ResourceBundle;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.edu.dlnu.frame.actions.BaseAction;



public class Controller extends HttpServlet {

    protected HashMap<String, BaseAction> events = new HashMap<String, BaseAction>();

    public void init () throws ServletException {

      // get the event values and save them into events
      ResourceBundle bundle = ResourceBundle.getBundle ("actions");

      Enumeration<String> e = bundle.getKeys();
      while (e.hasMoreElements()) {
        String key = (String) e.nextElement();
        String value = bundle.getString(key);
        try {
          BaseAction event = (BaseAction) Class.forName(value).newInstance();
          System.out.print(key);
          events.put (key, event);
          } catch (Exception exc) {
          System.out.print("init event:" + key + ", NO HANDLER FOUND! " + value);
        }
      }
    }

    public void doGet (
                       HttpServletRequest request, 
                       HttpServletResponse response) 
      throws ServletException, IOException 
    {
      doPost (request, response);
    }

    public void doPost (
                        HttpServletRequest request, 
                        HttpServletResponse response) 
      throws ServletException, IOException 
    {request.setCharacterEncoding("GBK");
      String event="";
      String url=request.getRequestURI();
      url=url.substring(url.lastIndexOf("/")+1, url.length());
      event=url.substring(0, url.indexOf(".action"));
      event=event.toUpperCase();
      System.err.print(event);
      BaseAction handler = getEventHandler (event);
     try {
        handler.process (getServletContext(), request, response);
      } catch (Exception e) {
          e.printStackTrace();
          request.setAttribute("error", e);
          handler = getEventHandler("ERROR_EVENT");
      }

      handler.forward (request, response);

    }

    protected BaseAction getEventHandler (String e) {
    	BaseAction h=null;
        h = (BaseAction) events.get(e);
      if(h==null){
        h = (BaseAction) events.get("UNKNOWN_ACTION");
       }
      return h;
    }
    
  

}

⌨️ 快捷键说明

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