分类目录归档:站点运营

my sql数据库链接每次操作完都需要关闭吗

mysql 的jdbc链接如果不进行关闭,那么每次产生新链接,就会新增加一个并发,显然这是很可怕的。即便是同一个ip的多次访问,都会造成并发数量的上升。也就是说,每次操作完页面,是一定要关闭链接。是不是会产生这样的疑问。每次都关闭又链接,不是开了关,关了开,这不是更加资源浪费。其实这是错误的,反而保持越久的链接,会更加浪费资源。因为计算机的处理能力是惊人的,人类的几天,也就是计算机的毫秒而已。换算过来,仅仅是几天打开一次,几天关闭一次。可以这么理解。

//如下,我们注销掉关闭conn的方法:

// 非连接池模式关闭数据库链接
    	DataConn.close(stat, conn);

那么,我们进行多次刷新,并链接数据库,控制台显示代码为:

我们并没有进行关闭链接的操作,即便是同一个ip的访问,也会造成并发。每次刷新都会产生新的链接,并发链接数量不断增加。多次同一个ip刷新操作后,数据库并发量达到20之多。

如果我们接下来,每次操作完,进行数据库链接关闭操作。并发数量始终都是1,无论多少次刷新操作。并发量都能保证在1.关闭数据库情况的打印控制台情况。


MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@35434747--第10 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@36a66ccc--第11 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@39e5ded1--第12 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@2f782dfe--第13 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@57e0c68a--第14 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@7d5852a7--第15 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@710933f7--第16 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@54e0662c--第17 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@278d791d--第18 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@596bb9de--第19 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@26ed0728--第20 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null
MYsql JDBC对象:com.mysql.jdbc.JDBC4Connection@38890bb0--第21 次请求
MYsql JDBC:关闭statement对象:null
MYsql JDBC:关闭了conn对象:null

关闭后,共发起21次请求,但mysql数据库的并发了数量依然只是1.

java mysql如何配置数据库连接池

运行时环境
1.jdk版本 1.8
2.操作系统 windows10
3.tomcat 版本 9.0
4.my sql版本 5 驱动版本:mysql-connector-java-5.1.46-bin.jar
5.durid连接池版本 druid-1.0.29.jar

第一步,在src根目录创建配置文件poolbydruid.properties

#Update MySQL_DruidPool_link
#Fri Dec 28 03:39:24 CST 2020
url=jdbc:mysql://localhost:3306/jicha?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
username=root
password=
driverClassName=com.mysql.jdbc.Driver
initialSize=5
maxActive=10
maxWait=2000

第二步:在同包目录下创建连接池类DruidPoolConn.java

package com.data;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class DruidPoolConn {
	
	static Connection conn;
	static DataSource dataSource = null;
	static int i=0;
	
	//放在全局代码块,避免创建多个链接池
	     static {
	        //1.输入流加载src目录下的配置配置文件
	        InputStream in = DruidPoolConn.class.getResourceAsStream("/poolbydruid.properties");
	        //2.Properties对象方法加载配置文件
	        Properties prop = new Properties();
	        //加载了配置文件中所有的属性
	        try {
	            prop.load(in);
	            System.out.println("装载连接池配置文件poolbydruid.properties成功...");
	        } catch (IOException e) {
	            e.printStackTrace();
	        }
	            try {
					dataSource = DruidDataSourceFactory.createDataSource(prop);
				} catch (Exception e) {
					// TODO 自动生成的 catch 块
					e.printStackTrace();
				}
	     }
	     
	        //4.从连接池中获取连接对象
	        public static Connection getDruidCon() {
	        try {
	            conn=dataSource.getConnection();
	            i++;
	            System.out.println("同一IP的第:"+i+" 次请求");
	            System.out.println("连接池模式:Druid_Conn对象名:"+conn+"---!!!");
	        } catch (SQLException e) {
	            e.printStackTrace();
	        }
			return conn;
	 }
	        
	    	//关闭数据库链接对象
	    	public static void close(java.sql.PreparedStatement stat,java.sql.Connection conn){
	    		   if(stat !=null){
	    	       try {
	    				stat.close();
	    				stat=null;  //设置可让GC回收
	    				System.out.println("Druid连接池模式:关闭tatement对象:"+stat+"");
	    			} catch (SQLException e) {
	    				// TODO Auto-generated catch block
	    				e.printStackTrace();
	    			}
	    		   }   
	    		   if(conn !=null){
	    			   try {
	    				conn.close();
	    				conn=null; //设置可让GC回收
	    				System.out.println("Druid连接池模式:关闭conn对象:"+conn+"");
	    			} catch (SQLException e) {
	    				// TODO Auto-generated catch block
	    				e.printStackTrace();
	    			}
	    		   }
	    	}
}	

第三步,同包目录下创建OperationTable.java类进行所有表的操作

package com.data;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//Operation类方法定义了所有表的sql操作,为高重用类
public class OperationTable {

    private  String operationsql=null;
    private  String selectsql=null ;
    Connection conn =null;
	PreparedStatement  stat = null;
	
	//从alibaba Druid 德鲁伊连接池获取链接
	public void getConn() {
		 conn=DruidPoolConn.getDruidCon();
	}
	
	//operateTabble方法根据传入的sql进行所有数据表的增、删、改
    public  void operateTable(String operatestr) throws SQLException, ClassNotFoundException {
     //打印出sql语句,用于监测程序运行过程中出现的空值及错误的sql代码。
     //System.out.println("OperationTable类的operateTable()方法处,sql代码详情:"+operatestr);
     operationsql=operatestr;
     stat = (PreparedStatement) conn.prepareStatement(operationsql);
     stat.executeUpdate(operationsql);
}  
     
    //selectTable方法获取所有数据库表的RS结合数据
    public  ResultSet selectTable(String selectstr) throws SQLException, ClassNotFoundException {	 
        // System.out.println("这里是OperationTable类的selectTable方法处...sql代码详情"+selectstr);
         selectsql=selectstr;
         stat = (PreparedStatement) conn.prepareStatement(selectsql);
         ResultSet rs = stat.executeQuery(selectsql);
        return rs;
	}
    
    //从链接池关闭链接
    public  void operateclose() throws SQLException, ClassNotFoundException
    {
    	DruidPoolConn.close(stat, conn );  //调用关闭数据库链接
    }  
}

第四步:配置durid链接监控页面,方便查看监控情况,在web info目录下的xml文件添加以下代码

<servlet>
      <servlet-name>DruidStatView</servlet-name>
      <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>DruidStatView</servlet-name>
      <url-pattern>/druid/*</url-pattern>
  </servlet-mapping>

第五步:运行项目,查看监控效果

运行tomcat得到的运行结果

第六步,访问durid提供的监控页面,访问路径为http://localhost:8084/javaSpringboot/druid/index.html

druid 数据库连接池监控页面

md5加密算法是否安全,可以被破解吗?

md5可以被破解吗?显然不能,md5采用单向散列算法单向加密。原理上是不可能被破解的,如果用高性能计算机,利用假设法设置密码进行md5碰撞,那也需要很久的时间。理论是需要几万年,从这个角度讲,是比较安全的。

那么,网上那么多md5破解的网站,到底真的能破解吗?对于简单的密码,一定能。因为可以提前对简单的弱密码进行md5加密,然后保存到数据库,形成md5对应的字典密码。然后利用反查法,只要字典中存在弱密码的md5加密串,那么就可以反向查找出对应密码。原理so easy!

比如123456的md5密文为e10adc3949ba59abbe56e057f20f883e,大数据平台可以保存大量字典。进行反向查找,那么显然md5并没有那么靠谱。再者,md5不安全的因素还在于很多曾今数据量庞大的网站都被破解过,这些被破解的网站用户信息都极大可能进入黑客数据库字典。然而,很多用户其实一辈子都循环用着自己为数不多的那几个常用密码,太多显然也记不住。比如生日前缀加good 姓氏后面加特殊纪念日等。这就给字典类破解提供了可能性。

很多小伙伴甚至使用过的密码换平台使用。这是相当不安全的,对于进入字典库的密码来说,早就已经被记录了。所以随着md5的时间推移,被破解的可能性会越来越大。也就是所谓的md5大数据平台,但由于很多人、很多平台都用相同的密码。所以你的密码一旦被黑客md5大数据平台收录,那么md5就很容易被破解。因为很容易理解,md5的破解就是反查法。由于md5的缺点就是相同密码加密的结果是一样的。也就是同一个密码加密后具备唯一性的特征。

因此随着md5使用的时间越长,反查字典就会越完善,被破解的风险就会越高。
程序开发人员如何避免反查法,被破解的可能性。可以在原有密码基础上加入不同字符串等,加盐加料不加价,这样一定程度上可以防止md5大数据字典法破解用户信息。不同系统采用不同字符串,这样就无形中避开了md5数据库字典。安全上的到一定程度提高。

java如何用一句代码实现用户名密码的md5加密

数据库后台用户密码明文显示,显然安全隐患太大。那么我们如何进行密码的加密呢?采用外部jar包的形式是比较简单的一种方式。spring核心jar包中有一个md5DigestAsHex(Password.toString().getBytes())方法,只需要一句代码就能实现加密。so easy!
利用spring-core-5.2.6.jar的DigestUtils.md5DigestAsHex()方法就能对用户密码进行加密。

但这种加密方式是单向加密,也就是相同的用户密码,加密的结果是一样的。但不可逆向。逆向算法解密也只能采用穷举法,也就是碰撞到相同密码,才能对应到相同的密文。显然这种加密方式还是很靠谱滴。
开始操作。

第一步:我们下载spring 提供的安全加密jar包,名称为spring-core-5.2.6.RELEASE.jar,在spring springframework 的核心jar包中。将jar包拷贝到工程lib目录下;当然如果创建的是spring maven项目,项目自身就包含了相关jar包,不需要导入就可以直接用啦。如果是普通java MVC项目,那么我们就需要找到这个jar包,然后手动导入项目。
classs 类开始!
import org.springframework.util.DigestUtils;

//在局部需要加密的方法处加密
DigestUtils.md5DigestAsHex(Password.toString().getBytes());

eclipse调试时自动将lib目录、class目录同时发布到tomcat目录

eclipse 项目debug时,class文件不跟随发布,lib目录不跟随发布都会导致项目启动失败,报错一丢丢。
这个时候就需要右键查看工程目录与运行时环境目录是否debug对应起来啦。

发布目录时,是否同时debug到了tomcat运行目录。首先右键项目,属相选项。选择Deployment Assembly 选项设置。其中可以添加source路径,对应的deploy Path目录可以修改。deploy Path目录为tomcat运行时环境,也是服务器线上环境。debug线上环境的过程中需要检查各种jar包是否成功部署到tomcat服务器。

eclipse非maven构建的spring程序容易导致各种jar包发布不到位,因此报错原因多为运行环境jar包丢失导致的。我们可以从工程目录手动拷贝jar包到tomcat运行环境目录,当然最简单便捷方式的是通过设置来一次性达到目的。对于需要频繁debug的项目尤其如此。下图所示,修改对应的debug目录后,程序每次调试都能成功自动debug到tomcat。so easy!!

java mysql数据库如何配置alibaba druid(德鲁伊)数据库连接池

流量不大的网站其实没有必要配置数据库连接池。小网站尽量避免尾大不掉。代码越多,留给远方的坑就会越多。维护成本不减反增。之所以配置,主要网上小伙伴纷纷表示可以防止sql注入。把连接池提高到sql安全的角度。那就配吧!首先我们去gt下载jar包,然后调整配置一下。非常easy!!!

首先第一步:tomcat lib目录下导入jar包druid-1.0.29.jar。
第二步在配置文件properties文件中创建数据库链接配置项

MysqlPassword=
MysqlAdmin=root
MysqlUrl=jdbc\:mysql\://localhost\:3306/test?characterEncoding\=utf8&useSSL=false
MysqlDriver=com.mysql.jdbc.Driver //如果mysql是5的版本,则采用此。若mysql为6版本,则为com.mysql.cj.jdbc.Driver
initialSize=1
maxActive=8

第三步://在链接类中import DruidDriver类

import com.alibaba.druid.proxy.DruidDriver;	   
Properties  prop = new Properties();
//创建输入流对象,读取数据库配置文件 
InputStream in =DruidDriver.class.getResourceAsStream("/mysqlJdbc.properties");  
try {
prop.load(in);
//System.out.println("装载mysql配置文件mysqlJdbc.properties!");
//System.out.println("alibaba.druid连接池模式");
url  = prop.getProperty("MysqlUrl");
user = prop.getProperty("MysqlAdmin");
password = prop.getProperty("MysqlPassword");
mdname= prop.getProperty("MysqlDriver");
}

第四步:在xml中配置监控查看项

  <servlet>
      <servlet-name>DruidStatView</servlet-name>
      <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>DruidStatView</servlet-name>
      <url-pattern>/druid/*</url-pattern>
  </servlet-mapping>

至此,配置完成。可以在监控页面查看各项监控数据。

rabbitmq启动失败或重启后立即停止的问题如何解决

rabbitmq启动失败问题!在服务选项查看,rabbitmq服务进程处于停止状态。重新启动。三秒不到,立即停止!这又是什么坑!百度一下,可能是版本不兼容问题。重新安装Erlang,restart。进入服务进程重新查看。Redis-x64,rabbitmq同时启动成功。至此,问题解决。

rabbitmq与Erlang的版本对应关系。同时rabbitmq安装目录需要与Erlang安装目录不同。不能嵌套安装。

从新下载对应的rabbitmq和Erlang对应版本后,重新安装。启动成功。rabbitmq和Erlang对应版本的对应版本如下图。

企业如何建立实用性较强的营销型网站

实用性较好的网站首先应该是利于推广的,比如良好的展现;包括合理的标题、精准的关键词、高度概括的描述。文案内容应该是围绕关键词及描述展开的。这样不但利于用户理解,同时也能够获得更高的搜索关键词质量得分。

企业营销型网站需要时刻关注用户诉求,并根据用户诉求提供精准解答及服务。当然,丰富的关键词对应着多元化的专业服务。企业应该不断总结关键词列表,不断充实网站文案内容,以便更加精准的为大众提供企业服务。这样,搜索会给予更多自然排名推荐流量。

整洁大方的排版布局和容易理解的文字表达,是一个优秀网页的基本前提。无论是图片及文字,首要目的是精准速达用户诉求。无相关的内容既浪费带宽,同时也会浪费访客时间。造成企业与用户之间的时间成本消耗。

淘宝、天猫店铺banner图片优化技巧

今天给大家分享关键词和图片优化,先讲图片。主要给大家看些好的案例,给大家一点灵感,具体怎么操作真的是不能手把手教大家,更多的是需要同学们自己摸索体会哦~

一、图片这块包含这四个内容:

图片:主图+详情图+细节图+促销图  A:主图–最美的展示商品,一定要突出商品本身(就是图片要有主题)

想容: 大家看这两张图,你们觉得哪张好些呢?

想容: 那我说说我的观点哈

第一个图片的背景几乎是和人物主体一样清晰的。第二个图片我们可以看到背景模糊人物清晰。

不管卖的商品是什么,不管你的主图是平铺还是实穿,白色背景还是外景等等:图片一定要突出你的商品本身,这是主图最基本的要求。

那主图要求的第二点:“用**”——吸引买家,刺激购买欲。就是图片的颜色不能灰暗,要有亮点。这个在前面店铺分享的时候已经讲过很多次了,给大家看图:)

想容 : 这样的主图大家看看,有什么感受呢?

3的话,卖的是置物架,可能是没有把标题截取出来,造成误解了 那不管大家的个人看法咋样,总体这几张图片还是挺漂亮的对吧,作为买家还是会被吸引的对不!

发掘自己商品的美,要是你作为老板都不知道自己的商品美在哪里,那你如何引导买家买呢?

B:详情图–全方位的展示商品,要不同角度的展示商品的详细情况:包括颜色、远照、近照、单品图、搭配图等等,越详细越全方位越好。详情图相比较主图要增加真实感!

想容 : 安都的这款衣服,截图只是部分,但从各个角度进行商品展示,有平铺图、模特图、搭配围巾、侧面、正面、背面、系上拉链、打开拉链…等等,这就叫做“全方位展示商品详情”

想容 : 建议在展示商品时能够图文结合,这样的效果比较好。多图少字,文字只要说重点,展示给买家商品卖点即可

想容 : 给出的这个例子,不单是给服装类目的同学看的哦。 其他类目的同学也是同样需要多方位展示商品详情的

巴豹旗舰店:督导 : 详情描述,应该是商品突出的图片展示结合特色特点及给买家带来利益的优势简述。

C:细节图–最好是微距拍照,目的是清晰的展示商品的特点,把商品的品质传递给买家。

在细节图这里需要注意的是:尽可能的拍好的一面,不好的一面就索性不要展示。像前面几期店铺点评时,给大家列出来的例子:这样的细节图都是不可取的–没有将商品优质一面展示,反倒是降低商品品质

想容 : 不管抠图还是PS:)我们只要能够展示商品优质品质就好对吧 但是关键是不能图太假,太假就得不偿失了。 想容 : 这样的细节图大家可以参考学习下:

想容 : 个人很赞那种图文结合的细节图

D:促销图–突出活动主题,简洁明了的问题+漂亮的图片。 促销图就是店铺里面的关于促销活动的banner 上周的定评里给大家对比了我们的安得路和清风扬的活动促销图大家都还有印象吗?

想容 : 这个是A家和B家的活动促销图

第一张促销图,缺点就在商品不突出,就是鞋子的部位,光线很暗淡,缺乏“色”

想容 : 那最比后是不是觉得:同样促销鞋子,感官度完全不一样对吧 ,给大家再看几个案例

想容 : 这组促销图:活动内容+价格+产品一目了然是不是

想容 : 这是几家店铺的店铺首页促销图,那我们各位同学在做自己的促销图也一定要注意以上几点:活动内容+价格+产品一目了然 ,另外说一个小技巧:)让店铺首页看上去更加整洁有序,又不失卖点:)

想容 : 大家连起来看,这是这家店铺的首页排序

这个下面全是印花系列

看了有没有商品一目了然的感觉

想容 : 分类和活动促销按照商品系列进行设置 很能吸引买家持续往下看 这个就是个小技巧:)我也是今天在整理分享资料的时候刚刚发现的呢

最后给大家奉上:若湖小二总结的图片拍摄技巧,供大家学习参考。内容还是很强大哦 ! 图片拍摄技巧上:< http://bbs.taobao.com/catalog/thread/513518-12424135.htm> 图片拍摄技巧下:< http://bbs.taobao.com/catalog/thread/513518-12425070.htm>

想容:

大家对于图片都认识清楚了吧,就是每个类型的图片要表达什么给买家 巴豹旗舰店:督导:

为没有了面对面的沟通交流与介绍,那我们的宝贝详情实际上就是我们的导购,要通过详情的描述,把我们的商品推荐给买家。而描述的内容必须要结合买家的进行,否则就是所问非所答的尴尬情况。

图片介绍就到这里了哈

二、优化关键词 下面讲讲关键词,就是我们常说的商品标题里,直接与买家搜索有关系的词 关键词(标题)最大的作用就是帮主买家找到自己想要的商品,那我们卖家为什么要这么重视关键词呢? 巴豹旗舰店:督导 : 关键词设置不当,会出现搜索显示没有记录的后果,没有展示机会,那销售机会就为零了。 皑如尚如专卖店 : 据说 淘宝流量的 30% 来自关键词搜索。。。 想容 : 数据准确不我不知道,但是流量有很大一部分是搜索来的 想容 : 简单的说:标题的里关键词就是为让买家找到我们+清楚卖的是什么

想容 : 要给大家分享的就是如何更好的设置商品标题 那先给大家分析下淘宝自带搜索功能:所谓优化关键词,其实是个概念,细化之,就是深度用户体验  把自己当成购买自己宝贝的用户,进行拉网式的搜索,在对比同类产品的同时,也可以确定自己的宝贝是否火爆,取名是否正确,关键词选择是否合理

A:学会使用淘宝搜索,比如在淘宝首页搜索:套头卫衣。首先列出来的,是和套头卫衣这个属性最相似的  把所有的关键词都搜索一下。看看淘宝首页搜索框给你推荐什么。可以大致知道用户的搜索习惯,卖家习惯等

想容: 出来的这些关键词,是淘宝系统根据买家搜索习惯,然后匹配你输入的关键词给出的关键词排行 想容: 那么这些关键词是可以给大家作为设置标题和直通车关键词参考用的

B:看看别家的同类产品是如何取名的,可作为参考给你产品做一个精确的标题,这是销售的基础,与搜索排名有一定关系。千万千万别乱取名字,那样还不如不上架。 想容: 像前面点评店铺的时候,发现有这样的标题在这个标题里:

买家搜索GMP生产厂家、QS认证企业 这样的关键词是几乎没有的

想容:

那么这样的标题整体来说就属于比较差的标题 特别注意,关键字和商品名称不一样。商品名称只是某部分群体对于商品的一个认识 而关键字要要做到足够全面的把所有群体对于商品认识度的一个综合。

像这样一个商品:有人叫马甲、有人叫马夹、有人叫棉背心、还有人叫无袖外套…等等,那么在设置商品标题的时候要怎么设置呢?大家说说

想容 : 上次给大家提过个建议:标题尽量有断开(空格和允许的符号都可以) 不要存在侥幸心理 ,要在符合规则的前提下设置标题,详细看淘宝商城规则: 有详细说明 想容 : 文字间的断开有利于被搜索显示在前面 。也有利于被买家搜索到 想容 ;

那么标题中都要包含什么呢? 想容 :

商品常用名+关键属性(材质、颜色、款式等)+品牌(有名气的商品可加入款号) 这个排名不分先后的哈 想容:

需要注意的是:标题不是设置好了就终身制了,需要根据当下的实际情况对商品名称进行调整:比如现在店铺的促销活动,店铺动态等等都可以加入主推商品的标题,要把商品以及店铺的卖点展示出去以吸引买家注意力 想容: 品牌放在前面后面都可以,根据商品的习惯设置最好 现在我针对这个标题说说哈

想容 : 首先你这个艳丽玫红是什么概念,衣服的色差本来就是个问题,我不建议写上艳丽,因为每个人对色彩的鲜亮程度认识不一样,有可能你觉得艳丽了,但是我觉得还是有些暗淡呢 想容 : 对吧,容易给买家以误导,也会让人觉得:怎么个艳丽法呢?图片拍的不好,还会增加买家的购物顾虑 腰间特别工艺我建议你放在商品详情里重点展示,一是图片还是多少能够体现腰部的一个特殊性;二是简短的文字并不能说出卖点,特别工艺不算卖点:) 想容: 中袖毛呢大衣   这样的组合:买家搜索“呢大衣”或者毛呢大衣都是可以出现的。但你设置的“呢子大衣”可能出现机会就会少些,只有在搜索“呢(空格)大衣”时才能出现,这个子搜索的较少吧 个人观点,建议在首页搜索试试看