当前位置: 首页 > news >正文

南昌 网站制作死链接对网站的影响

南昌 网站制作,死链接对网站的影响,免费公众号模板编辑器,网店运营怎么学qq#xff08;2829419543#xff09;获取源码 开发语言#xff1a;Java Java开发工具#xff1a;JDK1.8 后端框架#xff1a;springboot 前端#xff1a;采用vue技术开发 数据库#xff1a;MySQL5.7和Navicat管理工具结合 服务器#xff1a;Tomcat8.5 开发软件#xf… qq2829419543获取源码 开发语言Java Java开发工具JDK1.8 后端框架springboot 前端采用vue技术开发 数据库MySQL5.7和Navicat管理工具结合 服务器Tomcat8.5 开发软件IDEA / Eclipse 支持定制实现自己的需求 目录 一、项目简介 1.1开发背景 1.2开发意义 1.3研究内容 二、开发技术与环境配置 2.1.SpringBoot框架 2.2Java语言简介 2.3 Vue的介绍 2.4 mysql数据库介绍 2.5 B/S架构 三、系统功能实现 四、系统项目截图 前台首页功能模块 用户功能模块 管理员功能模块 五、核心代码 跨域问题 文件上传 登录功能实现 一、项目简介 1.1开发背景 目前现有的网上商城系统对于用户而言其购买商品流程仍然过于繁琐对于而言其系统安全性并不能保障。同时整套系统所使用的技术相对较为落后界面不能动态化展示。相比较于其它同类型网站而言不能体现技术先进性。 1.2开发意义 此网站系统的开发方式和信息管理方式借鉴前人设计的信息和研发。以网站商品信息为主购物商品为核心功能来进行设计和研发把网站信息和技术整合开发出一套网上商城系统。用目前现有的新技术进行系统开发提供后台管理员高度友好的界面操作以及迅捷的信息处理。而前台的开发目标是以用户的需求作为主导提供对用户而言非常友好的界面操作环境以及完善系统功能。 目前网上很多购物商城存在或多或少的问题甚至有些网站的体验效果不佳给人非常差的操作。针对现存的问题对此进行改进修复问题中的不足进行项目体验和功能差的完善使得其更具有高度界面友好的特性。提出对于系统而言具备可行性的方案做好系统分析。编译出界面友好功能齐全的网上商城系统。 1.3研究内容 网上商城项目分为两种角色普通用户和管理员。涉及到的功能和权限各不相同普通用户只能浏览网页和购买商品管理员权限比较大可以对网站信息和商品进行增删改查等操作。 对于管理人员其使用习惯是偏向于实用性和安全性。希望该系统能够高度安全并且能够正常实现管理业务的各项功能。 对于用户而言其更倾向于界面友好性和便捷性。不仅希望系统能动态展示还希望系统能够做到“一步到位”其希望能实现的功能除了正常的业务以外还希望能够网上购买商品。 二、开发技术与环境配置 以Java语言为开发工具利用了当前先进的springboot框架以IDEA为系统开发工具MySQL为后台数据库vue为后台管理页面开发的一个网上购物商城系统本系统采用的是B/S模式web方向的研发。 2.1.SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计其不仅继承了Spring框架原来有的优秀特性而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大随之出现了jar包版本之间的兼容性问题而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突以及引用的不稳定性问题得到了很好的解决。 SpringBoot可以看做是Spring的加强版本但实质上都是Spring的相关技术有了这些优秀的开源框架程序员在开发过程中将事半功倍。 2.2Java语言简介 Java是由SUN公司推出该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景它是面向对象的分布式的动态的具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C一样但是它面向对象的技术更加彻底因为Java要求将所有的内容都必须封装成类把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布它是面向网络的语言可以处理TCP/IP协议它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的使得Java可以动态的维护程序。Java不支持指针对内存访问的所有操作都是通过对象实例化实现的这样就避免了指针操作中易产生的错误同时也预防了病毒对系统的破坏和威胁。 Java语言的编程风格与C语言非常接近它继承了C面向对象技术的核心它面世之后发展迅速非常流行对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点在每次执行编译后字节码都需要消耗一定的时间在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学使用它的编程时间短功能性强开发者学习起来更简便、更快。Java的主要特性有以下几个 面向对象 面向对象有四个特点封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法而不改变原来父类。 平台无关性、 Java编译出来的是字节码直接由虚拟机执行。在任何平台上只要有Java虚拟机Java代码都能运行。 可靠性和安全性 Java对内存的访问都必须通过对象的实例变量来实现避免了指针中出现的错误。 多线程 Java提供了多线程功能利用编程实现同一时间同时工作的功能。 2.3 Vue的介绍 Vue.js致力于构建数据驱动的web应用开发框架以简洁化轻量级数据驱动模块友好等优势深受企业以及前端开发者的喜爱成为前端开发人员必备的技能。Vue3.0的出现又带动周边生态的发展奠定了vue在企业级开发的重要地位。 Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层不仅易于上手还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时Vue 也完全能够为复杂的单页应用提供驱动。 渐进式框架做分层设计每层都可选不同层可以灵活接入其他方案。而当你都想用官方的实现时会发现也早已准备好各层之间包括配套工具都能比接入其他方案更便捷地协同工作。 一个个放入,放多少就做多少。 2.4 mysql数据库介绍 利用MYSQL的数据独立性、安全性等特点在软件项目中对数据进行操作可以保证数据准确无误并降低了程序员的应用开发时间。 MYSQL的特点是支持多线程能方便的对系统资源充分利用有效提高速度还提供多种方式途径来对数据库进行连接MYSQL的功能相对弱小、规模也小但本系统要求不高MYSQL完全可以满足本系统使用。 利用MYSQL建立系统数据库不仅有利于数据处理业务的早期整合还能利于发展后两种数据扩展的操作。 2.5 B/S架构 B/S结构是目前使用最多的结构模式它可以使得系统的开发更加的简单好操作而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接可以实现很多的功能B/S结构是可以直接进行使用的而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件所有的数据库之间都是相互独立的因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务并且能够及时的让管理人员做出决策这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式用户使用系统生成数据后这些数据就可以存储到系统的数据库中方便日后能够用到这样就可以满足人们的所有的需求。 三、系统功能实现 1.管理员输入账户登陆后台 2.个人中心管理员修改密码和账户 3.用户管理管理员对注册的用户进行添加修改删除查询 4.商品管理管理员对商品商品进行添加修改删除查询 5.商品分类管理管理员对商品分类进行添加修改删除查询 6.销售单位管理管理员对销售单位添加修改删除查询 7.商品销售分析管理员查看商品销售统计表格和统计图 9.注册会员管理管理员对注册的会员信息进行添加修改删除查询 10.资讯管理管理员对商品资讯进行添加修改删除查询 11.轮播图管理管理员对网站的轮播图进行管理 12.订单管理管理员查看各订单的状态 13.退出登陆 用户的主要功能有 1.用户注册和登陆系统 2.查看系统的新闻资讯信息 3.查看商品销售列表查看商品介绍详情 4.用户收藏商品对商品进行评价留言 5.用户按条件商品信息 5.用户把商品加入购物车进行结算生成订单 6.用户个人中心修改密码修改个人信息查看订单 7.用户在线充值用于购买支付 8.退出登陆 四、系统项目截图 前台首页功能模块 用户登录、用户注册通过注册获取用户名、密码、姓名、联系电话等信息进行注册、登录 网上商城购物系统在网上商城购物系统可以查看首页、商品信息、商品资讯、个人中心、后台管理、购物车、在线客服等内容 商品信息在商品信息页面可以查看商品名称、商品分类、图片、品牌、规格、价格等信息进行添加到购物车、立即购买 商品资讯 个人中心在个人中心页面可以查看用户名、姓名、性别、头像、联系电话等进行更新信息、退出登录 用户功能模块 用户登录进入网上商城购物系统可以查看首页、个人中心、订单评价管理、我的收藏管理、订单管理等内容。 订单管理在订单管理页面中通过查看订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址等内容进行详情 我的收藏管理在我的收藏管理页面中可以查看收藏名称、收藏图片等信息内容并且根据需要对我的收藏管理进行详情或删除等其他详细操作 订单评价管理在订单评价管理页面中通过查看订单编号、商品名称、商品分类、品牌、规格、评分、添加图片、评价内容、评价日期、用户名、审核回复、审核状态等信息还可以根据需要对订单评价管理进行修改 管理员功能模块 管理员登录通过填写用户名、密码、角色进行登录 管理员登录进入网上商城购物系统可以查看首页、个人中心、用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理、订单管理等信息。  个人中心在个人中心页面中可以通过填写原密码、新密码、确认密码等信息进行添加、修改还可以根据需要对个人信息进行添加修改或删除等详细操作 商品分类管理在商品分类管理页面中可以查看商品分类等信息并可根据需要对商品分类管理进行详情、修改或删除等详细操作 商品信息管理在商品信息管理页面中可以查看商品名称、商品分类、图片、品牌、规格、价格等内容并且根据需要对商品信息管理进行详情修改或删除等详细操作 用户管理在用户管理页面中可以查看用户名、姓名、性别、头像、联系电话等信息并可根据需要对用户管理进行详情、修改或删除等操作    轮播图该页面为轮播图管理界面。管理员可以在此页面进行首页轮播图的管理通过新建操作可在轮播图中加入新的图片还可以对以上传的图片进行修改操作以及图片的删除操作 订单评价管理在订单评价管理页面中可以查看订单编号、商品名称、商品分类、品牌、规格、评分、添加图片、评价内容、评价日期、用户名、审核回复、审核状态、审核等内容并且根据需要对订单评价管理进行详情、修改或删除等详细操作 订单管理在订单管理页面中可以查看订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址等内容并且根据需要对订单管理进行详情、修改或删除等详细操作  五、核心代码 跨域问题 package com.interceptor;import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSONObject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor;import com.annotation.IgnoreAuth; import com.entity.EIException; import com.entity.TokenEntity; import com.service.TokenService; import com.utils.R;/*** 权限(Token)验证*/ Component public class AuthorizationInterceptor implements HandlerInterceptor {public static final String LOGIN_TOKEN_KEY Token;Autowiredprivate TokenService tokenService;Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//支持跨域请求response.setHeader(Access-Control-Allow-Methods, POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age, 3600);response.setHeader(Access-Control-Allow-Credentials, true);response.setHeader(Access-Control-Allow-Headers, x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization);response.setHeader(Access-Control-Allow-Origin, request.getHeader(Origin));IgnoreAuth annotation;if (handler instanceof HandlerMethod) {annotation ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);} else {return true;}//从header中获取tokenString token request.getHeader(LOGIN_TOKEN_KEY);/*** 不需要验证权限的方法直接放过*/if(annotation!null) {return true;}TokenEntity tokenEntity null;if(StringUtils.isNotBlank(token)) {tokenEntity tokenService.getTokenEntity(token);}if(tokenEntity ! null) {request.getSession().setAttribute(userId, tokenEntity.getUserid());request.getSession().setAttribute(role, tokenEntity.getRole());request.getSession().setAttribute(tableName, tokenEntity.getTablename());request.getSession().setAttribute(username, tokenEntity.getUsername());return true;}PrintWriter writer null;response.setCharacterEncoding(UTF-8);response.setContentType(application/json; charsetutf-8);try {writer response.getWriter();writer.print(JSONObject.toJSONString(R.error(401, 请先登录)));} finally {if(writer ! null){writer.close();}}throw new EIException(请先登录, 401);return false;} } 文件上传 /*** 上传文件映射表*/ RestController RequestMapping(file) SuppressWarnings({unchecked,rawtypes}) public class FileController{Autowiredprivate ConfigService configService;/*** 上传文件*/RequestMapping(/upload)public R upload(RequestParam(file) MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException(上传文件不能为空);}String fileExt file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(.)1);File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}String fileName new Date().getTime().fileExt;File dest new File(upload.getAbsolutePath()/fileName);file.transferTo(dest);/*** 如果使用idea或者eclipse重启项目发现之前上传的图片或者文件丢失将下面一行代码注释打开* 请将以下的D:\\springbootq33sd\\src\\main\\resources\\static\\upload替换成你本地项目的upload路径* 并且项目路径不能存在中文、空格等特殊字符*/ // FileUtils.copyFile(dest, new File(D:\\springbootq33sd\\src\\main\\resources\\static\\upload/fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/if(StringUtils.isNotBlank(type) type.equals(1)) {ConfigEntity configEntity configService.selectOne(new EntityWrapperConfigEntity().eq(name, faceFile));if(configEntitynull) {configEntity new ConfigEntity();configEntity.setName(faceFile);configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put(file, fileName);}/*** 下载文件*/IgnoreAuthRequestMapping(/download)public ResponseEntitybyte[] download(RequestParam String fileName) {try {File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);if(!upload.exists()) {upload.mkdirs();}File file new File(upload.getAbsolutePath()/fileName);if(file.exists()){HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData(attachment, fileName); return new ResponseEntitybyte[](FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntitybyte[](HttpStatus.INTERNAL_SERVER_ERROR);}} 登录功能实现 package com.controller;import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils;/*** 登录相关*/ RequestMapping(users) RestController public class UserController{Autowiredprivate UserService userService;Autowiredprivate TokenService tokenService;/*** 登录*/IgnoreAuthPostMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user userService.selectOne(new EntityWrapperUserEntity().eq(username, username));if(usernull || !user.getPassword().equals(password)) {return R.error(账号或密码不正确);}String token tokenService.generateToken(user.getId(),username, users, user.getRole());return R.ok().put(token, token);}/*** 注册*/IgnoreAuthPostMapping(value /register)public R register(RequestBody UserEntity user){if(userService.selectOne(new EntityWrapperUserEntity().eq(username, user.getUsername())) !null) {return R.error(用户已存在);}userService.insert(user);return R.ok();}/*** 退出*/GetMapping(value logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 密码重置*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request){UserEntity user userService.selectOne(new EntityWrapperUserEntity ().eq(username, username));if(usernull) {return R.error(账号不存在);}user.setPassword(123456);userService.update(user,null);return R.ok(密码已重置为123456);}/*** 列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,UserEntity user){EntityWrapperUserEntity ew new EntityWrapperUserEntity();PageUtils page userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/list)public R list( UserEntity user){EntityWrapperUserEntity ew new EntityWrapperUserEntity();ew.allEq(MPUtil.allEQMapPre( user, user)); return R.ok().put(data, userService.selectListView(ew));}/*** 信息*/RequestMapping(/info/{id})public R info(PathVariable(id) String id){UserEntity user userService.selectById(id);return R.ok().put(data, user);}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrUser(HttpServletRequest request){Long id (Long)request.getSession().getAttribute(userId);UserEntity user userService.selectById(id);return R.ok().put(data, user);}/*** 保存*/PostMapping(/save)public R save(RequestBody UserEntity user){if(userService.selectOne(new EntityWrapperUserEntity().eq(username, user.getUsername())) !null) {return R.error(用户已存在);}userService.insert(user);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody UserEntity user){userService.updateById(user);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();} }
http://www.zqtcl.cn/news/98952/

相关文章:

  • 2017优秀网站设计欣赏如何做建议的网站
  • 获取网站访问qq怎么做链接
  • 最简单的网站建设中英文自助网站建设
  • vps 做网站品牌网站建设可信大蝌蚪
  • 怎样在百度建网站怎么建设课题网站
  • 广西网站设计欣赏企业网站建设的管理制度
  • 网站建设与管理提纲免费编程教学视频
  • 做效果图的网站有哪些推广网站详细教程
  • 2.0网站线上建设什么意思WordPress怎么设置分类
  • 湖南众诚建设 官方网站开发者模式是干什么的
  • o2o平台都有哪些网站公司莱芜网站优化方案
  • 个人或主题网站建设 实验体会网站开发可退税
  • 龙岗同乐社区做网站昆明发布最新通告
  • 能进外国网站看视频的浏览器wordpress 信息流
  • 怎样做自己介绍网站昆明网红打卡地有哪些地方
  • 一个外国人做汉字网站广州近期流行的传染病
  • 做pc端网站新闻pdf 网站建设
  • 盱眙网站建设棋牌软件定制开发
  • struts2 做的网站南京做网站优化
  • 网站设计的安全尺寸wordpress qqoq主题
  • 网站建设500错误代码网站文章超链接怎么做
  • 网站建设尺寸凡科建站弊端
  • 企业网站建设模板多少钱在哪里建网站免费
  • 盐城网站建设咨询优秀vi设计
  • 网站里面内外链接如何做北京pk10网站建设
  • 网站布局策划的流程百度知道入口
  • 个人网站设计毕业设计论文上海百度seo优化
  • 展台设计网站都有哪些拓者设计吧手机版
  • 河南省级建设主管部门网站免费推广平台哪个好
  • wordpress禁止自动升级seo实战密码怎么样