- 浏览: 48167 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
zpli_12:
楼主大神请问,这个怎么用呀
基于Java Swing 的FTP客户端程序 -
gtandsn:
还行吧,基础很到位,
mvc实现一个很简单的书店(帮忙看看解答错误) -
王者之剑:
不错
基于Java Swing 的FTP客户端程序 -
tianmo2008:
shell.pack(); shell.open(); w ...
最简单的文本编辑器 SWT组件
//通过绘画对象传递数据,利用javabean封装处理过程,用一个Servlet作为控制器
//不过有点错误,我把jsp贴出来
//Book.java
/*封装图书对象
*/
package bookstoreMVC;
public class Book {
private String bookId ;
private String bookName ;
private float price ;
public Book(String Id, String Name, float price){
this.bookId = Id ;
this.bookName = Name ;
this.price = price ;
}
public String getBookId(){
return bookId ;
}
public String getBookName(){
return bookName ;
}
public float getPrice(){
return price ;
}
}
//BookDB.java:没有用数据库存放图书,使用了此类,比较简单
package bookstoreMVC;
import java.util.*;
public class BookDB {
private ArrayList books ;
public BookDB(){
books = new ArrayList() ;
Book book ;
book = new Book("1", "新概念英语", (float)8.30) ;
books.add(book) ;
book = new Book("2", "考研英语词汇", (float)15.70) ;
books.add(book) ;
book = new Book("3", "美语发音基础", (float)6.20) ;
books.add(book) ;
book = new Book("4", "随机数学", (float)18.90) ;
books.add(book) ;
book = new Book("5", "离散数学", (float)20.10) ;
books.add(book) ;
book = new Book("6", "图论", (float)27.40) ;
books.add(book) ;
book = new Book("7", "算法导论", (float)69.30) ;
books.add(book) ;
book = new Book("8", "JAVA核心技术", (float)108.30) ;
books.add(book) ;
book = new Book("9", "搜索引擎", (float)58.20) ;
books.add(book) ;
}
public Book getBook(String bookId){
if(bookId == null)
return null ;
for(Iterator it = books.iterator();it.hasNext();){
Book book = (Book)it.next() ;
if(book.getBookId().equals(bookId))
return book ;
}
return null ;
}
public ArrayList getBooks(){
return books ;
}
}
//ShoppingCart.java
package bookstoreMVC;
import java.util.*;
public class ShoppingCart {
HashMap items = null ;
int numberOfItems = 0 ;
public ShoppingCart(){
items = new HashMap() ;
}
public synchronized void add(String bookId, Book book){
if(items.containsKey(bookId)){
ShoppingCartItem oldItem = (ShoppingCartItem)items.get(bookId) ;
oldItem.increase() ;
}
else{
ShoppingCartItem newItem = new ShoppingCartItem(book) ;
items.put(bookId, newItem) ;
}
}
public synchronized void remove(String bookId){
if(items.containsKey(bookId)){
ShoppingCartItem item = (ShoppingCartItem)items.get(bookId) ;
item.decrease() ;
if(item.getNumber()<=0)
items.remove(bookId) ;
}
}
public synchronized List getItems(){
List result = new ArrayList() ;
Iterator it = items.values().iterator() ;
while(it.hasNext())
result.add(it.next()) ;
return result ;
}
public synchronized int getNumberOfItems(){
numberOfItems = 0 ;
for(Iterator it = getItems().iterator(); it.hasNext(); ){
ShoppingCartItem item = (ShoppingCartItem)it.next() ;
numberOfItems += item.getNumber() ;
}
return numberOfItems ;
}
public synchronized float getTotal(){
double total = 0 ;
for(Iterator it = getItems().iterator(); it.hasNext(); )
{
ShoppingCartItem item = (ShoppingCartItem)it.next() ;
total += (double)(item.getBook().getPrice())*item.getNumber() ;
}
return (float)(Math.round(total*100)/100.0) ;
}
public synchronized void clear(){
items.clear() ;
numberOfItems = 0 ;
}
}
//ShoppingCartItem.java
package bookstoreMVC;
public class ShoppingCartItem {
Book book ;
int number ;
public ShoppingCartItem(Book book){
this.book = book ;
number = 1 ;
}
public void increase(){
number ++ ;
}
public void decrease(){
number -- ;
}
public int getNumber(){
return number ;
}
public Book getBook(){
return book ;
}
public void setNumber(int num){
this.number = num ;
}
}
//Dispatcher.java: Servlet
package bookstoreMVC;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.* ;
import javax.servlet.http.*;
public class Dispatcher extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
String bookId = null ;
String clear = null ;
Book book = null ;
BookDB bookDB = new BookDB() ;
HttpSession session = req.getSession() ;
String selected = req.getServletPath() ;
ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;
if(cart == null){
cart = new ShoppingCart() ;
session.setAttribute("cart",cart) ;
}
if(selected.equals("/bookcatalog")){
bookId = req.getParameter("Add") ;
if(bookId != null){
book = bookDB.getBook(bookId) ;
cart.add(bookId,book) ;
}
}
else if(selected.equals("/bookshowcart")){
bookId = req.getParameter("Remove") ;
if(bookId != null){
cart.remove(bookId) ;
}
clear = req.getParameter("Clear") ;
if(clear != null && clear.equals("clear")){
cart.clear() ;
}
}
String selectedpage="/src/bookstoreMVC/" + selected + ".jsp" ;
try{
req.getRequestDispatcher(selectedpage).forward(req, res) ;
}catch(Exception e){
e.printStackTrace() ;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String selectedpage = "/src/bookstoreMVC/" + request.getServletPath() + ".jsp" ;
try{
request.getRequestDispatcher(selectedpage).forward(request, response) ;
}catch(Exception e){
e.printStackTrace();
}
}
}
//jsp
//head.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Head.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body bgcolor="#EEF9DF">
<center>
<font size="4">BookStore</font>
<hr/><br/>
//end.html
<hr/><br/>
<font size="3">BookStore</font>
</center>
</body>
</html>
//Global.jsp
<%@ page import="java.util.*,bookstoreMVC.*"%>
<% ShoppingCart cart = (ShoppingCart)session.getAttribute("cart") ;
if(cart == null){
cart = new ShoppingCart() ;
session.setAttribute("cart", cart) ;
}
%>
//bookstore.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd" >
<%@page pageEncoding="gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>
<%@page import="java.util.*,bookstoreMVC.*" %>
<jsp:useBean id="bookDB" class="bookstoreMVC.BookDB" scope="session" />
<%@include file="Head.html" %>
<table>
<%for(ListIterator it = bookDB.getBooks().listIterator(); it.hasNext();){
Book book = (Book)it.next() ;
%>
<tr>
<td bgcolor="#99CCCC" height="20" width="150">
<b>
<%=book.getBookName() %>
</b>
</td>
<td bgcolor="#CCFF99" height="20" width="50">
<font size=2 color="#FF0000">
<%=book.getPrice() %>
</font>
</td>
<td bgcolor="ffffaa" height="20" width="100">
<a href="bookcatalog?Add=<%=book.getBookId() %>">
<font size="2" color="0000ff">加入购物车
</font></a>
</td>
</tr>
<%}%>
</table>
<%@include file="end.html" %>
//bookstorecatalog.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd" >
<%@page pageEncoding="gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>
<%@include file="Global.jsp"%>
<%@include file="Head.html"%>
<jsp:useBean id="bookDB" class="bookstoreMVC.BookDB" scope="session"/>
<%
String bid = request.getParameter("Add");
Book addBook = null ;
if(bid != null){
addBook = bookDB.getBook(bid);
}
%>
<%
if(bid != null){
%>
<font color="red" size="3">
<%=addBook.getBookName() %>
</font>
<br/>
<%}%>
<%
if(cart.getNumberOfItems()>0)
{
%>
<a href="bookshowcart?Clear=0&Remove=0">
<font size="2" color="#0000FF">
查看购物车
</font></a>
<a href="bookcashier">
<font size="2" color="#0000FF">
结账</font></a>
<%} %>
<table>
<%for(ListIterator it = bookDB.getBooks().listIterator();it.hasNext();){
Book book = (Book)it.next(); %>
<tr>
<td bgcolor="#99CCCC" height="20" width="150">
<b>
<%=book.getBookName() %>
</b>
</td>
<td bgcolor="#CCFF99" height="20" width="100">
<font size=2 color="#FF0000">
<%=book.getPrice() %></font>
</td>
<td bgcolor="ffffaa" height="20" width="100">
<a href="bookcatalog?Add=<%=book.getBookId() %>">
<font size="2" color="0000ff">
加入购物车</font></a>
</td>
</tr>
<%} %>
</table>
<%@ include file="end.html"%>
//bookshowcart.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd" >
<%@page pageEncoding="gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>
<%@include file="Global.jsp"%>
<%@include file="Head.html"%>
<jsp:useBean id="bookDB" class="bookstoreMVC.BookDB" scope="session" />
<%
String clear = request.getParameter("Clear") ;
String remove = request.getParameter("Remove") ;
%>
<%
if(clear != null && clear.equals("clear"))
{
%>
<font color="red" size="2">
购物车已清空</font>
<br/><br/>
<% } %>
<%
if(!remove.equals("0"))
{
Book removeBook = bookDB.getBook(remove) ;
%>
<font size="2">
已删除
</font>
<font color="red" size="2">
<%=removeBook.getBookName() %>
</font><br/><br/>
<% } %>
<%
if(cart.getNumberOfItems()>0)
{
%>
<font size="2">
购物清单</font><br/>
<table>
<tr>
<th align="left" width="50"><font size="2">数量</font></th>
<th align="left" width="150"><font size="2">书名</font></th>
<th align="left" width="50"><font size="2">价格</font></th>
</tr>
<%for(Iterator it=cart.getItems().iterator();it.hasNext();){
ShoppingCartItem item = (ShoppingCartItem)it.next() ;
Book book = (Book)item.getBook();
%>
<tr bgcolor="#CCFFCC">
<td align="left">
<font size="2"><%=item.getNumber() %></font>
</td>
<td align="left">
<%=book.getBookName() %>
</td>
<td align="left">
<font size="2"><%=book.getPrice() %></font>
</td>
<td align="left">
<a href="booksshowcart?Remove=<%=book.getBookId() %>">
<font size="2" color="#0000FF">删除</font></a>
</td>
</tr>
<%} %>
</table>
<br/>
<table>
<tr>
<td colspan=2 align=right>
<font color="#FF0000">总计:</font>
</td>
<td align=right>
<font color="#FF0000"><%=cart.getTotal() %>元</font>
</td>
</tr>
</table>
<br/>
<a href="bookcatalog"><font size=2 color="#0000FF">继续购物</font></a>
<a href="bookcashier"><font size=2 color="#0000FF">结账</font></a>
<a href="bookshowcart?Clear=clear&Remove=0"><font size=2 color="#0000FF">清空购物车</font></a>
<%}else{ %>
<font size="2">购物车内没有商品</font>
<br/>
<a href="bookcatalog"><font size=2 color="#0000FF">继续购物</font></a>
<%} %>
<%@include file="end.html" %>
//bookcashier.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd" >
<%@page pageEncoding="gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>
<%@include file="Global.jsp"%>
<%@include file="Head.html"%>
<jsp:useBean id="bookDB" class="bookstoreMVC.BookDB" scope="session" />
总计:
<%=cart.getTotal()%>
<form action="bookreceipt" method="post">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="cardname" value="" size=20/></td>
</tr>
<tr>
<td>信用卡号:</td>
<td><input type="text" name="cardnumber" value="" size=20/></td>
</tr>
<tr>
<td colspan=2><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
<%@includel file="end.html"%>
//bookreceipt.jsp
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"
errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd" >
<%@page pageEncoding="gb2312" %>
<%request.setCharacterEncoding("gb2312"); %>
<%@page import="java.util.Date"%>
<%@include file="Global.jsp"%>
<%@include file="Head.html"%>
<jsp:useBean id="bookDB" class="bookstoreMVC.BookDB" scope="session" />
<%=request.getParameter("cardname")%>,谢谢惠顾
<br/><br/>
发货时间:<%=new Date((new Date()).getTime()+86400000)%>
<br/>br>
<%session.removeAttribute("cart");%>
<a href="bookstore">
<font size="2" color="#0000FF">继续购物</font>
</a>
<%@include file="end.html" %>
MVC | 文件 | 类型 |
Model |
BookDB.java Book.java ShoppingCart.java, ShoppingCartItem.java |
JavaBean |
View |
bookstore.jsp bookcatalog.jsp bookcashier.jsp bookreceipt.jsp bookshowcart.jsp |
jsp页面 |
Controller | Dispatcher.java | Servlet |
- ShopMVC.rar (15.2 KB)
- 下载次数: 7
相关推荐
网上书店开发,ASP.NET实现的,MVC模式开发
一个用基于mvc模式的网上书店,包括源码,用myEclipse 5.5 和sqlserver 2000实现
MVC模式网上书店系统 MVC 毕业设计 网上书店 Mysql+Tomcat
使用mvc编写的一个简易的购物管理系统,包括管理员编辑商品信息,更新商品的价格以及数量,还可以删除商品。该系统还能实现用户对其商品进行虚拟购买操作。
此项目以JSP、servlet、JavaBean实现MVC三层架构.
ASP.NET MVC3书店实例 叫你mvc3快速入门
是一个初学mvc时写的小例子,对理解mvc很有帮助
网上书店主要实现了展示所有图书,单击图书名显示书得详细信息,网上书店是一个简单的mvc模式,可以参考参考的!!
用MVC实现登陆注册Servlet javabean
实现一个简单的网上书店,适合MVC初学者,也有一些bug,忘高手指教
ASP.NET MVC实现的一个访问统计系统源码
MVC实现iframe弹窗传值,实现弹窗,iframe传值
基于asp.net mvc验证码的实现。
此资源使用的是Mvc架构实现的一个网上书店的例子,对学习Mvc的人来说很实用
spring mvc mybatis mysql
使用.NET MVC写的FileUpLoad
基于MVC模式的网上书店试编基于MVC模式的网上书店试编
C#的mvc框架,实现简单的web功能。可以应用在泛微oa等需要基础开发简单功能的网站。erp,crm等系统。
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为...一个基于ASP.NET MVC实现的在线考试系统源码+项目说明.zip