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

📄 getbookshelfevent.java

📁 一个在线学习系统的服务端SERVLET程序
💻 JAVA
字号:
package eols.event.user;

import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

import eols.bean.system.*;
import eols.tools.*;
import eols.bean.course.*;
import eols.storage.user.UserStorageManager;
import eols.event.system.*;
import eols.bean.user.UserData;

public class GetBookShelfEvent
    extends EventHandlerBase {

    /**
     * 事件的处理逻辑
     */
    public void process(ServletContext sc, HttpServletRequest request,
                        HttpServletResponse response, HashMap bean) {
        String loginID = SessionUtils.getStringSessionAttribute(request,
            "loginID", null);
        if (loginID == null) {
            throw new RuntimeException(
                "Can not get your login information, please login");
        }
        // Get book list
        String booklist = UserStorageManager.getBookShelfList(loginID);
        StringTokenizer st = new StringTokenizer(booklist, ",");
        Set all = new HashSet();
        while (st.hasMoreTokens()) {
            all.add(st.nextToken());
        }
        // Get category and courses
        List c = new ArrayList();
        Map result = new HashMap();
        Set cids = new HashSet();
        List categories = (List) SessionUtils.getSessionAttribute(request,
            "categoriescourses");
        Map courses = new HashMap();
        if (categories != null && !categories.isEmpty()) {
            courses = (Map) categories.get(categories.size() - 1);
        }
        int index = 0;
        // Locate category and courses
        Iterator iter1 = all.iterator();
        while (iter1.hasNext()) {
            String courseID = (String) iter1.next();
            if (categories != null && !categories.isEmpty()) {
                for (int i = 0; i < categories.size() - 1; i++) {
                    Category cat = (Category) categories.get(i);
                    Iterator iter = courses.keySet().iterator();
                    while (iter.hasNext()) {
                        Course course = (Course) courses.get(iter.next());
                        if (course.getId() == Long.parseLong(courseID) &&
                            course.getCategoryID() == cat.getId()) {
                            cids.add(new Long(cat.getId()));
                            result.put("course" + (index++), course);
                        }
                    }
                }
            }
        }
        // Get categories
        iter1 = cids.iterator();
        while (iter1.hasNext()) {
            long catID = ( (Long) iter1.next()).longValue();
            if (categories != null && !categories.isEmpty()) {
                for (int i = 0; i < categories.size() - 1; i++) {
                    Category cat = (Category) categories.get(i);
                    if (cat.getId() == catID) {
                        c.add(cat);
                    }
                }
            }
        }
        if (c.isEmpty()) {
            Result r = new Result();
                r.setHandleResult("No courses are added in your book shelf.");
                request.setAttribute("result", r);
                ((SysFunction)request.getAttribute("sysFunction")).setSysFunctionLink("/jsp/result.jsp");
                return;
        } else {
            ((SysFunction)request.getAttribute("sysFunction")).setSysFunctionLink("/jsp/bookshelf.jsp");
        }
        c.add(result);
        // Save to be the attribute
        request.setAttribute("categoriescourses", c);
    }
}

⌨️ 快捷键说明

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