资源下载地址:https://download.csdn.net/download/sheziqiong/85810993
资源下载地址:https://download.csdn.net/download/sheziqiong/85810993
目 录
- 绪论 4
1.1 系统开发背景与意义 4
1.2 文章的研究内容 4
1.3 文章的组织结构 4 - 系统需求分析与关键技术 5
2.1 可行性分析 5
2.1.1 经济可行性 5
2.1.2 技术可行性 5
2.1.3 运营可行性 5
2.2 功能分析 5
2.2.1 登录注册功能 5
2.2.2 信息的增删改查功能 5
2.2.3 分页功能 7
2.3 关键技术 7
2.3.1 jQuery框架 7
2.3.2 分页技术 7
2.3.3 精准查询 7
3.业务建模与设计 8
3.1 系统的整体设计 8
3.2 业务用例建模 9
3.2.1 角色分析 9
3.2.2 用例分析 9
3.3 业务流程建模 9
3.4 系统数据库的设计 10
3.4.1 E-R图设计 10
3.4.2 物理表设计 11 - 系统的实现与应用 12
4.1登录注册功能模块 12
4.1.1登录注册功能 12
4.2系统的管理功能模块 16
4.2.1添加订单信息 16
4.2.2修改订单信息 18
4.2.3删除订单信息 20
4.3分页功能模块 21 - 结论 26
参考文献 27
致 谢 28
2.2 功能分析
2.2.1 登录注册功能
这个功能主要是对管理员的信息进行收集,实行可以登录。
(1)注册:用户进入系统的起始页,有两个按钮,分别是登录和注册,点击注册按钮可以进入注册界面,进行登录人员的信息的收集,并且把信息注入数据库中,实现信息的收集。
(2)登录:注册的人进入系统的起始页,分别在账号和password输入框内输入曾经注册过的信息,按下登录图标,即可进入产品的功能界面。
2.2.2 信息的增删改查功能
管理员进入系统后可以操作增加订单,添加用户,修改订单信息,删除订单,查询指定租赁人的功能。
(1)添加用户:管理员可以在界面添加新的人员登录此系统,进行相关功能的操作;
(2)添加订单:管理员订单左侧菜单栏中的添加订单,即可进图添加订单页,进行租赁客户的相关信息登记。
(3) 查询:管理员添加数据后,点击左侧的菜单栏中的订单展示,即可查看所有订单的信息,订单展示页上方添加了一个身份证号的查询框,实现了对数据库中的订单实施精准查询
(4)修改:订单展示页面的每条订单后面都有一个编辑按钮,这个图标可以对该条信息进行修改,单击图标,就能进入编辑页面,对该条订单进行edit和保存。
(5)删除;订单展示页面的每条订单后面都有一个删除按钮,此按钮可以对该条订单实施删除操作,若改订单已完结,即可进行订单的删除。
图2-2-1订单信息管理功能结构图
2.2.3 分页功能
分页功能主要面对显示客户信息更优化管理。
(1)分页功能:基于显示客户信息的基础上考虑到客户的数量进行合理化的分页
进行管理,每6条客户信息为一个页面,可以进行比较好的可视化管理。
2.3 关键技术
2.3.1 jQuery框架
jQuery里面涵盖了html,css,js的基本元素,并且将这些我们使用频繁的元素进
行了更好的优化,让程序员使用提供的比较舒服的体验,节省了许多的时间进行代码的
书写。此项目中系统主页,与栏目的子页使用了此项技术。
2.3.2 分页技术
分页这个技术是使用mysql进行查询我所需要的数据,然后每个页面设置所能展示
的数据条数,设置当前数据条数然后根据对数据的总数进行分页,可以点击页面数与上
下页的链接进行页面之间的浏览。
2.3.3 精准查询
精准查询功能,因为身份证号码的唯一性,这个项目是根据订单表里面的身份证号
来进行进准查询,管理员可以在订单展示界面,输入租赁人的身份证号,即可在大量数
据中准确的找到该订单的详细信息。
部分代码如下:
package com.weishang.my.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.dom4j.DocumentException;
import com.weishang.my.pojo.Address;
import com.weishang.my.pojo.Aunt;
import com.weishang.my.pojo.AuntImg;
import com.weishang.my.pojo.CombineMarket;
import com.weishang.my.pojo.Comment;
import com.weishang.my.pojo.Coupon;
import com.weishang.my.pojo.GoodsPojo;
import com.weishang.my.pojo.User;
import com.weishang.my.service.CategoryService;
import com.weishang.my.service.ShopService;
import com.weishang.my.tool.SendMessageInfo;
import com.weishang.my.tool.StringUtil;
import com.weishang.pojo.Template;
import com.weishang.service.AdminService;
import com.weishang.service.GetNoCmsService;
import com.weishang.service.UserService;
import com.weishang.tool.AbstractServlet;
import com.weishang.tool.CommonUrl;
import com.weishang.tool.IsPhone;
import com.weishang.tool.Md5Util;
@WebServlet(displayName="前端基本信息",name="FrontAction",urlPatterns="/front")
public class FrontAction extends AbstractServlet{
private static final long serialVersionUID = 1L;
ShopService ss=new ShopService();
AdminService as=new AdminService();
UserService us=new UserService();
CategoryService cs=new CategoryService();
GetNoCmsService ps=new GetNoCmsService();
/**
* 获取商品详情
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
public void goodsDetail(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
String jsp="";
Template tpl=null;
String tem_id=request.getParameter("id");
Integer id=0;
if(tem_id!=null && !tem_id.equals("")){
id=Integer.parseInt(tem_id);
}
GoodsPojo goods=null;
try {
tpl =us.getTemplate();
goods=ss.getGoodsPojoById(id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("goods",goods);
if(goods.getCategory().getId().equals(17)){
request.setAttribute("special","x");
}else if(goods.getCategory().getId().equals(15)){
request.setAttribute("special","h");
}
jsp= "/template/"+tpl.getFolder()+"/page/goods_detail.jsp";//前台的手机jsp页面
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}
/**
* 获取外聘员工详情
* @param id外聘员工id
*/
public void auntDetail(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
String jsp="";
Template tpl=null;
String tem_id=request.getParameter("id");
Integer id=0;
if(tem_id!=null && !tem_id.equals("")){
id=Integer.parseInt(tem_id);
}
Aunt aunt=null;
List<AuntImg> imgList=null;
List<Comment> commetnList=null;
try {
tpl =us.getTemplate();
aunt=ss.getAuntById(id);
commetnList=ss.getCommentByCmsId(1, 4, null, id.toString(),"0");
imgList=ss.getAuntImgByAunt(id, "aunt");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("aunt",aunt);
request.setAttribute("imgList",imgList);
request.setAttribute("commetnList",commetnList);
jsp= "/template/"+tpl.getFolder()+"/page/aunt_detail.jsp";//前台的手机jsp页面
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}
/**
* 活动下单第一步
*/
public void activetiOrderOne(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
Object ordinary_user=session.getAttribute("ordinary_user");
Template tpl=null;
String jsp="";
try {
tpl = us.getTemplate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(ordinary_user==null){//非登陆用户
IsPhone isPhone=new IsPhone();
if(isPhone.JudgeIsMoblie(request)){
jsp= "/template/"+tpl.getFolder()+"/page/mobile/user_login.jsp";//前台的手机jsp页面
}else{
jsp= "/template/"+tpl.getFolder()+"/page/user_login.jsp";
}
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}else{//登陆用户
User user=(User)ordinary_user;
String integel=CommonUrl.getValue("integel");
String tem_id=request.getParameter("id");
Integer id=0;
if(tem_id!=null && !tem_id.equals("")){
id=Integer.parseInt(tem_id);
}
CombineMarket market=null;
List<Address> addressList=null;
try {
market=ss.getCombineMarketById(id);
addressList=ss.getAddressByUser(user.getId());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//获取正在使用的模板
IsPhone isPhone=new IsPhone();
if(isPhone.JudgeIsMoblie(request)){
jsp= "/template/"+tpl.getFolder()+"/page/mobile/activities_order_one.jsp";//前台的手机jsp页面
}else{
jsp= "/template/"+tpl.getFolder()+"/page/activities_order_one.jsp";
}
request.setAttribute("id",id);
request.setAttribute("market",market);
request.setAttribute("integel",integel);
request.setAttribute("addressList",addressList);
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}
}
/**
* 下订单第一步
*/
public void goodsOrderOne(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
Object ordinary_user=session.getAttribute("ordinary_user");
Template tpl=null;
String jsp="";
try {
tpl = us.getTemplate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(ordinary_user==null){//非登陆用户
IsPhone isPhone=new IsPhone();
if(isPhone.JudgeIsMoblie(request)){
jsp= "/template/"+tpl.getFolder()+"/page/user_login.jsp";//前台的手机jsp页面
}else{
jsp= "/template/"+tpl.getFolder()+"/page/user_login.jsp";
}
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}else{//登陆用户
String special=request.getParameter("sp");//特殊的标志(此处是用来表示接送机),不为空或者不为null就为接送机
User user=(User)ordinary_user;
List<Coupon> couponList=null;
String integel=CommonUrl.getValue("integel");
String tem_id=request.getParameter("id");
Integer id=0;
if(tem_id!=null && !tem_id.equals("")){
id=Integer.parseInt(tem_id);
}
GoodsPojo goods=null;
List<Address> addressList=null;
try {
goods=ss.getGoodsPojoById(id);
addressList=ss.getAddressByUser(user.getId());
couponList=ss.getUserCouponByUsername(user.getUsername(),1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//获取正在使用的模板
IsPhone isPhone=new IsPhone();
if(isPhone.JudgeIsMoblie(request)){
jsp= "/template/"+tpl.getFolder()+"/page/order_one.jsp";//前台的手机jsp页面
}else{
jsp= "/template/"+tpl.getFolder()+"/page/order_one.jsp";
}
if(goods.getCategory().getId().equals(17)){
request.setAttribute("special","x");
}else if(goods.getCategory().getId().equals(15)){
request.setAttribute("special","h");
}
request.setAttribute("id",id);
request.setAttribute("goods",goods);
request.setAttribute("couponList",couponList);
request.setAttribute("integel",integel);
request.setAttribute("addressList",addressList);
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}
}
/**
* 用户登录
*/
public void userLogin(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=GBK");
String tel=request.getParameter("tel");
String pass=request.getParameter("pass");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);
User user=null;
String json="";
if(tel.length()==11 && StringUtil.getOrNumber(tel)){//电话号码正确
boolean userOr=false;
try {
userOr = ss.getUserOrByTel(tel);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(userOr){//用户已经存在
try {
user=ss.getUserByTelAndPass(tel, pass);
session.setAttribute("ordinary_user", user);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(user!=null){//登陆正确
json="{\"tip\":\"登陆成功\",\"status\":200}";
}else{//登陆不正确
json="{\"tip\":\"您的电话号码和密码不匹配\",\"status\":500}";
}
}else{//用户不存在
//request.setAttribute("tip","当前输入的电话没有注册");
json="{\"tip\":\"当前输入的电话没有注册\",\"status\":500}";
}
}else{
json="{\"tip\":\"您的电话号码不符合规范\",\"status\":500}";
}
out.print(json);
}
/**
* 用户注册
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@SuppressWarnings("static-access")
public void userRegiste(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=GBK");
HttpSession session = request.getSession(true);
String tel=request.getParameter("tel");
String pass=request.getParameter("pass");
String re_pass=request.getParameter("re_pass");
String telcode=request.getParameter("telcode");
PrintWriter out = response.getWriter();
AdminService as=new AdminService();
String json="";
Object telCode=session.getAttribute("telcode");//获取手机验证码
if(telCode==null || !telCode.toString().equals(telcode)){
json="{\"tip\":\"手机验证码不正确\",\"status\":500}";
}else{
if(tel.length()==11 && StringUtil.getOrNumber(tel)){//电话号码正确
if(pass.equals(re_pass)){
boolean userOr=false;
try {
userOr = ss.getUserOrByTel(tel);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(userOr){//用户已经存在
json="{\"tip\":\"用户电话已经存在\",\"status\":500}";
}else{//用户不存在
Md5Util md5=new Md5Util();
as.addUser(tel, pass,md5.getMD5Str(pass), "", tel, "", "1", "1");
json="{\"tip\":\"用户注册成功,请登录\",\"status\":200}";
}
}else{
json="{\"tip\":\"两次输入的密码不正确\",\"status\":500}";
}
}else{
json="{\"tip\":\"电话号码不正确\",\"status\":500}";
}
}
out.print(json);
}
/**
* 添加用户的地址信息
*/
public void addAddress(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
Object ordinary_user=session.getAttribute("ordinary_user");
String tel=request.getParameter("tel");
String name=request.getParameter("name");
String IDStr=request.getParameter("address");//此处是表示身份证号码
PrintWriter out = response.getWriter();
String json="";
if(ordinary_user==null){
json="{\"tip\":\"请登录之后再操作\",\"status\":500}";
}else{
if(tel.length()==11 && StringUtil.getOrNumber(tel)){//电话号码正确
String shenfen=StringUtil.IDCardValidate(IDStr);
if(!shenfen.equals("")){//身份证号码正确
json="{\"tip\":\""+shenfen+"\",\"status\":500}";
}else{
Integer flag=0;
User user=(User)ordinary_user;
flag=ss.addAddress(user.getId(), name, tel, IDStr);
if(flag>0){
json="{\"tip\":\"添加成功\",\"addressId\":"+flag+",\"name\":\""+name+"\",\"tel\":\""+tel+"\",\"address\":\""+IDStr+"\",\"status\":200}";
}else{
json="{\"tip\":\"服务器错误\",\"status\":500}";
}
}
}else{
json="{\"tip\":\"电话号码不正确\",\"status\":500}";
}
}
out.print(json);
}
/**
* 添加订单信息
* @throws IOException
*/
public void addGoodsOrder(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(true);
Object ordinary_user=session.getAttribute("ordinary_user");
String tem_store_id=request.getParameter("store_id");//门店id
String price=request.getParameter("price");
String tem_address_id=request.getParameter("address_id");
String tem_goods_id[]=request.getParameterValues("goods_id");
String content=request.getParameter("content");
String serviceDate=request.getParameter("serviceDate");
Integer store_id=null;
Integer address_id=null;
Integer goods_id=null;
Integer order_id=0;
if(tem_store_id!=null && !tem_store_id.equals("")){
store_id=Integer.parseInt(tem_store_id);
}
if(tem_address_id!=null && !tem_address_id.equals("")){
address_id=Integer.parseInt(tem_address_id);
}
if(tem_goods_id.length>0){
goods_id=Integer.parseInt(tem_goods_id[0]);
}
PrintWriter out = response.getWriter();
String json="";
if(ordinary_user==null){
json="{\"tip\":\"请登录之后再操作\",\"status\":500}";
}else{
User user=(User)ordinary_user;
//order_id=ss.addGoodsOrder(2, 1, 1, 1,serviceDate, null, content, user.getId(),null, store_id, null, price, 1, 1, address_id, 2,"3", user.getId().toString(), null, goods_id, 1,"");
if(order_id>0){
if(tem_goods_id.length>0){
for(int i=0;i<tem_goods_id.length;i++){
ss.addGoodsAndOrder(Integer.parseInt(tem_goods_id[i]),order_id);
}
}
json="{\"tip\":\"操作成功\",\"status\":200}";
}else{
json="{\"tip\":\"服务器内部错误\",\"status\":500}";
}
}
out.print(json);
}
/**
* 快速订车
*/
public void goFastOrder(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
String store_id=request.getParameter("store_id");
String type_id=request.getParameter("type_id");
String time=request.getParameter("time");
Cookie cookie = new Cookie("store_id",store_id);
Cookie cookie1 = new Cookie("type_id",type_id);
Cookie cookie2 = new Cookie("time",time);
cookie.setMaxAge(-1);
cookie1.setMaxAge(-1);
cookie2.setMaxAge(-1);
//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
cookie.setPath("/");
cookie1.setPath("/");
cookie2.setPath("/");
response.addCookie(cookie);
response.addCookie(cookie1);
response.addCookie(cookie2);
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
response.sendRedirect(basePath+"goods?cat_id="+type_id+"&menuId=7");
}
/***
* 获取促销信息详细信息
*/
public void promotDetail(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
String jsp="";
Template tpl=null;
String tem_id=request.getParameter("id");
Integer id=0;
if(tem_id!=null && !tem_id.equals("")){
id=Integer.parseInt(tem_id);
}
CombineMarket market=null;
try {
tpl =us.getTemplate();
market=ss.getCombineMarketById(id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("market",market);
jsp= "/template/"+tpl.getFolder()+"/page/promot_detail.jsp";//前台的手机jsp页面
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request,response);
}
/**
* 获取手机验证码信息
* @throws DocumentException
*/
public void getTelCode(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException, DocumentException{
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession(true);
PrintWriter out = response.getWriter();
String tel=request.getParameter("tel");
String json="";
SendMessageInfo smi=new SendMessageInfo();
String code=smi.sendMessageInfo(tel,1,StringUtil.getRandomString(4));
if(code.length()<14){
json="{\"tip\":\"验证码已经发送到你的手机\",\"status\":200}";
session.removeAttribute("telcode");
session.setAttribute("telcode",code);
}else{
json="{\"tip\":\"验证码发送失败,您没有购买短信接口,请联系QQ:1919594905购买短信\",\"status\":200}";
}
out.print(json);
}
}
资源下载地址:https://download.csdn.net/download/sheziqiong/85810993
资源下载地址:https://download.csdn.net/download/sheziqiong/85810993