网上书店系统实验报告

时间:2024.4.20

INTERNET 课程设计实验报告

网上书店系统

院    系:信息工程学院                                 

班    级:信息管理与信息系统                                    

学    号:111405118                                                                

姓    名:施敏宇                             

指导教师:丁晓超                            

        

20##年6月10日 ~ 20##年6 月20日

第一章.引言... 4

1.1编写目的... 4

1.2项目背景... 4

1.3可行性研究... 5

第二章.系统开发的目标... 5

第三章.系统需求分析... 6

3.1总体需求... 6

3.2功能需求... 6

3.3技术要求... 7

3.4性能需求?.. 7

第四章. 系统架构设计... 8

4.1系统技术架构设计... 8

4.2系统功能架构设计... 8

4.2.1系统整体功能架构图... 8

4.2.2 系统功能架构说明... 10

第五章. 系统详细设计... 11

5.1系统系统界面设计... 11

5.1.1前台管理界面... 11

5.1.2后台管理界面... 11

5.2 数据库设计... 14

5.2.1书籍类别表... 14

5.2.2书籍详细信息表... 14

5.2.3会员注册信息列表... 15

5.2.4消费者订单列表:... 15

5.2.5购买书籍详细列表:... 16

5.2.6购物车信息列表... 16

5.2.7会员购买书籍评价列表:... 16

第六章.总结

第一章.引言

1.1编写目的

本需求分析文档的目的是说明网上书店管理系统最终需要满足的条件和限制,为进一步设计和实现提供依据

1.2项目背景

   1)系统名称:网上书店管理系统

   2)需求背景分析:近年来,电子商务伴随着IT的成熟,逐渐发展壮大,成为网络经济的核心。在电子商务的发展过程中,人们逐渐意识到在线购物的无地域界限、安全、方便快捷及其价格优势,在线购物的队伍也随之扩大.

   3)系统用途:管理员将书籍信息整理归类发布到网上,用户登录该网站后,首先要注册为会员才能购买书籍。

   4)系统用户:该系统的使用者主要分为三类:浏览者、注册用户和管理员。

第二章.系统开发的目标

    浏览者可以浏览网上书店中的书籍信息;注册用户除了可以浏览网上书店中的书籍信息外,还可以进行网上购书;管理员可以对网上书店中的书籍信息进行管理、处理客户的订单等。

第三章.系统需求分析

3.1总体需求

1)建立对书籍提供全面管理信息的系统

2)对所有书籍,用户提全面管理

3)对书籍详细信息提供管理

3.2功能需求

1)可以再浏览器上浏览书籍信息;

2)可以注册成为会员,可以登录;

3)有购物车功能,可以在线提交订单;

4)可以通过关键字搜索书籍;

5)会员可以查看订单、作出评价;

6)管理员可以对网上书店中的书籍进行管理,可增加、修改、删除书籍的分类信息;

7)管理员可以根据会员的申请或会员的消费情况将相关会员设为VIP 会员,也可以对会员的基本信息进行管理,也有权对一些过期用户进行删除;

8)管理员可以增加、修改、删除网上书店中书籍的基本资料信息;

9)管理员可以管理客户提交的订单,客户“已确认”的订单可修改状态为“正在配货”,“正在配货”的订单可修改状态为“缺货”或“已发货”。

3.3技术要求

   1)中间是个模板页,四周通过超链接连接各个页面,通过css控制结构方位

   2)数据库管理系统可采用Microsoft SQL Server 2012

   3)必须先连接数据库,登陆sql账号,然后附加数据库备份中的数据库,然后在web.config中修改关于数据库的语句,具体要修改的是你电脑上数据库的名字,你登陆的sql账号的名字与密码。

3.4 性能需求?  

1)网上书店系统与相关单位的链接;

?2)  系统可以对图书的库存进行统计;

?3)易于维护和扩充;

?4)系统界面设计友好,操作方便、灵活;

?5)具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;

?6)具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务;

?7)具有保密机制,各级使用者只能看到允许查看的系统信息;

第四章. 系统架构设计

4.1系统技术架构设计 

由于网上书店系统的多用户、跨平台等特性,所以系统的实现是基于J2EE技术体系的B/S结构WEB应用之上,网上书店系统的使用者可以分为两大类,一类是主要的业务人员,他们是系统管理员;另一类是系统参与者,即游客与会员。系统参与者因为与系统的交互需要在不同地点、不同地域使用,用户主要通过Web浏览器进行访问和操作,因此采用基于先进的Struts框架的B/S(Browser/server)架构。从而优化系统的开发效率、可维护性、可扩展性。

4.2系统功能架构设计 

4.2.1系统整体功能架构图

  1) 网上书店管理系统的功能分析层次如图4-1所示。

图4-1 网上书店管理系统层次图

   2)网站关系用例如图4-2与图4-3所示。

图4-2 网站关系用例图1

4.2.2 系统功能架构说明

网上书店管理系统是一个典型的 web 数据库开发应用程序,由。前台图书展示及销售、后台管理两部分组成。

   1.前台商品展示及销售:该部分主要包括新书上架、购物车、

会员管理、图书公告及订单查询、图书查询等。

   2.后台管理:该部分主要对商城内的一些基础数据进行有效管

理,包括图书管理、会员管理、订单管理、公告管理等。

第五章. 系统详细设计

5.1系统系统界面设计

5.1.1前台管理界面

前台管理子系统的流程图如图5-1所示:

图5-1 前台子系统流程图

 5.1.2后台管理界面

1)后台管理子系统的流程图如图5-2所示:

2)会员管理模块流程如图5-3所示:

     图5-3 会员管理模块流程图

3)书籍分类管理模块流程如图5-4所示:

    图5-4

4)书籍管理模块流程如图5-5所示:

   

5.2 数据库设计

5.2.1书籍类别表

5.2.2书籍详细信息表

5.2.3会员注册信息列表

5.2.4消费者订单列表:

5.2.5购买书籍详细列表:

5.2.6购物车信息列表

第六章.总结

这次的课程设计让我懂得了很多sql2012与web的知识,这个网络书店系统的功能十分强大,一开始他的数据库是sql2000版本的,而我自己电脑上的sql是2012版本的,无法进行附加,后来经过多天的研究,我和龚敏贵成功在学校的电脑上把数据库版本转化成为了05版本,现在的版本是sql2012版本的数据库,还有其他很多困难,我都一一解决了,代码方面,是一些基础的css代码+web,页面分为一个部分,中间的母版页,四周是几个动态网页,通过超链接与css控制,另外这是数据库是加密的,如果未连接sql2012,则无法运行程序,并且在vs2013上用拆分功能的时候不能看到全部的网页内容。这次的课程设计让我受益匪浅,希望下次能做的更好。


第二篇:网上书店系统实验报告


实验报告

一、     实验题目

编程实现“网上书店系统”

二、        题目分析

1、  需求分析

要开发一个系统,首先要了解该系统到底想做什么,需要实现怎样的功能,这就是需求分析。网上书店从大的需求方面看,就是要实现通过互联网能够进行书籍的购买及相关的管理等功能,大致需要提供下面的一系列功能:

*  浏览书籍(模糊查询)

*  选择需要购买的书籍

*  可以继续选择别的书籍,并且可以购买该书籍

*  选择了需要购买的书籍后,进行购买书籍操作

*  保存选中的图书和数量

UML图:

2、  数据分析

图书信息         数据库

购物车           本次会话有效

三、实验设计

1、页面转移关系

  

 

2、对象模型

(1)界面对象(View)

*查询页 Search.jsp

*图书目录页 Directory.jsp

*购物车页 Cart.jsp

*定单页 Order.jsp

(2)控制器(Control)

*CtrlServlet 负责响应输入命令

*包括:模糊查询key、查看购物车cart、结算order 、继续选书continue、再次查询search

(3)业务模型

*图书信息:BookBean 实体类的会话Bean

*购物车信息:CartBean 会话Bean

3、  数据设计

(1) 图书信息(数据库表、查询结果)

*  书号ISBN             char[24]  主键      

*  书名Title        char[64]

*  作者Author           char[32]

*  出版社Press           char[32]

*  价格Price              double

(2)购物车信息

*  书号ISBN             char[24]

*  数量Number          integer

(3)共享数据

*  查询结果和选中的图书信息

*  作为 session参数

4、  动态模型

5、EJB接口设计

(1)BookBean 管理图书信息(封装数据库)

*find( string key )

*根据关键字从数据库中查找出图书信息记录(数组)条件:书名、作者、出版社名中包含关键字get( string isbn )

*根据书号,找出图书信息记录

(2)CartBean  管理购物车信息(本次会话有效)

*add( string isbn )                  添加记录

*gest( )                                 获得记录数组

*set( string isbn, integer num )       设置购买数量

5、  控制器

(1)CtrlServlet 的输入

*来自查询页

page=“search”&key=关键字

*来自图书目录页

page=“directory”&submit=“cart”&choose=书号数组

page=“directoty”&submit=“search”

*来自购物车页

page=“cart”&submit=“order”

page=“cart”&submit=“continue”

page=“cart”&submit=“search”

(2)算法概要

*模糊查询 search

按照 key 从 BookBean 查询图书,转交图书目录页

*查看购物车

将选定图书存入CartBean,转交购物车页

*结算

计算CartBean中的图书总价,从BookBean获得图书信息,连同地址,转交定单页

*继续选书

返回图书目录页

*再次查询

转向查询页

*异常处理

直接生成错误信息页面

四、实现技术

1、采用 MVC 模式

(1)JSP 实现页面视图 View

(2)Servlet 实现控制 Control

(3)EJB 实现业务模型 Model

2、交互关系

(1)JSP 表单动作(form)è CtrlServlet

(2)Servlet 转发 è JSP 页面

3、数据传输

(1)Servlet 调用 EJB 对象获得数据

(2)Servlet 通过 session 参数传递给 JSP 页面

五、实验源代码

1、BooksOnline-ejb

(1)Books

①Books.java:

import java.io.Serializable;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

javax.persistence.NamedQueries;

import javax.persistence.NamedQuery;

import javax.persistence.Table;

@Entity

@Table(name = "BOOKS")

@NamedQueries({@NamedQuery(name = "Books.findByIsbn", query = "SELECT b FROM Books b WHERE b.isbn = :isbn"), @NamedQuery(name = "Books.findByTitle", query = "SELECT b FROM Books b WHERE b.title = :title"), @NamedQuery(name = "Books.findByAuthor", query = "SELECT b FROM Books b WHERE b.author = :author"), @NamedQuery(name = "Books.findByPress", query = "SELECT b FROM Books b WHERE b.press = :press"), @NamedQuery(name = "Books.findByPrice", query = "SELECT b FROM Books b WHERE b.price = :price")})

public class Books implements Serializable {

    private static final long serialVersionUID = 1L;

   

@Id

    @Column(name = "ISBN", nullable = false)

    private String isbn;

   

@Column(name = "TITLE")

private String title;

    @Column(name = "AUTHOR")

    private String author;

    @Column(name = "PRESS")

    private String press;

    @Column(name = "PRICE")

    private Double price;

    public Books() {

    }

    public Books(String isbn) {

        this.isbn = isbn;

    }

    public String getIsbn() {

        return isbn;

    }

    public void setIsbn(String isbn) {

        this.isbn = isbn;

    }

    public String getTitle() {

        return title;

    }

    public void setTitle(String title) {

        this.title = title;

    }

    public String getAuthor() {

        return author;

    }

    public void setAuthor(String author) {

        this.author = author;

    }

    public String getPress() {

        return press;

    }

   

public void setPress(String press) {

        this.press = press;

    }

    public Double getPrice() {

        return price;

    }

    public void setPrice(Double price) {

        this.price = price;

    }

    @Override

    public int hashCode() {

        int hash = 0;

        hash += (isbn != null ? isbn.hashCode() : 0);

        return hash;

    }

    @Override

    public boolean equals(Object object) {

        // TODO: Warning - this method won't work in the case the id fields are not set

        if (!(object instanceof Books)) {

            return false;

        }

        Books other = (Books) object;

        if ((this.isbn == null && other.isbn != null) || (this.isbn != null && !this.isbn.equals(other.isbn))) {

            return false;

        }

        return true;

    }

    @Override

    public String toString() {

        return "Books.Books[isbn=" + isbn + "]";

    }

}

②BooksFacade.java

import java.util.List;

import java.util.ArrayList;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

@Stateless

public class BooksFacade implements BooksFacadeRemote {

    @PersistenceContext

    private EntityManager em;

    public void create(Books books) {

        em.persist(books);

    }

 public void edit(Books books) {

        em.merge(books);

    }

    public void remove(Books books) {

        em.remove(em.merge(books));

    }

    public Books find(Object id) {

        return em.find(Books.class, id);

    }

    public List<Books> findAll() {

        return em.createQuery("select object(o) from Books as o").getResultList();

    }

    public ArrayList<Books> search(String key) {

        List<Books> all = this.findAll();

        if(all.isEmpty()) {

            return null;

        }

        ArrayList<Books> result = new ArrayList<Books>();

        for(Books current : all) {

            if(current.getTitle().toLowerCase().contains(key)||current.getAuthor().toLowerCase().contains(key)||current.getPress().toLowerCase().contains(key)) {

                result.add(current);

            }

        }

        return result;

    }

}

③BooksFacadeRemote.java

import java.util.List;

import java.util.ArrayList;

import javax.ejb.Remote;

@Remote

public interface BooksFacadeRemote {

    void create(Books books);

  

(2)Cart

①Cart.java

  import java.io.Serializable;

public class Cart implements Serializable {

    private String isbn;

    private String title;

    private double price;

    private int number;

    public Cart(String isbn,String title,double price,int number) {

        this.isbn = isbn;

        this.title = title;

        this.price = price;

        this.number = number;

    }

    public String getIsbn() {

        return this.isbn;

    }

    public String getTitle() {

        return this.title;

    }

    public double getPrice() {

        return this.price;

    }

    public int getNumber() {

        return this.number;

    }

    public void setIsbn(String isbn) {

        this.isbn = isbn;

    }

   

public void setTitle(String title) {

        this.title = title;

    }

    public void setPrice(double price) {

        this.price = price;

    }

    public void setNumber(int number) {

        this.number = number;

    }

}

②CartBean.java

   import javax.ejb.Stateful;

import java.util.ArrayList;

@Stateful

public class CartBean implements CartRemote {

    private ArrayList<Cart> record;

    private boolean initialed = false;

    public void add(String isbn,String title,double price){

        record.add(new Cart(isbn,title,price,1));

    }

    public void set(String isbn,int number){

        for(Cart current : record) {

            if(current.getIsbn().equals(isbn)) {

                current.setNumber(number);

            }

        }

    }

    public boolean exist(String isbn) {

        for(Cart current : record) {

            if(current.getIsbn().equals(isbn)) {

                return true;

            }

        }

        return false;

    }

  

 public ArrayList<Cart> get(){

        ArrayList<Cart> result = new ArrayList<Cart>();

        for(Cart current : record)

{ result.add(newCart(current.getIsbn(),current.getTitle(),current.getPrice(),current.getNumber()));

        }

        return result;

    }

    public boolean initialed() {

        return this.initialed;

    }

    public void create(){

        record = new ArrayList<Cart>();

        initialed = true;

    }

}

void edit(Books books);

    void remove(Books books);

    Books find(Object id);

    List<Books> findAll();

    ArrayList<Books> search(String key);

}

③CartRemote.java

  import javax.ejb.Remote;

import java.util.ArrayList;

@Remote

public interface CartRemote {

    public void add(String isbn,String name,double price);

    public void set(String isbn,int number);

    public boolean exist(String isbn);

    public ArrayList<Cart> get();

    public boolean initialed();

    public void create();

}

2、BooksOnline-war

ControlServlet.java

import Books.BooksFacadeRemote;

import Cart.CartRemote;

import java.util.Enumeration;

import java.io.IOException;

import java.io.PrintWriter;

import javax.ejb.EJB;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ControlServlet extends HttpServlet {

    @EJB

    private CartRemote cartBean;

    @EJB

    private BooksFacadeRemote booksFacade;

  

    /**

    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.

    * @param request servlet request

    * @param response servlet response

    */

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        request.setCharacterEncoding("UTF-8");

        PrintWriter out = response.getWriter();

        try {

            if(request.getParameter("page").equals("search")) {

                request.getSession().setAttribute("directory", booksFacade.search(request.getParameter("key").toLowerCase()));

                response.sendRedirect("Directory.jsp");

            }

           

if(request.getParameter("page").equals("directory")&&request.getParameter("submit").equals("cart")) {

                if(!cartBean.initialed()) {

                   cartBean.create();

                }

                Enumeration names = request.getParameterNames();

                while(names.hasMoreElements()) {

                    String name = (String)names.nextElement();

                    if(!name.equals("page")&&!name.equals("submit")) {

                        if(!cartBean.exist(request.getParameter(name))) {

                            cartBean.add(request.getParameter(name),booksFacade.find(request.getParameter(name)).getTitle(),booksFacade.find(request.getParameter(name)).getPrice());

                        }

                    }

                }

                request.getSession().setAttribute("cart",cartBean.get());

                response.sendRedirect("Cart.jsp");

            }

            if(request.getParameter("page").equals("directory")&&request.getParameter("submit").equals("search")) {

                response.sendRedirect("Search.jsp");

            }

            if(request.getParameter("page").equals("cart")&&request.getParameter("submit").equals("order")) {

                double sum = 0;

                Enumeration names = request.getParameterNames();

                while(names.hasMoreElements()) {

                    String name = (String)names.nextElement();

                    if(!name.equals("page")&&!name.equals("submit")&&!name.equals("address")) {

                        cartBean.set(name,Integer.parseInt(request.getParameter(name)));

                        sum += booksFacade.find(name).getPrice()*Integer.parseInt(request.getParameter(name));

                    }

                }

              

 request.getSession().setAttribute("cart",cartBean.get());

                request.getSession().setAttribute("fee",sum);

                request.getSession().setAttribute("address",request.getParameter("address"));

                response.sendRedirect("Order.jsp");

            }

           

if(request.getParameter("page").equals("cart")&&request.getParameter("submit").equals("continue")) {

                response.sendRedirect("Directory.jsp");

            }

            if(request.getParameter("page").equals("cart")&&request.getParameter("submit").equals("search")) {

                response.sendRedirect("Search.jsp");

            }

        } finally {

            out.close();

        }

    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet 方法。单击左侧的 + 号以编辑代码。>

    /**

    * Handles the HTTP <code>GET</code> method.

    * @param request servlet request

    * @param response servlet response

    */

    protected void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

    /**

    * Handles the HTTP <code>POST</code> method.

    * @param request servlet request

    * @param response servlet response

   

protected void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

    /**

    * Returns a short description of the servlet.

    */

    public String getServletInfo() {

        return "Short description";

    }// </editor-fold>

}

3、web

(1)Cart.jsp

     <%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="Cart.Cart;" %>

<%@page import="java.util.ArrayList;" %>

<%@page import="Books.BooksFacade;" %>

<%@page import="Books.Books;" %>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Cart</title>

    </head>

    <body>

        <%  ArrayList<Cart> result = (ArrayList<Cart>)session.getAttribute("cart");

            if(result==null||result.isEmpty()) { %>

            <h2>您的购物车是空的</h2>

            <form action="http://localhost:8080/BooksOnline-war/ControlServlet">

                <input type="hidden" name="page" value="cart" />

                <input type="submit" name="submit" value="continue" />

                <input type="submit" name="submit" value="search" />

            </form>

        <%  }

           

else { %>

            <h2>您的购物车里有以下图书/h2>

            <form action="http://localhost:8080/BooksOnline-war/ControlServlet">

                <table border="1">

                   

<tr>

                        <th>书名</th>

                        <th>价格</th>

                        <th>数量</th>

                    </tr>

                    <%  for(Cart current : result) { %>

                    <tr>

                        <td><%= current.getTitle() %></td>

                        <td><%= current.getPrice() %></td>

                        <td><input type="text" name="<%= current.getIsbn() %>" value="<%= current.getNumber() %>" /></td>

                    </tr>

                    <%  } %>

                </table>

                <label for="address">请输入您的地址 : </label><input type="text" name="address" id="address" value="" />

                <br />

                <input type="hidden" name="page" value="cart" />

                <input type="submit" name="submit" value="order" />

                <input type="submit" name="submit" value="continue" />

                <input type="submit" name="submit" value="search" />

            </form>

        <%  } %>

    </body>

</html>

(2)Directory.jsp

   <%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util.ArrayList;" %>

<%@page import="Books.Books;" %>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Directory</title>

    </head>

    <body>

        <%  ArrayList<Books> result = (ArrayList<Books>)session.getAttribute("directory");

          

 if(result==null) { %>

            <h2>没有找到合适的书/h2>

        <%  }

            else { %>

            <form action="http://localhost:8080/BooksOnline-war/ControlServlet">

                <h2>符合条件的图书如下/h2>

                <table border="1" >

                    <tr>

                        <th></th>

                        <th>书名</th>

                        <th>作者/th>

                        <th>出版社/th>

                        <th>价格</th>

                    </tr>

                    <%  for(Books current : result) { %>

                        <tr>

                        <td><input type="checkbox" name="<%= current.getIsbn() %>" value="<%= current.getIsbn() %>" />

                            <td><%= current.getTitle() %></td>

                            <td><%= current.getAuthor() %></td>

                            <td><%= current.getPress() %></td>

                            <td><%= current.getPrice() %></td>

                        </tr>

                    <%  } %>

                </table>

                <input type="hidden" name="page" value="directory" />

                <input type="submit" name="submit" value="cart" />

 

              <input type="submit" name="submit" value="search" />

            </form>

        <%  } %>

    </body>

</html>

(3)Order.jsp

     <%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="Cart.Cart;" %>

<%@page import="java.util.ArrayList;" %>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Order</title>

    </head>

    <body>

    <%  ArrayList<Cart> result = (ArrayList<Cart>)session.getAttribute("cart");

        if(result==null||result.isEmpty()) { %>

        <h2>系统错误</h2>

    <%  }

        else { %>

        <h2>您订购了以下图书/h2>

        <form action="http://localhost:8080/BooksOnline-war/ControlServlet">

            <table border="1">

                <tr>

                    <th>书名</th>

                    <th>数量</th>

                </tr>

                <%  for(Cart current : result) { %>

                <tr>

                    <td><%= current.getTitle() %></td>

                    <td><%= current.getNumber() %></td>

                </tr>

                <%  } %>

            </table>

        </form>

        <h2>图书将在48小时送到以下地址</h2>

       

<h2><b><%= session.getAttribute("address") %></b></h2>

        <h2>请付款<%= session.getAttribute("fee") %></h2>

    <%  } %>

    </body>

</html>

(4)Search.jsp

     <%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>Search</title>

    </head>

    <body>

        <h3>请输入关键字(书名、作者、出版社)/h3>

        <form action="http://localhost:8080/BooksOnline-war/ControlServlet">

            <input type="text" name="key" value="" />

            <br />

            <input type="hidden" name="page" value="search" />

            <input type="submit" value="search" />

        </form>

    </body>

</html>

六、运行结果

   

1、

                   

2、

            

3、

4、

更多相关推荐:
网上书店设计与使用-实验报告

实验报告题专学班指指日目业软件工程生姓名级学号导教师导单位期20xx68网上书店一课题内容和要求内容创建一个网上书店平台实现网上书店的基本功能例如用户用可查看可购买的书用户可查看书的具体信息在此基础上可以增加相...

网上书店实验报告

南华大学计算机科学与技术学院实验报告(20XX~20XX学年度第一学期)课程名称:高级数据库开发设计实验名称:网上书店姓名:XX学号:XX专业:软件工程班级:092班地点:6-714教师:XX一、需求分析1.系…

网上书店系统实习报告

引言2一需求分析与可行性分析211需求分析3111网上书店的现状3112网上购书的优势312可行性分析6二系统基本功能设计621用户管理功能622客户能实现的功能723商家能实现的功能7三系统软硬件环境的选择与...

网上书店实验报告

实验四软件概要设计实验目的和任务目的完成系统的体系结构的建立和概要设计并给出相应的规格说明书任务认真分析实验三的结果给出系统合理的体系结构描绘系统结构图并合理划分系统的各组成模块最后给出系统的各部分设计规格说明...

网上书店管理系统最终实验报告

山东电子职业技术学院课程设计报告题目:网上书店管理系统院系:计算机科学与技术系班级:XX学号:XX姓名:XX指导教师:XX20XX年5月28日~20XX年6月1日第一章.引言41.1编写目的41.2项目背景41…

JSP网上书店系统实验报告

浙江工业大学之江学院Java网站架构技术大型实验报告班级软件801姓名学号指导老师20xx年12月22日网上书店系统设计1实验目的1运用以前学习的AjaxJSPJavaBean系统的开发方法完成网上购物系统架构...

课程设计报告(网上书店网站)

管理工程系信息管理与信息系统专业课程设计报告课题名称辅考网电子商城姓名管娅学号20xx123115课题组长梁杨情小组成员李康管娅李艳杨昆妍陈红梅填报日期20xx年12月15日目录1开发背景32需求分析错误未定义...

网上书店可行性研究实验报告(软件工程实验)

软件工程实验报告实验一可行性研究专业年级组长其它成员指导教师实验日期实验一可行性研究一实验目的1掌握系统可行性研究和分析的基本方法2掌握可行性分析报告的撰写二实验内容与要求参照可行性分析报告实例学生就所选课题从...

java,mysql实验报告--网上书店

综合实践设计报告20xx级信息工程学院计算机科学与技术专业题目网上书店系统大连水产学院实验报告纸学院系信息工程学院专业班级计本061一选题意义网上选购图书二主要功能注册和登录网站可以选购书籍管理员可对书籍和用户...

网上购物实验报告

安徽理工大学经济与管理学院实验报告实验课程名称市场营销调查与预测效率达到了37另外传单和广告也是宣传购物网站较为有效的方法这两者的重要性占到了42这些决定了购物网站的推广途径应是口碑宣传通过调查我们可以发现雄厚...

网上书店设计与使用-实验报告

实验报告题专学班指指日目业软件工程生姓名级学号导教师导单位期20xx68网上书店一课题内容和要求内容创建一个网上书店平台实现网上书店的基本功能例如用户用可查看可购买的书用户可查看书的具体信息在此基础上可以增加相...

网上支付 实验报告 钱学鹏

陕西国际商贸学院管理信息系统实验报告实验名称网上支付班级财管B1305学号130657学生姓名钱学鹏实验地点5J534实验题目网上支付1实验目的1通过实例了解并熟悉网络支付所采用的一些主要工具2总结归纳第三方网...

网上书店实验报告(15篇)