蔡呈杰王贵鑫
(温州商学院信息工程学院,
浙江温州325035)1概述
购物是人们生产生活不可或缺的一部分。从古至今,人类就已经通过物物交换,货币与物交换从而实现消费购物,互联网如此发达的今天亦是如此。但随着城市生活节奏的加快,科技的不断革新,思想不断进步,人们更加趋向于通过网络进行购物。
商品的虚拟化,网上资金的流动,
用户数据的存储等密切关系到用户的安全性,因此网上购物的安全性,
数据的可靠性无疑是大家伙儿最为关心的一个问题。于是各种加密算法,安全性能高的软件应运而生。上街购物不仅消耗时间,而且受到天气等诸多因素影响。因此网上购物无疑是最佳选择,顺应互联网的发展,只要有网就能实现时时购物的效果。因此开发一款商城软件是多么有必要。
2系统关键技术概述2.1Spring 及其作用未使用spring 之前,我们需要自己new 对象,然后再调用类中的方法,但是当我们在项目中配置完spring ,就可以使用
spring 直接对对象进行管理,
通过spring 直接的获取对象。这些对象是提前配置在applicationContext.xml 文件中的根节点下添加的子节点,如:
Sping 实现了解耦:即类与类之间的依赖性降低,
控制反转(loC)是解耦的目标,
依赖注(Dl)入是实现目标的手段。2.2组件扫描与注解
在Spring 的配置文件中可以配置 与组件扫描联合使用的是注解,注解, 也叫元数据。它是JDK 1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明 在包、类、字段、方法、局部变量、 方法参数等的前面,用来对这些元素进行说明。注解是用来告诉编译器一些信息让编译器能够实现基本的编译检查。 2.3Java 反射 Java 的动态机制,用于在运行期间检查对象的类型,检查对象的类结构(属性,方法等),还可以动态加载类,动态创建对象,动态访问属性和方法,等。很多框架为了解决对未来的未知组件进行管理所以常使用反射API 。 2.4SpringMvc 及其作用 在实际生活的应用中,解决了View->Controller 与Controller->View 的问题。一个Servlet 控制器只能对应一个请求路径,如果用Servlet 来做控制器会有很多Servletlt 类,这样一来 不方便后端开发人员的管理,对于后期功能的改变, 及用户的体验都会产生影响。 而SpringMvc 很好的解决了这个问题。当多个浏览器同时发送请求到服务器时,会先经过DispatcherServlet ,由它对请求进行分配给谁处理,响应结果也经过DispatcherServlet 转发,或重定向到相应到jsp 页面,呈现给对应的用户。 2.5Mybatis 及其应用 Mybatis 的使用可见的效果是,极大的简化了持久层的开发。 只需要在接口中写好增删改查的方法, 通过Mapper.xml 中的配置 2.6Session 会话及其作用 Session 会话的主要作用,区分不同用户登录时, 各自所选的商品的不一样的,虽然使用的是同一张数据表, 但不同用户呈现的商品数量、种类均会有所差异。 2.7 ,顾名思义是起到拦截作用, 在用户未登录之前,许多页面是不能访问的,但像主页等与用户数据没有关系的页面,在未登录的情况下还是可以访问的。通过类实现Hand lerInterceptor 接口, 再在xml 文件中配置需要拦截的请求即可实现拦截的功能能。 2.8密码加密 当用户注册成功之后,数据库中便会存储该用户注册的数据,密码是非常隐秘的数据,但密码在数据库中还是存在安全性的问题,所以我们便使用了加密算法md5,即用户在注册时,通 过加盐(加一个字符串)的方法为密码加密, 在数据库中便会显示一串看不懂的乱码,这样用户的安全性得到了一个质的提升。 3开发语言3.1Java 语言 1996年Java 第一次发布就引起了人们的极大的兴趣。Java 并不只是一种语言。在此之前出现的那么多语言也没有能够引起那么大的轰动。Java 是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。 摘要:从20世纪90年代开始,随着互联网,大数据的来临,人类进入快节奏的信息时代, 即互联网时代,其中网上浏览商品,购买商品已经是人们都会做的事情,已经成为人们生活不可或缺的一部份, 因此开发出一款用户体验好,用户数据的安全性高,可维护性强的商城平台是多么重要。虽然目前已经存在很多商城平台, 但其中还是有很多不足和需要改进的地方,这次设计是基于SSM 框架开发的一款学子商城项目,该项目继承了已经存在项目的一部分优点,并在此基础上有了创新和改进,比如使用 分层架构的思想,用户登录需要输入验证码等,不但提高了安全性,而且后端代码易于管理, 方便后期功能的添加与修改,满足更多用户的需求。 关键词:学子商城;系统; 软件中图分类号:TP393.09文献标识码:A 文章编号:2096-4390(2019)32-0069-0369-- 科学技术创新 2019.32 Mysql 数据库语言:是最流行的关系型数据库管理系统,在WEB 应用方面MySQL 是最好的(关系数据库管理系统)应用软件之一。 3.2Ajax 和Json 语言 Ajax 属于前端的技术, 即异步请求,其原理可以看成小型的浏览器访问服务端后获取结果显示在前端页面。发出的异步请求对于前端页面正常显示没有任何影响,这样一来不仅提高了用户的体 验,同时也减少了流量的消耗, 不用刷新整个页面,只是页面的部分因为用户的操作而发生了改变。Ajax 的五个核心属 性onreadystatechange :取值为某函数, 当请求发出后,直至得到响应,其中经历的过程会有状态的变化,每次状态变化都会导致函数被回调。readyState :发出请求后,直至得到响应的过程中的状态,值为0~4,其中,4表示得到响应。status :响应码。responseText :响应的正文。responseXML :响应的 数据, 以XML 的语法进行组织。Ajax 的使用可以更贴近用户使用的正常思维,比如当“用户名”的输入框丢失焦点时,发出 AJAX 请求,验证当前用户名是否正确, 如果与后端数据库中数据不一致则提示“用户名错误”,该提示出现在“用户名”的输入框的右侧,非常人性化。 Json 一种轻量级的组织数据的语法。JSON 的本质可以是一 个由字符串转换得到的对象。JSON 在表达数据时, 使用K-V 方式,所有的数据使用大括号{}框住,例如:{name:“json ”}。前端页面可以通过javaScript 或jQuery 语言来写Ajax ,前端Ajax 发出异步请求并成功获得响应Json 数据(使用@ResonseBody 注解),由于Json 是轻量级的,所以学子商城项目里有许多地方使用到它编写。 4开发工具 Ecplise :是一个开放源代码的、基于Java 的可扩展开发平 台,并且还附带了一个标准的插件集, 包括Java 开发工具。Mysql :是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 Tomcat :性能稳定,而且免费。Tomcat 服务器是一个免费的 开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用, 是开发和调试JSP 程序的首选。 5学子商城系统主要架构设计与实现 学子商城系统可以大致的分为用户管理系统和商品管理系 统。我们按照SpringMvc 的分层的形式来设计这两个模块。 从持久层->业务层->控制器层->前端页面jsp 这样的开发模式。 其中,持久层主要负责对接数据库方面的信息, 如通过接口来写增删改方法, 再在xml 配置文件中指定接口所在的空间(这个接口存在的包名加类名)。然后是业务层代码的编写, 业务层主要负责业务逻辑的编写,业务层通过调用持久层的方法实现业 务。用户在操作中可能对数据产生增删改, 此时业务层把可能出现的异常都抛出,比如用户输入的密码在数据库中找不到那么自定义异常UserNameNotFoundException 抛出给控制器捕获处理。控制器层通过接收请求,处理请求,发送响应给客户端。 对于商品管理系统部分,学子商城实现了用户在未登录的前提 下可以访问浏览商品,但不能加入购物车, 需要先登录,登入后,可以对商品进行加入购物车,加入收藏, 学子商城推荐用户浏览商品数量大于0的,销量不错的商品,可以立即购买商品, 也可以先把商品加入购物车,再从购物车中选择需要购买的商品,最后提交订单。以上的功能保证了学子商城项目的正常运行,并让客户体验的更加好。 对于用户管理系统部分,本系统包括新用户的注册、用户登 录、用户修改个人密码、用户修改个人基本信息、 添加收货地址等基本操作;对于商品部分,本系统实现用户添加商品到购物车、添加到收藏夹、提交订单等功能。以上功能的实现保证了学子商城网站的完整性,不同业务在具体的实现上也各具不同的技术特点。学子商城层次结构如图1。 5.1数据库设计 学子商城系统设计用户,商品, 订单,地址等多个表,表与表之间通过主外键连接,并设置主键自增长的id 字段,这样的设 计清楚的将数据分别存在不同的表中, 方便后期在开发过程中实体类与之一一对应,同时id 字段也能获取唯一的数据,部分字段如用户名的字段用unique 来进行约束,保证了用户名的唯一。 5.2地址管理功能的部分实现 首先需要通过观察前端页面的样子来确定数据库需要哪些 字段,因为本系统用的是mysql ,而且没有用可视化工具, 对于操作数据库,我们通过win+r 键+cmd 进入windows 的命令窗口,通过命令进入mysql ,并用create 建表。 表建完,第二步写实体类,实体类的属性最好要与数据库中 字段名保持一致,这样有利于后面的开发, 然后通过快捷键添加getter 和setter 方法以及hashcode ,toString ,再继承序列化接口 即可,到这里实体类也完成,再写个接口, 里面有增加,修改,删除地址的方法,映射到xml 文件中,在映射文件中写sql 语句。 理论上持久层已经开发差不多了, 但最好还是用单元测试来测试以边持久层是否有报错。 持久层开发完成后再开发业务层,业务层也需要创建业务层的接口,这样做方便软件的维护和修改!业务层的实现类通 过@Resource 注解使用持久层的接口实现增加地址,修改, 删除,同时使用if ,else 语句来判断用户输入的地址有无问题,有则抛异常。 业务层开发完后是控制器层与前端页面,学子图1学子商城层次结构图 (转下页) 70-- 2019.32科学技术创新商城的前端页面使用jsp ,在控制器层中通过@Service 的注解, 用业务层接口实现增,删,改功能, 并可以转发数据给前端,或直接跳转页面等,对于前端的增加收货地址的请求, 删除地址请求,修改收货地址的请求, 控制器层会根据@RequestMapping 注解找寻对应的处理请求的方法。以上地址的添加, 删除,修改功能大致得到实现。 从上面的实现功能可以看出使用SSM 框架时层次接口非常明显,并且业务层的方法要大于等于持久层的方法,系统的维护,代码的修改也比较容易,并利用异步请求的方法提高了用用户的体验。 5.3Spring 事务 Mysql 中存在事务的回滚,在我们学子商城项目的开发过程中,业务层同样存在事务回滚的现象。当一个业务方法里面涉及到2次及以上的增删改时需要用事务回滚的注解@Transactional 。事务的原理就是,执行两次及以上的增删改时,如果其中有某一次增加,或删除,或修改失败的话,事务回滚,使数据更为安全!即要么全成功提交,要么全失败回滚。在处理地址管理的中涉及到增加,修改,删除等操作,应当使用事务,保证数据库中数据的安全性。在Spring 管理的事务中,默认是执行完毕后直接提交,所以在学子商城项目中使用@Transactional 注解加在方法的上方保证执行事务回滚。 5.4学子商城商品系统管理的功能实现 其实与地址管理功能的实现步骤差不多,这里要提的一点是前端jsp 通过el 表达式将从服务器得到的Json 数据显示在页面上,就成了用户能够看的见的一件件商品了。 5.5Aop 项目功能测试 Aop 切面编程来测试学子商城的功能。 核心功能:可以不改变原有软件功能的情况下,为软件扩展横向(切面儿)功能.经 常被称为是对面向对象的功能的补充。通知, 用于声明切面方法的执行位置,比如:@Before 在目标方法之前执行切面方法,@After 在目标方法之后执行切面方法,无论是否有异常,都执行,@AfterReturning 在方法正常结束以后,@AfterThrowing 在方法出现异常以后,@Around 环绕通知。通过以上这些通知既可以实现对学子商城的功能测试。 结束语 学子商城使用了ssm 框架,Java 的放射原理,Aop 的切面编 程等技术。在用户的体验上, 使用Ajax 结合Json 来提高用户的体验。前端页面使用javaScript 和jQuerySpring 等技术让页面具 有动态效果,进一步提高了用户的体验。事务的回滚, 用户密码的加密以及验证码等的使用提高了数据的安全性。 参考文献 [1]李洋.SSM 框架在Web 应用开发中的设计与实现[J].计算机技术与发展2016,26(12):190-194 [2]邹红霆.基于SSM 框架的Web 系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(1):39-43. 基于深度学习的情感分类研究 胡博文 (北京市第三十五中学, 北京100000)1概述 随着互联网、社交媒体的迅猛发展, 各大主流互联网平台带来了大量的文本数据,其中蕴含丰富的情感元素。通过分析其中的情感元素,可以及时了解网民的观点以及隐含的情绪状态; 同时有助于建立监督系统, 提升互联网的稳定性与安全性,促进网络健康稳定发展。 本文首先简要阐述了情感分类的概念和具体分类方法, 然后整理了多种深度学习的技术及其在情感分类的实际应用。一方面展现不同神经网络功能的差异,另一方面将多种不同的神经网络模型进行结合。 2情感分类概述 情感分类是自然语言处理(NLP )的领域之一, 其被定义为确定文字序列背后所隐含的情感信息的过程,用于对观点表达 者所持有的主观观点、态度进行正面、 负面或中性的分类。情感分类主要针对的是文本数据的分类。 根据分析粒度的不同,情感分类可具体划分为句子级别、 文档级别和特征级别。句子级的情感分类是三种分类中最重要的分类方法。其需要结合上下文和知识库的方式对情感倾向做出精确判断。由于句子相对文档是一个小单元,语法语义信息的加入可以提升分类的效果。同样,在文档级情感分类加入真实有关信息,也可以达到帮助分类的效果。文档级情感分类是识别文档并分类出不同的感情极性,判断文档传达的观点,核心在于对文档的适当表征,得知其大体表达的情感倾向。在特征级的情感分类中,主要关注它所联系的目标对象的摘要:互联网上的信息蕴含着海量带有情感的数据,充分地对其进行分类可以更好的了解网民的观点和社会舆情。情感分 类是自然语言处理(NLP )的重要问题之一,旨在解决情感极性的自动识别与分类问题。近年来随着深度学习的迅速发展, 深度学习在海量文本数据的智能理解上表现出独特的优势,得到了越来越多研究者的青睐。本文首先讨论几类有代表性的深度学习模型,利用几类典型的深度学习模型引出多种基于深度学习的情感分类方案。 关键词:深度学习;情感分类; 神经网络中图分类号:TP391.1文献标识码:A 文章编号:2096-4390(2019)32-0071-02(转下页) 71--