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

📄 bookstorecontroller.java

📁 用Struts+Hibernate实现一个在线书店系统
💻 JAVA
字号:
package com.jtf.bookstore.controller;

import com.jtf.bookstore.Category;
import com.jtf.bookstore.OrderItem;
import com.jtf.bookstore.ShoppingCart;
import com.jtf.bookstore.persist.SessionProvider;

import net.sf.hibernate.HibernateException;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


public abstract class BookstoreController extends Action
{
    private final static String CART_NAME = "cart";

    public abstract ActionForward doAction(ActionMapping mapping,
        ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception;

    public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception
    {
        intialize(request);

        ActionForward fwd = doAction(mapping, form, request, response);
        cleanUp();

        return fwd;
    }

    protected void cleanUp() throws HibernateException
    {
        SessionProvider.closeSession();
    }

    protected void intialize(HttpServletRequest request)
    {
        getOrCreateCart(request);
    }

    protected ShoppingCart getOrCreateCart(HttpServletRequest request)
    {
        HttpSession session = request.getSession(true);
        ShoppingCart cart = (ShoppingCart) session.getAttribute(CART_NAME);

        if (cart == null)
        {
            cart = new ShoppingCart();
            session.setAttribute(CART_NAME, cart);
        }

        return cart;
    }

    protected void addItemToCart(HttpServletRequest request, OrderItem item)
    {
        ShoppingCart cart = getOrCreateCart(request);
        cart.addOrIncrementItem(item);
    }

    protected void removeItemFromCart(HttpServletRequest request, OrderItem item)
    {
        ShoppingCart cart = getOrCreateCart(request);
        cart.removeItem(item);
    }

    protected void clearCart(HttpServletRequest request)
    {
        ShoppingCart cart = getOrCreateCart(request);
        cart.clear();
    }

    protected void prepareForBrowseCategory(HttpServletRequest request,
        Category cat)
    {
        List books = cat.getBooks();
        request.setAttribute("category", cat);
        request.setAttribute("books", books);
        request.setAttribute("bookCount", String.valueOf(books.size()));
    }
}

⌨️ 快捷键说明

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