![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实战项目
文章平均质量分 65
csdn_kenneth
这个作者很懒,什么都没留下…
展开
-
实战day11(三)----用户登录
创建登录controller重启e3-sso-web一、登录业务逻辑层创建登录的interface和servicepackage cn.e3mall.sso.service.impl;import java.util.List;import java.util.UUID;import org.springframework.beans.factory.annotation.Autowir...原创 2018-03-22 00:26:36 · 286 阅读 · 0 评论 -
实战day09(二)----添加商品同步索引库
dao层的方法添加创建监听器package cn.e3mall.search.message;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;import org.apache.solr.client.solrj.SolrServer;import org.a...原创 2018-03-18 15:45:52 · 436 阅读 · 0 评论 -
实战day09(一)----Activemq整合spring
一、课程计划1、Activemq整合springMQ的应用场景2、添加商品同步索引库3、商品详情页面动态展示4、展示详情页面使用缓存二、Activemq整合spring2.1 生产者第一步:引用相关的jar包。pom.xml中引入。。。第二步:配置Activemq整合spring。配置ConnectionFactory第三步:配置生产者。使用JMSTemplate对象。发送消息。第四步:在spri...原创 2018-03-18 15:03:55 · 173 阅读 · 0 评论 -
实战day08(八)----全局异常处理
一、处理思路在表现层统一捕获。1.在控制台打印;2.写日志;3.发邮件(发短信)给相关负责人。二、创建全局异常处理器打印日志有很多工具包,log4j, commons-log。不同的工具包的使用方法是不一样的。slf4j是一个通用的规范。用它来操作。org.apache.log4j.Logger;private static final Logger logger = Logger.getLogg...原创 2018-03-18 13:17:03 · 169 阅读 · 0 评论 -
实战day08(七)----Activemq使用
e3-manager-server工程中发送消息。当商品添加完成后发送一个TextMessage,包含一个商品id。package cn.e3mall.activemq;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Message;import javax.jms.Messa...原创 2018-03-18 11:01:10 · 154 阅读 · 0 评论 -
实战day05(四)----内容分类列表展示
接口实现类注册服务表现层是e3-manager-web需要把e3-content-interface接口依赖过去。表现层接收服务:创建controllere3-content install一下e3-manager install一下e3-content启动e3-manager启动e3-manager-web启动tomcat插件要配对了。害我少睡45分钟。<plugin> <...原创 2018-02-25 23:46:52 · 200 阅读 · 0 评论 -
实战day05(三)----dubbo服务发布不使用tomcat
运行测试方法,然后启动e3-manager-web,后台系统可以正常运行。把junit的程序关闭,就没法访问后台系统了。说明,服务层只需要启动一个spring容器,跟tomcat没有关系。这样也可以,等待控制台输入:...原创 2018-02-25 23:10:08 · 2819 阅读 · 0 评论 -
实战day05(二)----内容展示功能分析及工程搭建
一、首页动态展示分析内容信息要从数据库中获得。后台有个表,需要后台的表里的内容改了,前台的图片就自动发生变化。前台和后台是通过数据库进行交互的。1.1 动态展示分析1、内容需要进行分类2、分类下有子分类,需要动态管理。3、分类下有内容列表4、单点的内容信息a)有图片b)有链接c)有标题d)有价格e)包含大文本类型,可以作为公告需要一个内容分类表和一个内容表。内容分类和内容表是一对多的关系。内容分类...原创 2018-02-25 21:38:50 · 224 阅读 · 0 评论 -
实战day05(一)----前台工程搭建
前台和后台不直接通信,只是他们用的是同一个数据库。后台对数据库进行维护,前台把数据取出来展示。一、课程计划1 前台系统搭建2 商城首页展示3 Cms系统的实现内容分类管理内容管理4 前台内容动态展示二、商城首页展示系统架构图:1.1. 工程搭建E3-portal-web(war)可以参考e3-manager-web工程搭建pom.xml内容参考e3-manager-web的pom.xml。把e3-...原创 2018-02-25 21:02:53 · 350 阅读 · 0 评论 -
实战day07(六)----solr搜索之查询
一、简单查询@Testpublic void queryIndex() throws Exception { // 创建一个SolrServer对象 SolrServer solrServer = new HttpSolrServer("http://192.168.25.128:8080/solr/collection1"); // 创建一个SolrQuery对象 SolrQuery ...原创 2018-03-04 21:39:10 · 167 阅读 · 0 评论 -
实战day07(五)----搜索工程搭建
new-maven projectpom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven....原创 2018-03-04 20:50:51 · 151 阅读 · 0 评论 -
实战day08(六)----MQ初识
一、ActiveMQ简介ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。只要是支持JMS1.1规范的工具,用法都一样的。因为JMS是接口,是规范,所以实现的方法名称都一样的。二、Ac...原创 2018-03-17 21:41:50 · 243 阅读 · 0 评论 -
实战day07(二)----Solar业务域的配置
把IK Analyzer传到服务器上把配置文件放到classes中[root@CentOS conf]# vi schema.xml 添加配置信息重启tomcat原创 2018-03-04 13:38:47 · 176 阅读 · 0 评论 -
实战day07(一)----Solar环境搭建
一、Solr的环境Solr是java开发。需要安装jdk。安装环境Linux。需要安装Tomcat。二、搭建步骤第一步:把solr 的压缩包上传到Linux系统第二步:解压solr。tar -xvf solr-4.10.3.tgz.tgz -C /usr/local/第三步:安装Tomcat,解压缩即可。solr本身是一个web工程,是一个war包。在此之前,在/usr/local/下先创建一个s...原创 2018-03-04 11:25:30 · 700 阅读 · 0 评论 -
实战day08(五)----使用Solrj管理SolrCloud
创建测试类:原创 2018-03-17 19:18:29 · 142 阅读 · 0 评论 -
实战day07(四)----导入商品数据
一、dao我们写一个sql,要包含:商品Id、商品标题、商品卖点、商品价格、商品图片、分类id。select a.id, a.title, a.sell_point, a.price, a.image, b.name category_name from tb_item a left join tb_item_cat b on a.cid=b.id where a.`status`=1创建一个po...原创 2018-03-04 16:41:07 · 257 阅读 · 0 评论 -
实战day07(三)----搜索工程搭建
要实现搜索功能,需要搭建solr服务、搜索服务工程、搜索系统一、搜索服务工程搭建可以参考e3-manager创建。new-maven project右键e3-search-maven module右键e3-search-maven modulee3-search pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x...原创 2018-03-04 15:44:49 · 226 阅读 · 0 评论 -
实战day06(五)----向业务逻辑中添加缓存
一、功能分析查询内容列表时添加缓存。1、查询数据库之前先查询缓存。2、查询到结果,直接响应结果。3、查询不到,缓存中没有需要查询数据库。4、把查询结果添加到缓存中。5、返回结果。向redis中添加缓存:Key:cidValue:内容列表。需要把java对象转换成json。使用hash对key进行归类。注意:添加缓存不能影响正常业务逻辑。二、代码实现三、测试该install的install。zook...原创 2018-03-03 21:45:24 · 233 阅读 · 0 评论 -
实战day09(三)----商品详情页面工程搭建
创建一个商品详情页面展示的工程。是一个表现层工程。一、工程搭建e3-item-web。打包方式war。可以参考e3-portal-webnew-> maven project ->Pom文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...原创 2018-03-18 22:36:54 · 202 阅读 · 0 评论 -
实战day09(四)----商品详情页面
一、功能分析在搜索结果页面点击商品图片或者商品标题,展示商品详情页面。请求的url:/item/{itemId}参数:商品id返回值:String 逻辑视图业务逻辑:1、从url中取参数,商品id2、根据商品id查询商品信息(tb_item)得到一个TbItem对象,缺少images属性,可以创建一个pojo继承TbItem,添加一个getImages方法。在e3-item-web工程中。创建po...原创 2018-03-18 22:37:49 · 477 阅读 · 0 评论 -
实战day09(五)----商品信息添加缓存
一、分析每次展示商品详情都要查询数据。如果网站访问量很大,查询商品,所有的压力都压到数据库上。就需要用缓存来减轻数据库的压力。缓存可以加在表现层和服务层。如果加在某个表现层,就只有这个表现层能用。所以,不如加到服务层去。把e3-content-service的applicationContext-redis.xml复制过来。缓存里面应该存放热点数据。不热的数据就不要放进来。所以,设置缓存的有效期。...原创 2018-03-18 23:38:33 · 1366 阅读 · 0 评论 -
实战day11(二)----用户注册
业务层:web层:注册:原创 2018-03-21 23:42:06 · 159 阅读 · 0 评论 -
实战day11(一)----注册用户数据校验
一、检查数据是否可用1.1 功能分析请求的url:/user/check/{param}/{type}参数:从url中取参数1、String param(要校验的数据)2、Integer type(校验的数据类型)响应的数据:json数据。e3Result,封装的数据校验的结果true:成功false:失败。业务逻辑:1、从tb_user表中查询数据2、查询条件根据参数动态生成。3、判断查询结果,...原创 2018-03-21 21:44:51 · 482 阅读 · 0 评论 -
实战day12(四)----登录时使用购物车
一、用户登录拦截器二、服务端添加购物车测试原创 2018-03-25 20:04:33 · 258 阅读 · 0 评论 -
实战day10(五)----集群环境中处理Session共享
一、Sso系统分析1.1. 什么是sso系统SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。1.2. 为什么要有单点登录系统集群环境下会出现要求用户多次登录的情况。解决方案:1、配置tomcat集群。...原创 2018-03-21 00:12:06 · 233 阅读 · 0 评论 -
实战day10(四)----网页静态化实现
引入activemq的jar包配置静态页面输出路径创建监听器类添加mq的spring配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframe...原创 2018-03-20 22:47:14 · 181 阅读 · 0 评论 -
实战day12(三)----展示购物车列表
一、展示购物车商品列表请求的url:/cart/cart参数:无返回值:逻辑视图业务逻辑:1、从cookie中取商品列表。2、把商品列表传递给页面。测试二、更新购物车商品数量功能分析1、在页面中可以修改商品数量2、重新计算小计和总计。3、修改需要写入cookie。4、每次修改都需要向服务端发送一个ajax请求,在服务端修改cookie中的商品数量。请求的url:/cart/update/num/{...原创 2018-03-23 23:39:01 · 642 阅读 · 0 评论 -
实战day12(二)----添加购物车-代码实现
一、功能分析在不登陆的情况下也可以添加购物车。把购物车信息写入cookie。优点:1、不占用服务端存储空间2、用户体验好。3、代码实现简单。缺点:1、cookie中保存的容量有限。最大4k2、把购物车信息保存在cookie中,更换设备购物车信息不能同步。请求的url:/cart/add/{itemId}参数:1)商品id: Long itemId2)商品数量: int num业务逻辑:1、从coo...原创 2018-03-23 21:32:50 · 2440 阅读 · 0 评论 -
实战day12(一)----购物车工程搭建
一、功能分析1、购物车是一个独立的表现层工程。2、添加购物车不要求登录。可以指定购买商品的数量。3、展示购物车列表页面4、修改购物车商品数量5、删除购物车商品二、工程搭建new->maven projecte3-cart右键->new maven modulee3-cart右键->new maven modulee3-cart pom.xml<project xmlns=...原创 2018-03-23 19:05:36 · 193 阅读 · 0 评论 -
实战项目运行启动软件说明
1. 192.168.25.128 启动zookeeper(dubbo服务的注册中心)cd /usr/local/zookeeper/bin ./zkServer.sh start测试:./zkServer.sh status2.redis的启动,如果是集群版就启动留个redis 192.168.25.129 cd /usr/local/redis-cluster 启动6个redis...原创 2018-03-13 23:19:52 · 333 阅读 · 0 评论 -
实战day10(三)----网页静态化
一、网页的静态化方案输出文件的名称:商品id+“.html”输出文件的路径:工程外部的任意目录。网页访问:使用nginx访问网页。在此方案下tomcat只有一个作用就是生成静态页面。工程部署:可以把e3-item-web部署到多个服务器上。生成静态页面的时机:商品添加后,生成静态页面。可以使用Activemq,订阅topic(商品添加)二、把jsp改造为freemarker模板把jsp的标签都改成...原创 2018-03-20 00:51:56 · 196 阅读 · 0 评论 -
实战day10(二)----freemaker整合springmvc
一、引入jar包二、创建整合spring的配置文件三、创建controller四、启动web,然后访问五、查看原创 2018-03-20 00:05:33 · 183 阅读 · 0 评论 -
实战day10(一)----freemaker语法
一、访问pojo的属性创建student添加student创建模板student.ftl测试类完整形式:测试结果:二、list三、取循环中的下标四、if五、date类型处理六、null值的处理设置一个空值取消空值七、include...原创 2018-03-19 23:21:48 · 184 阅读 · 0 评论 -
实战day11(五)----跨域问题
前端ajax请求用jsonp后端做修改测试:后台第二种修改方法:源码下载原创 2018-03-23 00:54:26 · 202 阅读 · 0 评论 -
实战day11(四)----根据token取用户信息
一、功能分析请求的url:/user/token/{token}参数:Stringtoken需要从url中取。返回值:json数据。使用e3Result包装Tbuser对象。业务逻辑:1、从url中取参数。2、根据token查询redis。3、如果查询不到数据。返回用户已经过期。4、如果查询到数据,说明用户已经登录。5、需要重置key的过期时间。6、把json数据转换成TbUser对象,然后使用e...原创 2018-03-22 23:17:09 · 10299 阅读 · 1 评论 -
实战day07(七)----商品搜索
返回的结果:1)商品列表2)总页数3)总记录数使用jsp展示,返回逻辑视图。商品列表使用:SearchItem表示。需要把查询结果封装到一个pojo中:1)商品列表List<SearchItem>2)总页数。Int totalPages。总记录数/每页显示的记录数向上取整。把每页显示的记录是配置到属性文件中。3)总记录数。Int recourdCount一、dao层创建dao/** ...原创 2018-03-05 23:36:31 · 318 阅读 · 0 评论 -
实战day09(七)----删除数据库中的重复记录
添加一些数据使用如下语句删除重复记录:DELETEFROM testWHERE id NOT IN ( SELECT id FROM ( SELECT min(id) id FROM test GROUP BY aa ) t )源码下载...原创 2018-03-19 01:11:58 · 166 阅读 · 0 评论 -
实战day09(六)----freemarker的使用方法
1.添加jar包2.安装eclipse的freemarker插件重启eclipse3.编写模板内容4.创建一个输出目录5.测试类public class FreeMarkerTest { @Test public void testFreeMarker() throws Exception{ //1、创建一个模板文件 //2、创建一个Configuration对象 Conf...原创 2018-03-19 01:00:27 · 294 阅读 · 0 评论 -
实战day06(四)----使用JedisClient连接单机版和集群版
一、接口封装我们开发的时候可能使用单机版redis,项目上线的时候可能使用集群版redis。那么,我们从开发到上线的过程中需要改代码吗?这样引出面向接口编程的好处。我们在使用的地方,调用的是接口的方法,这样,不同实现类切换的时候,方法调用的地方不需要改变。1.1 接口定义public interface JedisClient { String set(String key, String va...原创 2018-03-03 19:55:47 · 285 阅读 · 0 评论 -
实战day06(三)----jedis的使用方法
需要把jedis依赖的jar包添加到工程中。Maven工程中需要把jedis的坐标添加到依赖。推荐添加到服务层。E3-content-Service工程中。 一、连接单机版第一步:创建一个Jedis对象。需要指定服务端的ip及端口。第二步:使用Jedis对象操作数据库,每个redis命令对应一个方法。第三步:打印结果。第四步:关闭Jedis这种方式,每次都创建一个连接,很消耗资源。为了提高性能可以...原创 2018-03-03 19:45:23 · 215 阅读 · 0 评论