| web课程设计 |
| 智能手机销售系统 |
| 学生姓名 | 张芳维 | 学号 | 201711671133 | ||
| 所在学院 | 数学与计算机学院 | 班级 | 信管1171 | ||
| 所在专业 | 信息管理与信息系统 | ||||
| 申请学位 |
| ||||
| 指导教师 | 涂超 | 职称 |
| ||
| 副指导教师 |
| 职称 |
| ||
| 答辩时间 | 年 月 日 | ||||
目录
说明书
使用JSP技术建立一个简单的手机销售网(货到付款),其目的是掌握一般WEB应用中常用基本模块的开发方法。
用户可以进行注册,登录,浏览手机以及确认订单等等操作。
管理员可以进行对用户,订单等等增删查改的操作。
通过对系统功能的分析,系统主要模块如下:
通过上图的功能分析,把整个系统划分为8个模块:
1、注册,该模块主要实现:用户的基本信息(用户名、密码、电话等)的输入,借助javabean跟servlet实现。
2、登录,该模块主要实现:用户的基本信息(用户名、密码、电话等)的输出,借助javabean跟servlet实现。
3、购物车,该模块主要实现:手机的基本信息的输入,借助javabean跟servlet实现。
4、浏览手机,该模块主要实现:手机的基本信息的输出,借助javabean跟servlet实现。
5、查询手机,该模块主要实现:通过手机名称、手机的编号来查找想要的数据,借助javabean跟servlet实现。
6、确认订单,该模块主要实现:确认要买的手机型号或者是手机的名称,借助javabean跟servlet实现。
7、查询订单,该模块主要实现:负责查找到相应的订单并确认价格,借助javabean实现。
8、退出登录,该模块主要实现:以防其他用户对此用户进行任何操作,借助servlet实现。
Index.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML> <BODY>
<HEAD><%@ include file="head.txt" %></HEAD>
<title>首页</title>
<CENTER> <h1><font Size=4 color=blue>
欢迎光临“智多星”智能手机销售网
</font></h1>
<img src="image/welcome.jpg" width=500 height=400 >
</CENTER>
</BODY></HTML>
inputRegisterMess.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<jsp:useBean id="userBean" class="mybean.data.Register" scope="request"/>
<HEAD><%@ include file="head.txt" %></HEAD>
<title>注册页面</title>
<HTML><BODY bgcolor=cyan><Font size=2>
<div align="center">
<FORM action="registerServlet" method="post" name=form>
<table>
用户名由字母、数字、下划线构成,*注释的项必须填写。
<tr><td>*用户名称:</td><td><Input type=text name="logname" ></td>
<td>*用户密码:</td><td><Input type=password name="password">
</td></tr>
<tr><td>*重复密码:</td><td>
<Input type=password name="again_password"></td>
<td>联系电话:</td><td><Input type=text name="phone"></td></tr>
<tr><td>邮寄地址:</td><td><Input type=text name="address"></td>
<td>真实姓名:</td><td><Input type=text name="realname"></td>
<td><Input type=submit name="g" value="提交"></td> </tr>
</table>
</Form>
</div >
<div align="center">
<p> 注册反馈:
<jsp:getProperty name="userBean" property="backNews" />
<table border=3>
<tr><td>会员名称:</td>
<td><jsp:getProperty name="userBean" property="logname"/></td>
</tr>
<tr><td>姓名:</td>
<td><jsp:getProperty name="userBean" property="realname"/></td>
</tr>
<tr><td>地址:</td>
<td><jsp:getProperty name="userBean" property="address"/></td>
</tr>
<tr><td>电话:</td>
<td><jsp:getProperty name="userBean" property="phone"/></td>
</tr>
</table></div >
</Body></HTML>
(三)会员登录
login.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<jsp:useBean id="loginBean" class="mybean.data.Login" scope="session"/>
<HTML><HEAD><%@ include file="head.txt" %></HEAD>
<BODY bgcolor=cyan><font size=2>
<div align="center">
<table border=2>
<tr> <th>登录</th></tr>
<FORM action="loginServlet" Method="post">
<tr><td>登录名称:<Input type=text name="logname"></td></tr>
<tr><td>输入密码:<Input type=password name="password"></td></tr>
</table>
<Input type=submit name="g" value="提交">
</FORM>
</div >
<div align="center" >
登录反馈信息:<br>
<jsp:getProperty name="loginBean" property="backNews"/>
<br>登录名称:<br><jsp:getProperty name="loginBean" property="logname"/>
</div>
</font>
</BODY></HTML>
(四)浏览手机
lookMobile.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML><HEAD><%@ include file="head.txt" %></HEAD>
<BODY bgcolor=cyan><font size=2>
<div align="center">
<h2>选择某类手机<br>分页显示这类手机</h2>
<% try { Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
String uri="jdbc:mysql://127.0.0.1/mobileshop?"+
"user=root&password=123456&characterEncoding=GB2312";
Connection con;
Statement sql;
ResultSet rs;
try {
con=DriverManager.getConnection(uri);
sql=con.createStatement();
//读取mobileClassify表,获得分类:
rs=sql.executeQuery("SELECT * FROM mobileclassify ");
out.print("<form action='queryServlet' method ='post'>") ;
out.print("<select name='fenleiNumber'>") ;
while(rs.next()){
int id = rs.getInt(1);
String mobileCategory = rs.getString(2);
out.print("<option value ="+id+">"+mobileCategory+"</option>");
}
out.print("</select>");
out.print("<input type ='submit' value ='提交'>");
out.print("</form>");
con.close();
}
catch(SQLException e){
out.print(e);
}
%>
</div></font>
</BODY></HTML>
byPageShow.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="mybean.data.DataByPage" %>
<%@ page import="com.sun.rowset.*" %>
<jsp:useBean id="dataBean" class="mybean.data.DataByPage" scope="session"/>
<%@ include file="head.txt" %></HEAD>
<HTML><Body bgcolor=#66FFAA><center>
<BR>当前显示的内容是:
<table border=2>
<tr>
<th>手机标识号</th>
<th>手机名称</th>
<th>手机制造商</th>
<th>手机价格</th>
<th>查看详情</th>
<td><font color=blue>添加到购物车</font></td>
</tr>
<jsp:setProperty name="dataBean" property="pageSize" param="pageSize"/>
<jsp:setProperty name="dataBean" property="currentPage" param="currentPage"/>
<%
CachedRowSetImpl rowSet=dataBean.getRowSet();
if(rowSet==null) {
out.print("没有查询到结果,无法浏览");
return;
}
rowSet.last();
int totalRecord=rowSet.getRow();
out.println("全部记录数"+totalRecord); //全部记录数
int pageSize=dataBean.getPageSize(); //每页显示的记录数
int totalPages = dataBean.getTotalPages();
if(totalRecord%pageSize==0)
totalPages = totalRecord/pageSize;//总页数
else
totalPages = totalRecord/pageSize+1;
dataBean.setPageSize(pageSize);
dataBean.setTotalPages(totalPages);
if(totalPages>=1) {
if(dataBean.getCurrentPage()<1)
dataBean.setCurrentPage(dataBean.getTotalPages());
if(dataBean.getCurrentPage()>dataBean.getTotalPages())
dataBean.setCurrentPage(1);
int index=(dataBean.getCurrentPage()-1)*pageSize+1;
rowSet.absolute(index); //查询位置移动到currentPage页起始位置
boolean boo=true;
for(int i=1;i<=pageSize&&boo;i++) {
String number=rowSet.getString(1);
String name=rowSet.getString(2);
String maker=rowSet.getString(3);
String price=rowSet.getString(4);
String goods =
"("+number+","+name+","+maker+
","+price+")#"+price;//便于购物车计算价格,尾缀上"#价格值"
goods = goods.replaceAll("\\p{Blank}","");
String button="<form action='putGoodsServlet' method = 'post'>"+
"<input type ='hidden' name='java' value= "+goods+">"+
"<input type ='submit' value='放入购物车' ></form>";
String detail="<form action='showDetail.jsp' method = 'post'>"+
"<input type ='hidden' name='xijie' value= "+number+">"+
"<input type ='submit' value='查看细节' ></form>";
out.print("<tr>");
out.print("<td>"+number+"</td>");
out.print("<td>"+name+"</td>");
out.print("<td>"+maker+"</td>");
out.print("<td>"+price+"</td>");
out.print("<td>"+detail+"</td>");
out.print("<td>"+button+"</td>");
out.print("</tr>");
boo=rowSet.next();
}
}
%>
</table>
<BR>每页最多显示<jsp:getProperty name="dataBean" property="pageSize"/>条信息
<BR>当前显示第<Font color=blue>
<jsp:getProperty name="dataBean" property="currentPage"/>
</Font>页,共有
<Font color=blue><jsp:getProperty name="dataBean" property="totalPages"/>
</Font>页。
<Table>
<tr><td><FORM action="" method=post>
<Input type=hidden name="currentPage" value=
"<%=dataBean.getCurrentPage()-1 %>">
<Input type=submit name="g" value="上一页"></FORM></td>
<td><FORM action="" method=post>
<Input type=hidden name="currentPage"
value="<%=dataBean.getCurrentPage()+1 %>">
<Input type=submit name="g" value="下一页"></FORM></td></tr>
<tr><td> <FORM action="" method=post>
每页显示<Input type=text name="pageSize" value =2 size=3>
条记录<Input type=submit name="g" value="确定"></FORM></td>
<td> <FORM action="" method=post>
输入页码:<Input type=text name="currentPage" size=2 >
<Input type=submit name="g" value="提交"></FORM></td></tr>
</Table>
</Center>
</BODY></HTML>
showDetail.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="mybean.data.Login" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="loginBean" class="mybean.data.Login" scope="session"/>
<%@ include file="head.txt" %></HEAD>
<HTML><Body bgcolor=#99FFCC ><center>
<% if(loginBean==null){
response.sendRedirect("login.jsp");//重定向到登录页面
}
else {
boolean b =loginBean.getLogname()==null||
loginBean.getLogname().length()==0;
if(b)
response.sendRedirect("login.jsp");//重定向到登录页面
}
String mobileID = request.getParameter("xijie");
out.print("<th>产品号"+mobileID);
if(mobileID==null) {
out.print("没有产品号,无法查看细节");
return;
}
Connection con;
Statement sql;
ResultSet rs;
try { Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
String uri="jdbc:mysql://127.0.0.1/mobileshop";
try{
con=DriverManager.getConnection(uri,"root","111111");
sql=con.createStatement();
String cdn="SELECT * FROM mobileForm where mobile_version = '"+mobileID+"'";
rs=sql.executeQuery(cdn);
out.print("<table border=2>");
out.print("<tr>");
out.print("<th>产品号");
out.print("<th>名称");
out.print("<th>制造商");
out.print("<th>价格");
out.print("<th><font color=blue>放入购物车</font>");
out.print("</TR>");
String picture="welcome.jpg";
String detailMess="";
while(rs.next()){
String number=rs.getString(1);
String name=rs.getString(2);
String maker=rs.getString(3);
String price=rs.getString(4);
detailMess=rs.getString(5);
picture=rs.getString(6);
String goods =
"("+number+","+name+","+maker+
","+price+")#"+price;//便于购物车计算价格,尾缀上"#价格值"
goods = goods.replaceAll("\\p{Blank}","");
String button="<form action='putGoodsServlet' method = 'post'>"+
"<input type ='hidden' name='java' value= "+goods+">"+
"<input type ='submit' value='放入购物车' ></form>";
out.print("<tr>");
out.print("<td>"+number+"</td>");
out.print("<td>"+name+"</td>");
out.print("<td>"+maker+"</td>");
out.print("<td>"+price+"</td>");
out.print("<td>"+button+"</td>");
out.print("</tr>");
}
out.print("</table>");
out.print("产品详情:<br>");
out.println("<div align=center>"+detailMess+"<div>");
String pic ="<img src='image/"+picture+"' width=260 height=200 ></img>";
out.print(pic); //产片图片
con.close();
}
catch(SQLException exp){}
%>
</Center>
</BODY></HTML>
adminUser.jsp
<%@ page language="java" contentType="text/html;charset=GB2312"
pageEncoding="UTF-8"%>
<%@ page import="mybean.data.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="mydatabase.DBConfig" %>
<jsp:useBean id="loginBean" class="mybean.data.Login" scope="session"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style/style.css" />
<title>后台管理</title>
</head>
<body>
<%@ include file="head.txt" %>
<%
if (loginBean == null || !loginBean.isLoggedIn()) {
response.sendRedirect("login.jsp");
return;
}
%>
<div id="nav">
<a href="adminUser.jsp">用户管理</a><br>
<a href="adminCategory.jsp">类别管理</a><br>
<a href="adminProduct.jsp">产品管理</a><br>
<a href="adminOrder.jsp">订单管理</a><br>
</div>
<div id="section">
<table border="1">
<thead>
<th>用户名</th>
<th>电话</th>
<th>地址</th>
<th>姓名</th>
</thead>
<tbody>
<% try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {}
Connection conn = null;
Statement stat;
ResultSet rs;
try {
conn = DriverManager.getConnection(DBConfig.DB_URI);
stat = conn.createStatement();
rs = stat.executeQuery("SELECT logname,phone,address,realname FROM user");
while (rs.next()) {
out.print("<tr>");
out.print("<td>" + rs.getString(1) + "</td>");
out.print("<td>" + rs.getString(2) + "</td>");
out.print("<td>" + rs.getString(3) + "</td>");
out.print("<td>" + rs.getString(4) + "</td>");
out.print("</tr>");
}
} catch (Exception e) {
} finally {
if (conn != null) conn.close();
}%>
</tbody>
</table>
</div>
</body>
</html>
adminOrder.jsp
<%@ page language="java" contentType="text/html;charset=GB2312"
pageEncoding="UTF-8"%>
<%@ page import="mybean.data.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="mydatabase.DBConfig" %>
<jsp:useBean id="loginBean" class="mybean.data.Login" scope="session"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style/style.css" />
<title>后台管理</title>
</head>
<body>
<%@ include file="head.txt" %>
<%
if (loginBean == null || !loginBean.isLoggedIn()) {
response.sendRedirect("login.jsp");
return;
}
%>
<div id="nav">
<a href="adminUser.jsp">用户管理</a><br>
<a href="adminCategory.jsp">类别管理</a><br>
<a href="adminProduct.jsp">产品管理</a><br>
<a href="adminOrder.jsp">订单管理</a><br>
</div>
<div id="section">
<table border="1">
<thead>
<th>订单号</th>
<th>用户</th>
<th>信息</th>
<th>价格</th>
</thead>
<tbody>
<%
Connection conn = null;
Statement stat;
ResultSet rs;
try {
conn = DriverManager.getConnection(DBConfig.DB_URI);
stat = conn.createStatement();
rs = stat.executeQuery("SELECT id,logname,mess,sum FROM orderform");
while (rs.next()) {
out.print("<tr>");
out.print("<td>" + rs.getString(1) + "</td>");
out.print("<td>" + rs.getString(2) + "</td>");
out.print("<td>" + rs.getString(3) + "</td>");
out.print("<td>" + rs.getString(4) + "</td>");
out.print("</tr>");
}
} catch (Exception e) {
} finally {
if (conn != null) conn.close();
}
%>
</tbody>
</table>
</div>
</body>
</html>
本文档详细介绍了基于JSP技术的智能手机销售系统的开发过程,包括系统需求分析、模块设计、页面实现及测试方法。系统涵盖了用户注册、登录、商品浏览、购物车管理等功能,并针对管理员提供了用户管理、订单管理等后台操作界面。
2348

被折叠的 条评论
为什么被折叠?



