- 浏览: 49395 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
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
相关推荐
【网上书店用MVC实现】是一个基于ASP.NET技术框架,运用模型-视图-控制器(MVC)设计模式开发的项目。在这个项目中,我们将会深入探讨MVC模式在实际Web应用开发中的应用,以及ASP.NET如何为这种模式提供强大的支持。...
总结来说,"MVC三层架构的网上书店"项目展示了如何利用MVC模式来构建一个完整的Web应用,通过分离关注点,提高了代码的可读性和可扩展性。理解和掌握这一模式对于Java Web开发者来说至关重要,有助于提升项目的质量...
本项目是一个基于MVC模式,利用JSP技术实现的网上书店系统,其核心知识点主要包括以下几个方面: 1. **MVC模式**:MVC模式分为模型(Model)、视图(View)和控制器(Controller)三个部分。模型处理数据和业务逻辑,视图...
本项目“基于MVC实现的简单注册登录小Demo”旨在为初学者提供一个直观的学习实例,帮助理解MVC模式如何应用于实际的注册登录功能。通过分析这个Demo,我们可以深入探讨MVC模式、注册登录的实现细节以及数据库配置。 ...
- **ASP.NET MVC3书店**:这是一个虚拟的示例网站,旨在通过构建一个简单的在线书店来介绍如何使用ASP.NET MVC框架与Visual Studio进行Web开发。本项目适合初学者,即使是完全没有Web开发经验的新手也能跟随教程学习...
在“MVC模式网上书店系统”中,这种设计模式被巧妙地应用,以实现一个高效、可扩展且易于维护的在线图书销售平台。 **模型(Model)** 模型是系统的核心,负责处理业务逻辑和数据管理。在这个网上书店系统中,模型...
通过上述步骤,我们就实现了一个简单的文件上传功能。在实际应用中,可能还需要结合数据库存储文件元数据,或者使用云存储服务来保存文件。总之,理解.NET MVC的控制器和视图机制,以及如何处理HTTP请求和文件流,是...
ASP.NET MVC是一个强大的Web应用程序开发框架,用于构建动态、数据驱动的网站。在这个场景中,我们关注的是在ASP.NET MVC中实现验证码的功能。验证码的主要目的是防止自动机器人或恶意用户进行非法操作,例如垃圾...
数据库是任何Web应用程序的核心,网上书店项目中的数据库设计可能包括书籍信息、用户账户、订单信息等表,这些都是实现一个完整网上书店功能所必需的。 【标签】:“mvc”、“c#”、“网上书店” 1. **MVC模式**:...
通过以上步骤,你可以构建一个简单的基于MVC架构的登录注册系统。随着技术的深入,你还可以考虑引入验证码、Session管理、权限控制等功能,进一步提升系统的安全性与用户体验。在实际开发中,Spring Boot和Spring ...
在这个项目中,我们将深入探讨如何利用MVC模式构建一个功能完善的网上书店。 **Model(模型)**是系统的核心,负责处理业务逻辑和数据管理。在我们的网上书店中,模型层可能包括`书籍`、`作者`、`分类`等实体类,...
在“MVC实现多媒体播放”的项目中,我们主要关注如何利用ASP.NET MVC框架来构建一个后台管理系统,支持多媒体资源(包括图片、音频和视频)的上传、查看和播放功能。以下是一些关键知识点: 1. **ASP.NET MVC框架**...
在提供的"MVCDemo"项目中,我们可以看到一个具体的MVC模式实现案例。通过分析源代码,我们可以更深入地了解MVC模式的每个组件是如何协同工作的。这种实现方式为后续学习和使用三大框架(Spring MVC、Struts、JSF)...
此外,`jsp电子商务`表明该源码不仅是一个简单的书店,还包含了电子商务的基本特性,如用户注册、登录、订单管理等。 标签中提到了`java网上书店`,这意味着源码可能部分使用了Java语言编写,尤其是在后台处理逻辑...
【MVC网上书店】是一个基于C#开发的Web应用程序,主要使用了Microsoft的Model-View-Controller(MVC)框架。...总的来说,"MVC网上书店"是一个很好的实践项目,可以帮助开发者提升他们的Web开发技能。
本项目是用C++实现的一个简单的MVC框架,名为MVCDemo,旨在帮助开发者理解MVC设计模式的基础概念。 首先,我们来详细解释MVC的三个组成部分: 1. Model(模型):模型层是应用的核心,它负责管理数据和业务逻辑。...
综上所述,一个基于JSP MVC模式的网上书店项目,需要结合MyEclipse的开发环境,利用SQL Server 2000存储数据,通过session管理用户会话,以实现用户浏览、搜索图书,添加到购物车,以及完成支付等一系列功能。...
总结来说,这个网上书店管理系统通过MVC模式实现了业务逻辑与用户界面的解耦,提高了代码的可读性和可维护性。开发者可以独立地修改模型以优化业务逻辑,更新视图以改进用户体验,或调整控制器以处理新的用户请求。...
C#的mvc框架,实现简单的web功能。可以应用在泛微oa等需要基础开发简单功能的网站。erp,crm等系统。