web课程设计——手机销售网

一、实验要求

使用JSP技术建立一个简单的手机销售网。

采用MVC模式实现各个模块,数据库使用MySQL数据库

系统后台开发

1、 在导航条中添加一个后台管理菜单

2、 后台页面分成左右两个框,左边显示一个树形菜单,右边根据菜单选择显示相应的交互界面;

3、 实现对用户、产品分类、产品、订单等的后台管理;

4、 具体界面自行设计

二、开发环境&技术

Myecplise10      MySQL5.7  

JSP技术        dtree树形组件

三、系统模块构成

主要分析系统具有功能

web课程设计——手机销售网_第1张图片

 

四、数据库设计与建立

数据库设计

使用MySQL建立数据库mobileshop, 该库中有4个表 , 分别为use (用户)表、mobileClassify (手机类别) 表、mobileForm (手机基本信息) 表和orderForm (订单信息) 表。

1.user表:用户存储用户基本信息

web课程设计——手机销售网_第2张图片

 

2.mobileclassify表:用于手机类别信息web课程设计——手机销售网_第3张图片

 

3.mobileForm表:用于手机的基本信息

web课程设计——手机销售网_第4张图片

4.orderForm表:用于存储订单信息

web课程设计——手机销售网_第5张图片

 

数据库连接

避免操作数据库出现中文乱码,需要使用Connection getConnection(java.lang.String)方法建立连接,连接中的代码是(用户是root,其密码是空):

Stringg uri = "jjdbc:myy qsql://127.0.0.1/mobileshop?"+

"user=root&password=&characterEncoding=gb2312";

Connection con Dri erManager getConnection( ri)

 

五、系统管理

建立相应的目录:

(1)ch10\WEB-INF \classes

根据servlet的包名,在classes下建立相应的子目录

 

比如:servlet类的包名为:myservlet.control,则在classes下建立子目录:

\myservlet\control;

比如javaBean类的包名为:mybean.data,则在则在classes下建立子目录:

\mybean\data;

 

 

六、页面管理

1.老师提供了源代码(提供的源代码默认root用户的密码为空,如果自行设置了密码需要在每一个连接数据库时的代码把密码加上)。源代码的调试结果如下

web课程设计——手机销售网_第6张图片

2.会员注册

当新用户注册时,该模块要求用户必须输入会员姓名、密码信息,否则不允许注册。用户的注册信息被存入数据库user表中。

该模块由一个jsp页面视图构成,该页面负责提交用户注册信息到servlet控制器registerServlet,并负责显示注册是否成功的信息。控制器registerServlet,负责连接数据库,并将用户提交的信息写入user表中,并将用户转发到注册页面查看注册反馈信息


注册页面

web课程设计——手机销售网_第7张图片

web课程设计——手机销售网_第8张图片

注册成功

 

3.会员登录

用户可以在该模块中输入自己所注册的会员名和密码,系统将会对会员名和密码进行验证,如果输入正确,可以进入系统,否则系统将会提示用户名或者密码错误相关信息。

该模块视图部分有一个JSP页面login.jsp构成,该页面负责提交用户的登录信息到控制器并显示登录是否成功。该模块的JavaBean模型loginBean存储用户登录信息。Servlet控制器连接数据库负责验证会员名和密码是否正确,并负责让视图显示更新后的数据。

web课程设计——手机销售网_第9张图片

 

登陆界面

web课程设计——手机销售网_第10张图片

 

登陆成功界面

 

  • 浏览手机

    web课程设计——手机销售网_第11张图片

 

选择分类页面( 选择分类页面(lookMobile.jsp)web课程设计——手机销售网_第12张图片

 

分页显示页面(byPageShow.jsp)web课程设计——手机销售网_第13张图片

 

查看产品细节页面(showDetail.jsp)

web课程设计——手机销售网_第14张图片

 

 

  • 查看购物车

登录用户可以通过该模块视图部分lookShoppingCar.jsp查看购物车中的物品,并选择是否删除某个货物。该模块由两个servlet控制器,deleteServlet负责删除购车车中的物品,buyServlet负责将用户购物车中物品存放到数据库中。

 

 

web课程设计——手机销售网_第15张图片

web课程设计——手机销售网_第16张图片

  • 查看手机

本模块包括有两个 jj psp 页面视图 searchMobile.jsp和byPageShow.jsp页面构成,用户在searchMobile.JSP页面输入查询信息,提交给searchByConditionServlet控制器,该控制器将其结果存放在bean中,将用户重定向byPageShow.jsp页面负责显示bean中的数据。

web课程设计——手机销售网_第17张图片

 

 

 

  • 查询订单

    web课程设计——手机销售网_第18张图片

 

首先在导航栏添加后台链接选项
在dtree官网下载dtree菜单源码,对源码更改实现具体功能,后台页面实现功能如下:
houtai.jsp
<%@ page contentType="text/html;charset=GB2312" %>

	
	


后台管理

open all | close all

在树形菜单使用的还有dtree官网下载的dtree.js及dtree.css文件。 登录代码如下: inputRegister.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ include file="head.txt" %> 注册页面
    用户名由字母、数字、下划线构成,*注释的项必须填写。                                        
*用户名称:*用户密码:        
*重复密码:        联系电话:
邮寄地址:真实姓名:

注册反馈:  

                                                                       
会员名称:
姓名:
地址:
电话:
登陆验证控制器代码: HandleRegister.java package classes.myservlet.control; import classes.mybean.data.*; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HandleRegister extends HttpServlet {    public void init(ServletConfig config) throws ServletException {        super.init(config);       try {  Class.forName("com.mysql.cj.jdbc.Driver");       }       catch(Exception e){System.out.println("驱动加载出错");}     }    public String handleString(String s)    {   try{ byte bb[]=s.getBytes("iso-8859-1");             s=new String(bb);        }        catch(Exception ee){}         return s;      }    public  void  doPost(HttpServletRequest request,HttpServletResponse response)                          throws ServletException,IOException {       String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=GB2312";                                     Connection con;        PreparedStatement sql;        Register userBean=new Register();  //创建的Javabean模型       request.setAttribute("userBean",userBean);       String logname=request.getParameter("logname").trim();       String password=request.getParameter("password").trim();       String again_password=request.getParameter("again_password").trim();       String phone=request.getParameter("phone").trim();       String address=request.getParameter("address").trim();       String realname=request.getParameter("realname").trim();       if(logname==null)            logname="";       if(password==null)            password="";       if(!password.equals(again_password)) {           userBean.setBackNews("两次密码不同,注册失败,");          RequestDispatcher dispatcher=           request.getRequestDispatcher("inputRegisterMess.jsp");          dispatcher.forward(request, response);//转发          return;       }       boolean isLD=true;       for(int i=0;i='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0')))               isLD=false;       }        boolean boo=logname.length()>0&&password.length()>0&&isLD;       String backNews="";       try{   con=DriverManager.getConnection(uri,"root","123456");              String insertCondition="INSERT INTO user VALUES (?,?,?,?,?)";              sql=con.prepareStatement(insertCondition);              if(boo)              { sql.setString(1,handleString(logname));                sql.setString(2,handleString(password));                sql.setString(3,handleString(phone));                sql.setString(4,handleString(address));                sql.setString(5,handleString(realname));                int m=sql.executeUpdate();                if(m!=0){                   backNews="注册成功";                   userBean.setBackNews(backNews);                   userBean.setLogname(logname);                   userBean.setPhone(handleString(phone));                   userBean.setAddress(handleString(address));                   userBean.setRealname(handleString(realname));                }              }              else {                  backNews="信息填写不完整或名字中有非法字符";                  userBean.setBackNews(backNews);                }              con.close();       }       catch(SQLException exp){              backNews="该会员名已被使用,请您更换名字"+exp;              userBean.setBackNews(backNews);        }       RequestDispatcher dispatcher=        request.getRequestDispatcher("inputRegisterMess.jsp");       dispatcher.forward(request, response);//转发    }    public  void  doGet(HttpServletRequest request,HttpServletResponse response)                         throws ServletException,IOException {       doPost(request,response);    } } 用户删除代码: deleteUer.jsp <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>    
 
   
  输入要删除的用户名:    
 
  删除用户控制器: deleteUser.java package classes.myservlet.control; import java.sql.*; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class deleteUser extends HttpServlet{     public void init(ServletConfig config) throws ServletException {            super.init(config);           try{                 Class.forName("com.mysql.cj.jdbc.Driver");           }           catch(Exception e) {}           } public  void  doPost(HttpServletRequest request,HttpServletResponse response)                    throws ServletException,IOException {     PrintWriter out=response.getWriter();     Connection con;     Statement sql; response.setContentType("text/html;charset=GB2312"); response.setCharacterEncoding("gb2312"); String  username=request.getParameter("username").trim(); if(username==null) { username=""; } else {     out.println(""); try {     String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312";     con=DriverManager.getConnection(uri,"root","123456");     sql=con.createStatement();     int m=sql.executeUpdate("DELETE FROM user WHERE logname='"+username+"'");     if(m!=0) {                  out.println("删除成功");         response.sendRedirect("index.jsp");          }     else {         out.println("删除失败,或不存在该用户!");             response.sendRedirect("index.jsp");          } out.println(" 用户查询代码: selectUser.jsp  //直接与数据库交互 <%@page contentType="text/html;charset=GB2312"  %> <%@page import="java.sql.*" %> <%  Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.cj.jdbc.Driver"); } catch(Exception e){} try{ String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312"; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rs=sql.executeQuery("select logname from user"); out.println("
"); out.println(""); while(rs.next()){ out.println(""); out.println(""); out.println(""); } out.println("
"+rs.getString(1)+"
"); out.println("
"); con.close(); } catch(SQLException e){ out.println(e); } %> 手机分类添加源代码: addmobileClassify.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>      
   
      手机类别信息添加              
手机类别标识符:
手机类别名:
       
   
  手机分类信息查询代码: selectmobileClassify.jsp <%@page contentType="text/html;charset=GB2312"  %> <%@page import="java.sql.*" %> <%  Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.cj.jdbc.Driver"); } catch(Exception e){} try{ String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312"; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rs=sql.executeQuery("select * from mobileClassify"); out.println("
"); out.println(""); while(rs.next()){ out.println(""); out.println(""); out.println(""); out.println(""); } out.println("
"+rs.getInt(1)+""+rs.getString(2)+"
"); out.println("
"); con.close(); } catch(SQLException e){ out.println(e); } 手机信息添加代码: addmobileForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>      
   
      手机信息添加                      
手机版本:手机名:
手机制造商:手机价格:
手机信息:手机图片:
手机标识号:
       
   
  手机信息添加控制器: addmobileForm.java package classes.myservlet.control; import java.sql.*; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class addmobileForm extends HttpServlet{     public void init(ServletConfig config) throws ServletException {            super.init(config);           try{                 Class.forName("com.mysql.cj.jdbc.Driver");           }           catch(Exception e) {}           } public  void  doPost(HttpServletRequest request,HttpServletResponse response)                  throws ServletException,IOException {     PrintWriter out=response.getWriter();     Connection con;     PreparedStatement sql;     response.setContentType("text/html;charset=GB2312"); request.setCharacterEncoding("gb2312");     String  version=request.getParameter("version"); String  name=request.getParameter("name"); String made=request.getParameter("made"); String price=request.getParameter("price"); String mess=request.getParameter("mess"); String pic=request.getParameter("pic"); String id=request.getParameter("id"); if(version==null) { version=""; } if(pic==null) {     pic=""; } else { int ID=Integer.parseInt(id); float Price=Float.parseFloat(price); out.println(""); try {     String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312";     con=DriverManager.getConnection(uri,"root","123456");     sql=con.prepareStatement("insert into mobileForm values(?,?,?,?,?,?,?)");          sql.setString(1,version);     sql.setString(2,name);     sql.setString(3,made);     sql.setFloat(4,Price);     sql.setString(5,mess);     sql.setString(6,pic);     sql.setInt(7,ID);     int m=sql.executeUpdate();     if(m!=0) {                  out.println("添加成功");         response.sendRedirect("index.jsp");     }     else {         out.println("添加失败,或已存在该用户!");         response.sendRedirect("index.jsp");     }     out.println(" 手机信息删除代码: delectmobileForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>    
 
   
 

删除手机信息

   手机版本 手机名    
 
  手机信息删除控制器: deletemobileForm.java package classes.myservlet.control; import java.sql.*; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class deletemobileForm extends HttpServlet{     public void init(ServletConfig config) throws ServletException {            super.init(config);           try{                 Class.forName("com.mysql.cj.jdbc.Driver");           }           catch(Exception e) {}           } public  void  doPost(HttpServletRequest request,HttpServletResponse response)                throws ServletException,IOException {     PrintWriter out=response.getWriter();     Connection con;     Statement sql;     String mess="0";     response.setContentType("text/html;charset=GB2312"); request.setCharacterEncoding("gb2312");     String  name=request.getParameter("radio"); String message=request.getParameter("message"); if(message==null) {     message=""; } if(name=="id") { mess="delete * from mobileForm where version='"+message+"'"; } else if(name=="name") {     mess="delete * from mobileForm where name='"+message+"'"; } out.println(""); try {     String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312";     con=DriverManager.getConnection(uri,"root","123456");     sql=con.createStatement();     int m=sql.executeUpdate(mess);     if(m!=0) {                  out.println("删除成功");         response.sendRedirect("index.jsp");     }     else {         out.println("删除失败,或不存在该手机信息!");         }     out.println(" 手机信息查询: selectmobileForm.jsp <%@page contentType="text/html;charset=GB2312"  %> <%@page import="java.sql.*" %> <%  Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.cj.jdbc.Driver"); } catch(Exception e){} try{ String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312"; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rs=sql.executeQuery("select * from mobileForm"); out.println("
"); out.println(""); while(rs.next()){ out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); } out.println("
"+rs.getString(1)+""+rs.getString(2)+""+rs.getString(3)+""+rs.getFloat(4)+""+rs.getString(5)+""+rs.getString(6)+""+rs.getInt(7)+"
"); out.println("
"); con.close(); } catch(SQLException e){ out.println(e); } %> 订单添加代码: addorderForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>      
   
      订单信息添加                      
订单编号:
订单注册名:
订单信息:
订单价格总和:
       
   
  订单添加控制器: addorderForm.java package classes.myservlet.control; import java.sql.*; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class addorderForm extends HttpServlet{     public void init(ServletConfig config) throws ServletException {            super.init(config);           try{                 Class.forName("com.mysql.cj.jdbc.Driver");           }           catch(Exception e) {}           } public  void  doPost(HttpServletRequest request,HttpServletResponse response)              throws ServletException,IOException {     PrintWriter out=response.getWriter();     Connection con;     PreparedStatement sql; request.setCharacterEncoding("gb2312");     response.setContentType("type=text/html;charset=gb2312"); String  id=request.getParameter("id").trim(); String  logname=request.getParameter("logname").trim(); String mess=request.getParameter("mess").trim(); String sum=request.getParameter("sum").trim(); if(id==null) { id=""; } if(logname==null) {     logname=""; } int ID=Integer.parseInt(id); float Sum=Float.parseFloat(sum); try {     String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312";     con=DriverManager.getConnection(uri,"root","123456");     sql=con.prepareStatement("insert into orderForm values(?,?,?,?)");     sql.setInt(1,ID);     sql.setString(2, logname);     sql.setString(3,mess);     sql.setFloat(4, Sum);     int m=sql.executeUpdate();     if(m!=0) {                  out.println("添加成功");              }     else {         out.println("添加失败,或已存在该用户!");              }     con.close(); } catch(SQLException e) {     out.println(""+e);      } } public  void  doGet(HttpServletRequest request,HttpServletResponse response)   throws ServletException,IOException { doPost(request,response); } } 订单信息删除控制器: deleteorderForm.java package classes.myservlet.control; import java.sql.*; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class deleteorderForm extends HttpServlet{     public void init(ServletConfig config) throws ServletException {            super.init(config);           try{                 Class.forName("com.mysql.cj.jdbc.Driver");           }           catch(Exception e) {}           } public  void  doPost(HttpServletRequest request,HttpServletResponse response)              throws ServletException,IOException {     PrintWriter out=response.getWriter();     Connection con;     Statement sql;     StringBuffer mess=new StringBuffer();     response.setContentType("text/html;charset=GB2312"); request.setCharacterEncoding("gb2312");     String  name=request.getParameter("radio").trim(); String message=request.getParameter("message").trim(); if(message==null) {     message=""; } if(name=="id") {     int Message=Integer.parseInt(message); mess.append("delete * from mobileForm where id='"+Message+"'"); } else if(name=="name") {     mess.append("delete * from orderForm where logname='"+message+"'"); } out.println(""); try {     String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312";     con=DriverManager.getConnection(uri,"root","123456");     sql=con.createStatement();     String str=new String(mess);     int m=sql.executeUpdate(str);     if(m!=0) {                  out.println("删除成功");         response.sendRedirect("index.jsp");              }     else {         out.println("删除失败,或不存在该用户!");                  }     out.println(" 订单查询文件: <%@page contentType="text/html;charset=GB2312"  %> <%@page import="java.sql.*" %> <%  Connection con; Statement sql; ResultSet rs; try{ Class.forName("com.mysql.cj.jdbc.Driver"); } catch(Exception e){} try{ String uri="jdbc:mysql://localhost:3306/mobileshop?serverTimezone=UTC&characterEncoding=gb2312"; con=DriverManager.getConnection(uri,"root","123456"); sql=con.createStatement(); rs=sql.executeQuery("select * from orderForm"); out.println(""); out.println("
"); out.println(""); while(rs.next()){ out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); } out.println("
"+rs.getInt(1)+""+rs.getString(2)+""+rs.getString(3)+""+rs.getFloat(4)+"
"); out.println("
"); out.println("

 

你可能感兴趣的:(web课程设计——手机销售网)