2012年5月31日星期四

流量并非越多越好 边缘化流量有害无益

流量并非越多越好 边缘化流量有害无益

  网站流量一直是站长追求的对象,因为一个网站想要赚钱就一定离不开流量的支撑,不管是什么网站,在一定条件下,流量越多是越有好处的,让网站增加流量的方法除了利用seo外,还可以利用其它的一些方式推广,但随着搜索引擎算法不断的改变,网站的每一项数据都有可能直接影响到关键词的排名。

  网站是否受到用户欢迎,可以从网站的用户停留时间和跳出率中分析,跳出率很高,那么可以断定这个网站是做的很差的,没有什么内容质量值得用户去看的;但并非都是如此,让一个用户走入一个不感兴趣的网站,跳出率必然是非常高的,因为他们对网站的内容毫不感兴趣,这就是所谓的边缘化流量。边缘化流量指的是进入网站的用户不是根据自己的意念进入的,而是通过其他的一些方式引导进去的,根据专业上海网站建设协策网络的经验主要分为以下几种类型,也是大家经常做的:

  第一、利用宣传方式获取点击

  通过上海网页设计协策网络的分析和观察很多朋友认为网站点击越多对网站就越有好处,于是在QQ群,YY群等一些聊天平台叫别人帮忙点击,其实这些点击可能就是一次性的,打开网站后就忙其他的事去了,根本不会进一步浏览就关闭网页,这些都会极大的影响用户的跳出率,跳出率高的网站想要获取好的排名并不简单,至少在站内优化这一块是落后别人的,上海协策网络科技有限公司小张认为一个网站如果跳出率超过了60%以上就得好好分析下,站内的布局,结构,内容的质量等,是否还可以进一步完善的地方。

  第二、骗点击的方式增加流量

  在论坛博客这些网站上,利用一些诱惑形式的链接骗取别人点击自己的网站链接,在很多诱惑形式的文章后面,留了个想看更多,请点击http://ys.***.com/,其实打开后发现是自己的某一个需要优化的网站,这时候浏览网站的用户肯定会特别失望,将网站关闭后离开。

  通过这种形式在一些热门的网站上或许可以获取很大的流量,但这些流量质量是非常差的,对于网站来说只是有害而无益;这种形式的推广是一种不错的方法,只是我们用的不恰当,应该针对相关性的文章去引导有需求的用户,这样用户进入网站才不会有一种上当受骗的感觉。

  第三、网站用户体验差

  用户体验其实可以从网站的很多方式去表现,如文章的质量问题,很多seo人员利用论坛做关键词排名,长尾关键词的数量是庞大的,为了减少更新文章的难度,利用伪原创工具或复制其他一些文章,穿插关键词,文章或许能收录,长尾或许有排名,进来的用户看到文章质量就知道这网站不是一个正规的、值得信任的网站,跳出几率也很大。

  边缘化流量就是指那些没有质量的流量,网站不能满足用户需求,这种类型的流量越多,对于一个网站来说风险就是越大,因为这些用户直接影响到网站的质量和价值,进入网站立马跳出,必然会加大用户的跳出率,减少用户对于网站的停留时间,因此这些形式的推广都是一个费力不讨好做法,不仅对网站没有帮助,反而会降低网站的信任度和质量。

  本文由上海网站制作协策网络(http://www.580plan.com/info/wangzhanyouhua/5553.html)发表,转载请以链接形式注明出处,谢谢!


TAG:流量 非越 多越 边缘 化流 害无 网站 流量 一直 站长 站长 网站 网站推广 赚钱

优秀SEO从业者的几点好习惯

优秀SEO从业者的几点好习惯

  如果大家接触过SEO,就知道SEO的都是一些日常性,规律性的工作。所以想成为一名优秀的SEO从业者,就需要培养若干的好习惯。在SEO领域,好的习惯可以培养一个人严谨的思维,还有开阔的眼界。

  那怎么样才算是好习惯呢?让我给大家分享下面几点。

  好习惯一:网站优化过程与客户沟通。

  作为一名SEO,在前期分析关键词,还有后期关键词跟踪过程中,千万不要闭门造车。要保持跟客户沟通的好习惯。很多SEO从业人员不喜欢客户参与自己的优化过程,有可能是下面三种的情况。一个是怕客户觉得自己不专业,二个是担心自己的专业知识外流,三个是担心客户的思维会把自己的思维扰乱。

  因为我们只是做SEO的,我们不是具体做某项产品,所以我们对产品的理解,还有对产品的市场觉得没有客户清楚。所以这里提倡让客户参与优化过程,是确保优化过程更加顺利还有专业。

  好习惯二:网站优化的过程要时刻把握方向。

  做什么事情,方向都很重要。所以我们在优化的过程种要养成时刻注意,把握自己的方向的好习惯,在网站的优化过程中很多人都会盲目的追求急,大,广, 急于把网站做大,急于发外链,栏目广而泛滥等等。

  我们都知道优化是一个过程,既然是一个过程就需要时间,工作的累积。我们应该相信每天淡定的发文章,发外链。总有一天能够成功的。

  好习惯三:网站优化过程中我们要善于思考。

  我们都知道,百度算法隔一段时间就会小更新或者调整。那我们就要养成善于思考的好习惯。这里不是指过分的去迷恋算法。而是我们去分析算法的原理,知道其中高压线和优化程度就可以了。搜索引擎的原理告诉我们,只要我们正规合理,有规律的优化网站,那我们就一定能取得好的效果,没必要去刻意揣摩搜索引擎的性情。

  好习惯四:网站优化过程中我们要善于创新。

  创新就是生产力,在SEO行业,创新就是取胜的关键。

  做过SEO一段时间,很多人的思维就会被固定下来,开始拘泥于日常的SEO。认为SEO就是每天发多少文章,发多少外链,不去探索新的方式。

  SEO是一个行业,而不是一个工作。我们要从多个角度考虑怎么提升网站的流量。这里比如做一些线下活动,营销活动之类的。只要能够达到提高流量,吸引用户的方法,我们都应该努力去尝试。

  好习惯五:网站优化过程中更加注重过程。

  我们都知道网站的排名很重要,那我们是不是就直接看结果就行了呢?答案是否定的。我们要养成注重过程的好习惯。

  有很多这样的例子,客户给出很高的赏金,然后让你在很短的时间内把它的关键词做到首页。这样你如果想接了这单,你就只能用特殊的方法了。这里的特殊方法大家都知道了,就是作弊的方法。

  结果我们都知道,关键词是上了首页,但是很快就跌了下来,然后网站也被K了。

  建议SEO从业人员要从基础做起,过程确实比结果更加重要。

  以上是五点关于SEO从业人员的好习惯分享,据观察,一个成功人士都会有一些非常优秀的习惯。所以我希望分享的内容能对大家的工作有点帮助。我现在就是按照这个习惯在规范自己。

  文章来源:时尚面料网 http://www.jrtex.com 转载请注明出处


TAG:SEO从业者 站长 网站 网站推广 赚钱

Webkit CSS Effect Example

Webkit CSS Effect Example


TAG:

Java中finally关键字的使用

Java中finally关键字的使用

与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。 如果没有 finally,您的代码就会很费解。例如,下面的代码说明,在不使用 finally 的情况下您必须如何编写代码来释放非内存资源:

import java.net.*;
import java.io.*;

     class WithoutFinally
{
      public void foo() throws IOException
{
//在任一个空闲的端口上创建一个套接字
ServerSocket ss = new ServerSocket(0);
try
        {
       Socket socket = ss.accept();
       //此处的其他代码...
}
catch (IOException e)
       {
       ss.close();                                              //1
       throw e;
}
//...
ss.close();                                                //2
}
}

这段代码创建了一个套接字,并调用 accept 方法。在退出该方法之前,您必须关闭此套接字,以避免资源漏洞。为了完成这一任务,我们在 //2 处调用 close,它是该方法的最后一条语句。但是,如果 try 块中发生一个异常会怎么样呢?在这种情况下,//2 处的 close 调用永远不会发生。因此,您必须捕获这个异常,并在重新发出这个异常之前在 //1 处插入对 close 的另一个调用。这样就可以确保在退出该方法之前关闭套接字。

这样编写代码既麻烦又易于出错,但在没有 finally 的情况下这是必不可少的。不幸的是,在没有 finally 机制的语言中,程序员就可能忘记以这种方式组织他们的代码,从而导致资源漏洞。Java 中的 finally 子句解决了这个问题。有了 finally,前面的代码就可以重写为以下的形式:

import java.net.*;
import java.io.*;

class WithFinally
{
public void foo2() throws IOException
{
//在任一个空闲的端口上创建一个套接字
ServerSocket ss = new ServerSocket(0);
try
        {
      Socket socket = ss.accept();
      //此处的其他代码...
}
finally
        {
       ss.close();
}
}
}

finally 块确保 close 方法总被执行,而不管 try 块内是否发出异常。因此,可以确保在退出该方法之前总会调用 close 方法。这样您就可以确信套接字被关闭并且您没有泄漏资源。在此方法中不需要再有一个 catch 块。在第一个示例中提供 catch 块只是为了关闭套接字,现在这是通过 finally 关闭的。如果您确实提供了一个 catch 块,则 finally 块中的代码在 catch 块完成以后执行。

finally 块必须与 try 或 try/catch 块配合使用。此外,不可能退出 try 块而不执行其 finally 块。如果 finally 块存在,则它总会执行。(无论从那点看,这个陈述都是正确的。有一种方法可以退出 try 块而不执行 finally 块。如果代码在 try 内部执行一条 System.exit(0); 语句,则应用程序终止而不会执行 finally 执行。另一方面,如果您在 try 块执行期间拨掉电源,finally 也不会执行。)


TAG:

JspSmartUpload上传下载

JspSmartUpload上传下载

一、安装篇

  jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点:

1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。

2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。

3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。

4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。

5、能将文件上传到数据库中,也能将数据库中的数据下载下来。这种功能针对的是MySQL数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。

  jspSmartUpload组件可以从www.jspsmart.com网站上自由下载,压缩包的名字是jspSmartUpload.zip。下载后,用WinZip或WinRAR将其解压到Tomcat的webapps目录下(本文以Tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用jspSmartUpload组件了。

  注意,按上述方法安装后,只有webapps/jspsmartupload目录下的程序可以使用jspSmartUpload组件,如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作:

1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下。

2.运行JAR打包命令:jar cvf jspSmartUpload.jar com

(也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。)

3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。

二、相关类说明篇

㈠ File类

  这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息。

  File类主要提供以下方法:

1、saveAs作用:将文件换名另存。

原型:

public void saveAs(java.lang.String destFilePathName)

public void saveAs(java.lang.String destFilePathName, int optionSaveAs)

其中,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个值,分别是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件,SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL。

例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C盘,则另存的文件名实际是c:\upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/upload/sample.zip。saveAs("/upload/sample.zip",SAVEAS_AUTO)执行时若Web应用程序根目录下存在upload目录,则其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否则同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)。

建议:对于Web程序的开发来说,最好使用SAVEAS_VIRTUAL,以便移植。

2、isMissing

作用:这个方法用于判断用户是否选择了文件,也即对应的表单项是否有值。选择了文件时,它返回false。未选文件时,它返回true。

原型:

public boolean isMissing()

3、getFieldName

作用:取HTML表单中对应于此上传文件的表单项的名字。

原型:

public String getFieldName()

4、getFileName

作用:取文件名(不含目录信息)

原型:

public String getFileName()

5、getFilePathName

作用:取文件全名(带目录)

原型:

public String getFilePathName()

6、getFileExt

作用:取文件扩展名(后缀)

原型:

public String getFileExt()

7、getSize

作用:取文件长度(以字节计)

原型:

public int getSize()

8、getBinaryData

作用:取文件数据中指定位移处的一个字节,用于检测文件等处理。

原型:

public byte getBinaryData(int index)

其中,index表示位移,其值在0到getSize()-1之间。

㈡ Files类

  这个类表示所有上传文件的集合,通过它可以得到上传文件的数目、大小等信息。有以下方法:

1、getCount

作用:取得上传文件的数目。

原型:

public int getCount()

2、getFile

作用:取得指定位移处的文件对象File(这是com.jspsmart.upload.File,不是java.io.File,注意区分)。

原型:

public File getFile(int index)

其中,index为指定位移,其值在0到getCount()-1之间。

3、getSize

作用:取得上传文件的总长度,可用于限制一次性上传的数据量大小。

原型:

public long getSize()

4、getCollection

作用:将所有上传文件对象以Collection的形式返回,以便其它应用程序引用,浏览上传文件信息。

原型:

public Collection getCollection()

5、getEnumeration

作用:将所有上传文件对象以Enumeration(枚举)的形式返回,以便其它应用程序浏览上传文件信息。

原型:

public Enumeration getEnumeration()

㈢ Request类

  这个类的功能等同于JSP内置的对象request。只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。该类提供如下方法:

1、getParameter

作用:获取指定参数之值。当参数不存在时,返回值为null。

原型:

public String getParameter(String name)

其中,name为参数的名字。

2、getParameterValues

作用:当一个参数可以有多个值时,用此方法来取其值。它返回的是一个字符串数组。当参数不存在时,返回值为null。

原型:

public String[] getParameterValues(String name)

其中,name为参数的名字。

3、getParameterNames

作用:取得Request对象中所有参数的名字,用于遍历所有参数。它返回的是一个枚举型的对象。

原型:

public Enumeration getParameterNames()

㈣ SmartUpload类这个类完成上传下载工作。

A.上传与下载共用的方法:

只有一个:initialize。

作用:执行上传下载的初始化工作,必须第一个执行。

原型:有多个,主要使用下面这个:

public final void initialize(javax.servlet.jsp.PageContext pageContext)

其中,pageContext为JSP页面内置对象(页面上下文)。

B.上传文件使用的方法:

1、upload

作用:上传文件数据。对于上传操作,第一步执行initialize方法,第二步就要执行这个方法。

原型:

public void upload()

2、save

作用:将全部上传文件保存到指定目录下,并返回保存的文件个数。

原型:

public int save(String destPathName)

public int save(String destPathName,int option)

其中,destPathName为文件保存目录,option为保存选项,它有三个值,分别是SAVE_PHYSICAL,SAVE_VIRTUAL和SAVE_AUTO。(同File类的saveAs方法的选项之值类似)SAVE_PHYSICAL指示组件将文件保存到以操作系统根目录为文件根目录的目录下,SAVE_VIRTUAL指示组件将文件保存到以Web应用程序根目录为文件根目录的目录下,而SAVE_AUTO则表示由组件自动选择。

注:save(destPathName)作用等同于save(destPathName,SAVE_AUTO)。

3、getSize

作用:取上传文件数据的总长度

原型:

public int getSize()

4、getFiles

作用:取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息。

原型:

public Files getFiles()

5、getRequest

作用:取得Request对象,以便由此对象获得上传表单参数之值。

原型:

public Request getRequest()

6、setAllowedFilesList

作用:设定允许上传带有指定扩展名的文件,当上传过程中有文件名不允许时,组件将抛出异常。

原型:

public void setAllowedFilesList(String allowedFilesList)

其中,allowedFilesList为允许上传的文件扩展名列表,各个扩展名之间以逗号分隔。如果想允许上传那些没有扩展名的文件,可以用两个逗号表示。例如:setAllowedFilesList("doc,txt,,")将允许上传带doc和txt扩展名的文件以及没有扩展名的文件。

7、setDeniedFilesList

作用:用于限制上传那些带有指定扩展名的文件。若有文件扩展名被限制,则上传时组件将抛出异常。

原型:

public void setDeniedFilesList(String deniedFilesList)

其中,deniedFilesList为禁止上传的文件扩展名列表,各个扩展名之间以逗号分隔。如果想禁止上传那些没有扩展名的文件,可以用两个逗号来表示。例如:setDeniedFilesList("exe,bat,,")将禁止上传带exe和bat扩展名的文件以及没有扩展名的文件。

8、setMaxFileSize

作用:设定每个文件允许上传的最大长度。

原型:

public void setMaxFileSize(long maxFileSize)

其中,maxFileSize为为每个文件允许上传的最大长度,当文件超出此长度时,将不被上传。

9、setTotalMaxFileSize

作用:设定允许上传的文件的总长度,用于限制一次性上传的数据量大小。

原型:

public void setTotalMaxFileSize(long totalMaxFileSize)

其中,totalMaxFileSize为允许上传的文件的总长度。

C.下载文件常用的方法

1、setContentDisposition

作用:将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。

原型:

public void setContentDisposition(String contentDisposition)

其中,contentDisposition为要添加的数据。如果contentDisposition为null,则组件将自动添加"attachment;",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用Word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。

2、downloadFile

作用:下载文件。

原型:共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。

public void downloadFile(String sourceFilePathName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名)

public void downloadFile(String sourceFilePathName,String contentType)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。

public void downloadFile(String sourceFilePathName,String contentType,String destFileName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。

三、文件上传篇

㈠ 表单要求

对于上传文件的FORM表单,有两个要求:

1、METHOD应用POST,即METHOD="POST"。

2、增加属性:

ENCTYPE="multipart/form-data"

下面是一个用于上传文件的FORM表单的例子:

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="/jspSmartUpload/upload.jsp"><INPUT TYPE="FILE" NAME="MYFILE"><INPUT TYPE="SUBMIT"></FORM>

㈡ 上传的例子

1、上传页面upload.html

本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。

页面源码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>文件上传</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><p>&nbsp;</p><p align="center">上传文件选择</p><FORM METHOD="POST" ACTION="jsp/do_upload.jsp"ENCTYPE="multipart/form-data"><input type="hidden" name="TEST" value="good">  <table width="75%" border="1" align="center">    <tr>       <td><div align="center">1、           <input type="FILE" name="FILE1" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">2、           <input type="FILE" name="FILE2" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">3、           <input type="FILE" name="FILE3" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">4、           <input type="FILE" name="FILE4" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">          <input type="submit" name="Submit" value="上传它!">        </div></td>    </tr>  </table></FORM></body></html>

2、上传处理页面do_upload.jsp

本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。

页面源码如下:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jspsmart.upload.*" errorPage="" %><html><head><title>文件上传处理页面</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><%    // 新建一个SmartUpload对象    SmartUpload su = new SmartUpload();    // 上传初始化    su.initialize(pageContext);    // 设定上传限制    // 1.限制每个上传文件的最大长度。    // su.setMaxFileSize(10000);    // 2.限制总上传数据的长度。    // su.setTotalMaxFileSize(20000);    // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。    // su.setAllowedFilesList("doc,txt");    // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,    jsp,htm,html扩展名的文件和没有扩展名的文件。    // su.setDeniedFilesList("exe,bat,jsp,htm,html,,");    // 上传文件    su.upload();    // 将上传文件全部保存到指定目录    int count = su.save("/upload");    out.PRintln(count+"个文件上传成功!<br>");        // 利用Request对象获取参数之值    out.println("TEST="+su.getRequest().getParameter("TEST")    +"<BR><BR>");    // 逐一提取上传文件信息,同时可保存文件。    for (int i=0;i<su.getFiles().getCount();i++)    {        com.jspsmart.upload.File file = su.getFiles().getFile(i);                // 若文件不存在则继续        if (file.isMissing()) continue;        // 显示当前文件信息        out.println("<TABLE BORDER=1>");        out.println("<TR><TD>表单项名(FieldName)</TD><TD>"        + file.getFieldName() + "</TD></TR>");        out.println("<TR><TD>文件长度(Size)</TD><TD>" +         file.getSize() + "</TD></TR>");        out.println("<TR><TD>文件名(FileName)</TD><TD>"         + file.getFileName() + "</TD></TR>");        out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"         + file.getFileExt() + "</TD></TR>");        out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"        + file.getFilePathName() + "</TD></TR>");        out.println("</TABLE><BR>");        // 将文件另存        // file.saveAs("/upload/" + myFile.getFileName());        // 另存到以WEB应用程序的根目录为文件根目录的目录下        // file.saveAs("/upload/" + myFile.getFileName(),         su.SAVE_VIRTUAL;        // 另存到操作系统的根目录为文件根目录的目录下        // file.saveAs("c:\\temp\\" + myFile.getFileName(),         su.SAVE_PHYSICAL;    }%></body></html>

四、文件下载篇

1、下载链接页面download.html

页面源码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>下载</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><a href="jsp/do_download.jsp">点击下载</a></body></html>

2、下载处理页面do_download.jsp do_download.jsp展示了如何利用jspSmartUpload组件来下载文件,从下面的源码中就可以看到,下载何其简单。

源码如下:

<%@ page contentType="text/html;charset=gb2312" import="com.jspsmart.upload.*" %><%        // 新建一个SmartUpload对象    SmartUpload su = new SmartUpload();        // 初始化    su.initialize(pageContext);        // 设定contentDisposition为null以禁止浏览器自动打开文件,        //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为        //doc时,浏览器将自动用word打开它。扩展名为pdf时,        //浏览器将用acrobat打开。    su.setContentDisposition(null);        // 下载文件    su.downloadFile("/upload/如何赚取我的第一桶金.doc");%>

注意,执行下载的页面,在Java脚本范围外(即<% ... %>之外),不要包含HTML代码、空格、回车或换行等字符,有的话将不能正确下载。不信的话,可以在上述源码中%><%之间加入一个换行符,再下载一下,保证出错。因为它影响了返回给浏览器的数据流,导致解析出错。

3、如何下载中文文件

jspSmartUpload虽然能下载文件,但对中文支持不足。若下载的文件名中有汉字,则浏览器在提示另存的文件名时,显示的是一堆乱码,很扫人兴。上面的例子就是这样。(这个问题也是众多下载组件所存在的问题,很少有人解决,搜索不到相关资料,可叹!)

为了给jspSmartUpload组件增加下载中文文件的支持,我对该组件进行了研究,发现对返回给浏览器的另存文件名进行UTF-8编码后,浏览器便能正确显示中文名字了。这是一个令人高兴的发现。于是我对jspSmartUpload组件的SmartUpload类做了升级处理,增加了toUtf8String这个方法,改动部分源码如下:

public void downloadFile(String s, String s1, String s2, int i)    throws ServletException, IOException, SmartUploadException    {    if(s == null)        throw new IllegalArgumentException("File '" + s +        "' not found (1040).");    if(s.equals(""))        throw new IllegalArgumentException("File '" + s +        "' not found (1040).");    if(!isVirtual(s) && m_denyPhysicalPath)        throw new SecurityException("Physical path is        denied (1035).");    if(isVirtual(s))        s = m_application.getRealPath(s);    java.io.File file = new java.io.File(s);    FileInputStream fileinputstream = new FileInputStream(file);    long l = file.length();    boolean flag = false;    int k = 0;    byte abyte0[] = new byte[i];    if(s1 == null)        m_response.setContentType("application/x-msdownload");    else    if(s1.length() == 0)        m_response.setContentType("application/x-msdownload");    else        m_response.setContentType(s1);    m_response.setContentLength((int)l);    m_contentDisposition = m_contentDisposition != null ?    m_contentDisposition : "attachment;";    if(s2 == null)        m_response.setHeader("Content-Disposition",         m_contentDisposition + " filename=" +         toUtf8String(getFileName(s)));    else    if(s2.length() == 0)        m_response.setHeader("Content-Disposition",         m_contentDisposition);    else        m_response.setHeader("Content-Disposition",         m_contentDisposition + " filename=" + toUtf8String(s2));    while((long)k < l)    {        int j = fileinputstream.read(abyte0, 0, i);        k += j;        m_response.getOutputStream().write(abyte0, 0, j);    }    fileinputstream.close();    }    /**     * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.     * 纵横软件制作中心雨亦奇2003.08.01     * @param s 原文件名     * @return 重新编码后的文件名     */    public static String toUtf8String(String s) {    StringBuffer sb = new StringBuffer();    for (int i=0;i<s.length();i++) {        char c = s.charAt(i);        if (c >= 0 && c <= 255) {        sb.append(c);        } else {        byte[] b;        try {            b = Character.toString(c).getBytes("utf-8");        } catch (Exception ex) {            System.out.println(ex);            b = new byte[0];        }        for (int j = 0; j < b.length; j++) {            int k = b[j];            if (k < 0) k += 256;            sb.append("%" + Integer.toHexString(k).            toUpperCase());        }        }    }    return sb.toString();    }

注意源码中粗体部分,原jspSmartUpload组件对返回的文件未作任何处理,现在做了编码的转换工作,将文件名转换为UTF-8形式的编码形式。UTF-8编码对英文未作任何处理,对中文则需要转换为%XX的形式。toUtf8String方法中,直接利用Java语言提供的编码转换方法获得汉字字符的UTF-8编码,之后将其转换为%XX的形式。

将源码编译后打包成jspSmartUpload.jar,拷贝到Tomcat的shared/lib目录下(可为所有WEB应用程序所共享),然后重启Tomcat服务器就可以正常下载含有中文名字的文件了。另,toUtf8String方法也可用于转换含有中文的超级链接,以保证链接的有效,因为有的WEB服务器不支持中文链接。

小结:jspSmartUpload组件是应用JSP进行B/S程序开发过程中经常使用的上传下载组件,它使用简单,方便。现在我又为其加上了下载中文名字的文件的支持,真个是如虎添翼,必将赢得更多开发者的青睐。


TAG:

Java 导出zip文件。

Java 导出zip文件。

前些日子,需要使用Java来实现导出zip文件。这两天刚好没事儿,简单的整理了一下,共享给大家,也以备将来自己忘记。

当然,Java web项目一般是遵循这mvc模式,那就简单的从action上入手介绍:

action中主要是输出到客户端。

其中的方法大致如下:

 1 public String export 2         try { 3             response.setContentType("application/zip;charset=UTF-8"); 4             response.setHeader("Cache-Control", "no-cache"); 5             Calendar calendar = iExport 6             StringBuffer stringBuffer = new StringBuffer(); 7             if(calendar != null){ 8                 stringBuffer.append(calendar.get(Calendar.YEAR)); 9                 stringBuffer.append("-");10                 stringBuffer.append((calendar.get(Calendar.MONTH)+1));11                 stringBuffer.append("-");12                 stringBuffer.append(calendar.get(Calendar.DATE));13                 stringBuffer.append("_");14                 stringBuffer.append(Producer.generateIdOfTen());15                 stringBuffer.append(".zip");16                 fileName =  stringBuffer.toString();17             }else {18                 stringBuffer.append("export);19                 stringBuffer.append(Producer.generateIdOfTen());20                 stringBuffer.append(".zip");21             }22             fileName = new String(fileName.getBytes(), "ISO8859-1");23             response.addHeader("Content-Disposition","attachment;filename=\"" + fileName + "\"");24             ServletOutputStream out = response.getOutputStream();25             if(archiveNumbers!=null&&!archiveNumbers.equals("")){26                 iExport);27             }else{28                 out.flush();29                 out.close();30                 return null;31             }32             out.write(FileUtil.getBytesFromFile(new File(""+session.get("tempFolder")+File.separator+"fileName)));33             out.flush();34             out.close();35         } catch (Exception e) {36             e.printStackTrace();37             session.put("exceptionInfoClass", e);38             return "exceptionOperateAction";39         }40         return null;41     }

然后是service层生成zip文件到tempFolder临时文件夹下(核心的技术代码如下):

byte[] buffer = new byte[1024];ZipOutputStream out = new ZipOutputStream(new FileOutputStream(tempFolder+File.separator+fileName));//需要打包的zipfiles数组List<File> files = new ArrayList<File>();//通过相应的业务来封装自己的list。FileInputStream fis = null;            for (File eachFile : allFiles) {                fis = new FileInputStream(eachFile);                out.putNextEntry(new ZipEntry(eachFile.getName()));                int len;                while ((len = fis.read(buffer)) > 0) {                    out.write(buffer, 0, len);                }                out.closeEntry();                fis.close();            }            out.close();


嗯,生成文件,大致如上了。嗯,还存在一个小问题就是,主要是在服务器端会生成相应的zip包,占用硬盘。


TAG:

Prototype.js使用记录,随时添加

Prototype.js使用记录,随时添加

domready事件,和post方式的ajax

1 document.observe("dom:loaded",function(){2     new Ajax.Request('Ajax.asp',{3         method:'post',4         parameters:"action=allusercount",5         onSuccess:function(data){6             alert(data.responseText);7         }8     });9 });

TAG:

互联网行业在发展 谁来终结SEO?

互联网行业在发展 谁来终结SEO?

  我们听到吴晓波说:企业如果想让用户找到,一定是靠互联网搜索,而那些无法在百度等搜索平台上找到的企业将很难生存。

  我们知道众多站长、SEO论坛的火爆,每日数万发帖量。

  我们看到,百度站长社区刚一诞生,首日发帖过万,满目尽是有关SEO的帖子。

  我们优化关键字,对于版面改动小心翼翼,整日监控流量,担心跳出率和关键字排名下降。只因我们都知道,搜索引擎得罪不起。

  互联网行业在发展,网民对于互联网的要求也越来越高,当我们用心去研究用户的时候,我们会发现,现在能为用户提供信息的渠道太多了,搜索引擎能提供的信息量毕竟有限,当我们发现流量不再来自于搜索引擎,SEO便真的倒掉了。

  那么,是谁来终结SEO?

  终端设备的智能化普及。

  随着设备智能化普及加之国家基础设施建设趋于完善,G时代到来,手机上网是一件再平常不过的事。这时候,搜索引擎会遭受致命打击。为何这么说。举一个例,用手机导航浏览网页的人群要远远大于用百度搜索浏览网页的。届时,大家会纷纷推出各种导航、浏览器插件来支持手机端,更直接,更快速,更智能的浏览工具远远强于百度等搜素工具。这也是为什么UC这几年用户指数增长的原因。用户会装UC客户端,但未必会装百度搜索工具。

  社会化点评和产品搜索普及。

  当我们将用户的搜索行为细化的时候,我们会发现,主要搜索诱因有如下几点:

  1.新闻,为了解意见事始末

  2.产品,了解产品特征、价格,确定购买意向

  3.获取大众对于某事物的评价,加深认同感或增加新知识

  那么,当社会化点评普及后,任何一个事件或者事物,都有相应的点评可供搜索,或者有专门的网站提供各种门类点评的时候,用户完全不需要搜索引擎。

  我们知道,当我们搜索某一产品的时候,搜索引擎跳出的90%是无用信息,这些信息有的是广告,有的于用户意图不相关的。这写信息给用户造成干扰,打打降低用户体验和工作效率。当产品搜索普及后,只提供给用户想要的。好比主机点评网,国内最大的主机搜索、点评平台。搜索结果已经被框在主机产品范围内了,所以用户无论提供什么关键字,结果都不会跳出主机产品的范围。

  一旦产品搜素普及,SEO即被终结。

  终端智能化普及加上社会化点评和产品搜索普及,就能够至搜素引擎于死地。

  文章原创自http://www.hostucan.cn


TAG:SEO 行业分析 站长 网站 网站推广 赚钱

Android 命令简介

Android 命令简介

因为用默认的shell不好,所以就用busybox的sh来代替,后来发现adb install无法安装程序。到了bin目录看了一下,发现几个好用的脚本。

1.svc命令 这个脚本在/system/bin目录下,这个命令可以用来控制电源管理,wifi开关,数据开关(就是上网流量)

2.svc power stayon [true|false|usb|ac] 这个是控制usb插入的时候屏幕是否常亮,这个有地方设置,就不多说了

3.svc data disable这个命令可以关闭数据连接,就是上网流量,大家都知道控制上网的开关很多,但是大都是通过在apn上的接入点加后缀来实现的,但是这个命令不会更改apn的任何设置,直接在底层关闭数据连接。 应该是最彻底的,而且又不影响apn的设置。
这个跟apndroid有什么区别,apndroid是在关闭上网数据的时候,已经在下载的连接可能不会被强制关闭(这个在apndroid自己的说明中也有提到)。比如你在下载一个10M的电影,下载了1M,不响下载了。用apndroid关闭连接,可能这个下载还会继续,不会马上停掉。
但是用这个命令,绝对毫不留情的咔嚓掉。

4.svc data enable 这个是打开上网数据连接,跟上一个命令是相反的。

5 svc data prefer 这个命令是控制3g数据连接比wifi优先。我们都知道,正常情况下,有wifi的时候,不会用到3g连接。但是这个命令是相反,有3g的话先用3g流量,没有3g的时候采用wifi.我想大家不会这么傻吧,所以这个命令没什么用。

6. svc wifi disable 关闭wifi 连接

7 svc wifi enable 开启wifi连接

8 svc wifi prefer 设置wifi优先,跟5是相反的。

上面的命令都要在shell中执行,需要root。
大家可以用gscript ,然后输入这些命令做成在快捷方式放在桌面,跟那些开关软件一样方便使用。


TAG:

javascript学习笔记(十四) window对象

javascript学习笔记(十四) window对象

1.窗口位置
以下取得浏览器窗口距屏幕左边和上边的位置

1 var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX;        //左边位置2 var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;        //上边位置

2.浏览器大小
以下取得浏览器页面视口的大小

 1 var pageWidth = window.innerWidth, 2      pageHeight = window.innerHeight; 3  4 if (typeof pageWidth != "number") { 5     if (document.compatMode == "CSS1Compat") { 6         pageWidth = document.documentElement.clientWidth; 7         pageHeight = document.documentElement.clientHeight; 8     } else { 9         pageWith = document.body.clientWdith;10         pageHeight = document.body.clientHeight;11     }12 }

3.打开或弹出窗口
window.open()方法,可以接受4个参数,通常只需指定第一个参数,第一个参数为URL,第二个参数为_self 、_parent 、_top 、_blank 或者框架名

1 window.open("http://www.baidu.com");2 window.open("http://www.baidu.com","_blank");3 window.open("http://www.baidu.com","topFrame","height=400,width=400,top=10,left=10,resizable = yes");4 topFrame.resizeTo(500,300);        //调整窗口大小5 topFrame.moveTo(100,100);        //移动窗口位置6 topFrame.close();                        //关闭新打开的窗口,IE会报错

4.location 对象
location.href(URL) 加载URL

 1 location.href(URL) 加载URL 2 location.href("http://www.baidu.com"); 3 location.href = "http://www.baidu.com" ;            //同上 4 location.assign = "http://www.baidu.com";        //同上 5 window.loaction = "http://www.baidu.com";        //同上 6 location.replace("http://www.baidu.com");            //同上,但不能回退 7  8 location.reload();        //重新加载(可能从缓存中加载) 9 location.reload(true);    //重新加载(从服务器中加载)10 11 location.search() 返回URL中的查询字符串,字符串以为?开头

5.获取查询字符串参数

 1 function getQueryStringArgs() { 2     var qs = (location.search.length > 0) location.search.substring(1) : ""; 3     var args ={}; 4     var items = qs.split("&"); 5     var item = null,name = null,value = null; 6     for (var i=0 ; i<items.length ; i++) 7     { 8         item = itmes[i].split("="); 9         name = decodeURIComponent(item[0]);10         value = decodeURIComponent(item[1]);11         args[name] = value;12     }13     return args;14 }15 16 //假设查询字符串参数是?q=javascript&num=1017 var args = getQueryStringArgs();18 alert(args["q"]);        //"javascript"19 alert(args["num"]);    //"10"

6.history 对象

1 history.go()页面跳转2 history.go(-1);    //后退一页3 history.go(1);        //前进一页4 history.go(2);        //前进两页5 history.go("baidu.com");        跳转到最近的baidu.com页面6 7 history.back();        //后退一页8 history.forword();    //前进一页

检测当前页是不是用户打开的第一个页面

1 if (history.length == 0) {        2                //如果本页面是用户打开的第一个页面的话3 }

TAG:

javascript学习笔记(一)在html中使用javascript

javascript学习笔记(一)在html中使用javascript

1.延时脚本运行的方法:
方法一:把全部javascript引用放在<body>元素中,页面内容后,如

 1 <html> 2   <head> 3     <title>示例1</title> 4   </head> 5   <body> 6   <!--页面内容--> 7   <script type="text/javascript" src="example1.js"></script> 8   <script type="text/javascript" src="example2.js"></script> 9   </body>10 </html>

方法二:为<script>元素定义defer属性defer="defer",如

 1 <html> 2   <head> 3     <title>示例1</title> 4     <script type="text/javascript" defer="defer" src="example1.js"></script> 5     <script type="text/javascript" defer="defer" src="example2.js"></script> 6   </head> 7   <body> 8    <!--页面内容--> 9    </body>10 </html> 

TAG:

JavaScript程序开发(十一)—js语法之数据类型

JavaScript程序开发(十一)—js语法之数据类型

Array类型

ECMAScript中,Array应该是仅次于Object的了。js中的Array类型和其他语言的Array的不同是js中的数组的每一项可以保存任何类型的数据,而且数组的大小是可以动态调整的,可以随着数据的增加自动增长以容纳新增数据。

ECMAScript有两种创建数组的方式。第一种是使用构造函数的方式,如下代码实例:

    var arr = new Array();

像这种方式创建的数组,如果预先知道数组要保存的项目数量,也可以给构造函数传递参数,指定相应的项目数量,这样每一项的初始值都是undefined。如下代码实例:

    var arr = new Array(20);

同样在使用构造函数方式创建数组的时候,如果知道要保存的每一个具体的项,也可以将具体的项传递给构造函数。如下代码:

    var colors = new Array("red","green","black","gray");

还有一点,就是在ECMAScript中,使用构造函数创建数组的时候new操作符是可以省略的。看如下代码实例:

    var arr = Array(20);    var colors = Array("red","green","black","gray");

这两行代码的实际作用和下面代码是一样的:

    var arr = new Array(20);    var colors = new Array("red","green","black","gray");

创建数组的第二种方式是使用数组字面量表示法。数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开。

    var colors = ["red","green","black","gray"];

TAG:

传李小璐已怀孕 天使妆容的完美脱变,爱美网分享《金太狼的幸福生活》李小璐妆容

传李小璐已怀孕 天使妆容的完美脱变,爱美网分享《金太狼的幸福生活》李小璐妆容

 传李小璐已怀孕 天使妆容的完美脱变

  
        主演李小璐裸妆出席《金太狼的幸福生活》的庆功会,庆祝该剧在乐视网上线近一周后点击量突破一亿大关,这也是乐视网近期改走独播路线后,继《甄嬛传》外的又一热门剧。淡淡的水润唇妆透露着温柔的甜美,即使没有浓妆艳抹,也清新得令人怦然心动。
 

 传李小璐已怀孕 天使妆容的完美脱变


        黑浓的一字眉搭配浓郁的烟熏眼妆,凸显双眼轮廓的深邃,腮红则以轻橘色闪耀来诠释千金的出众气质。李小璐的妆容一直走甜美风,其实魅惑的妆容,她一样可以完美演绎。


TAG:李小璐妆容 明星妆容 烟熏妆 裸妆

性感OR优雅 几招穿搭让你瞬间出众,分享韩国女子组合SISTAR性感写真

性感OR优雅 几招穿搭让你瞬间出众,分享韩国女子组合SISTAR性感写真

  组合SISTAR【宝拉】蕾丝勾勒出的诱惑曲线美

 性感OR优雅 几招穿搭让你瞬间出众

 性感OR优雅 几招穿搭让你瞬间出众

  代表人物:宝拉

  性感指数:★★★★★

  紧身的蕾丝连衣裙设计,紧贴着凹凸有致的S身形,蕾丝搭配更显优雅有气质,搭配丝袜更是性感指数飙升。男人致命的诱惑。

  SISTAR:组合名称拆分为sister和star,意为想要成为明星圈的姐妹大明星,组合里面总共有四个人,无论从歌喉还是舞蹈方面,实力都不容置疑,也是非常的深厚。


TAG:连衣裙 OL职场装扮 明星服饰 SISTAR SISTAR服饰 宝拉 宝拉服饰 孝琳 孝琳服饰 多顺 多顺服饰 昭宥 昭宥服饰

帝国绸缎 令你充满贵族气质

帝国绸缎 令你充满贵族气质

点击查看下一张 loading...  1 of 2  

  柔软飘逸的绸缎衬托出你小家碧玉般的秀丽气质,但你想象过绸缎也能塑造出硬挺的轮廓造型吗?设计师们就像魔术师般创造奇迹。如今,绸缎不仅诠释你的温柔,也能提升你的气场,富有光感的绸缎令你充满贵族气质!
  Tips:绸缎折射出炫目光泽,石榴红、奢华金、银灰……衬托你的不同气质!想让风格轻松变换?珠片上衣、水洗色牛仔裤是好选择。


TAG:帝国 绸缎 贵族气质

亨利慕时Mayu棕色表盘小三针腕表 (3)

亨利慕时Mayu棕色表盘小三针腕表 (3)

H. MOSER & CIE (亨利慕时)MayU MARRONE DIAMONDSH. MOSER & CIE (亨利慕时)MayU MARRONE DIAMONDS

  H. MOSER & CIE (亨利慕时) 的新作Mayu Marrone Diamonds (棕色表盘小三针钻石腕表) 以品牌创办人Heinrich Moser (亨利·慕时) 首位妻子 Charlotte Mayu命名,设计散发古典美感,并镶嵌无瑕明亮切割圆钻,加添几分婉约优雅韵味。

  Mayu Marrone 棕色表盘小三针系列全新钻石腕表,棕色表盘光泽悦目,表圈镶明亮切割圆钻,备有两个款式:其一为 浅棕色太阳射线纹表盘,与温润的玫瑰金表壳相得益彰;第二款的白金表壳与深棕色表盘形成鲜明对比。

  蓝宝石水晶玻璃表背透视 亨利慕时 321.503型手动上链机芯及动力储备显示;大型发条鼓提供80 小时动力储备,旋紧发条后可连续运行最少3天。上链系统的齿轮经倒角打磨,上链特别畅顺并减少零件耗损。底板及夹板边缘经抛光处理、表面有太阳射线纹以及亨利慕时首本的条纹打磨修饰,尽显亨利慕时自制机芯的技术水平及工艺价值;机芯刻有亨利慕时徽章,代表着品牌185年来贯彻始终的品质要求及原创技术及设计风格。机芯由位于Neuhausen (纽豪森) 的亨利慕时自属工厂内生产,直径32毫米,装配Straumann游丝®连Breguet (宝矶)上绕末端,确保了机芯走时准确度。擒纵叉和擒纵轮以超硬实金制作,安装在亨利慕时专利的可替换式擒纵系统中。

  亨利慕时特有缎面及抛光打磨表壳直径38.8毫米,表圈镶64颗Top Wesselton (特白) 钻石的表圈。和谐的表盘设计采用了少见的怀表式大型小秒针,小秒针盘位置与亨利慕时


H. MOSER & CIE (亨利慕时)Mayu MARRONE DIAMONDSH. MOSER & CIE (亨利慕时)Mayu MARRONE DIAMONDS

  技术规格

  Mayu 小三针腕表 编号 321.503-B15

  表壳

  18k 玫瑰金圆形表壳,三部件构成

  缎面打磨及抛光打磨 

  表圈镶 64颗Top Wesselton (特白)明亮切割圆钻

  直径  38.80 mm

  厚度  9.30 mm

  5.5 毫米黄金表冠有M字标志 

  蓝宝石水晶玻璃表镜,内侧防眩处理 

  蓝宝石水晶玻璃表背

  机芯

  HMC 321.503 型自制手动上链机芯,上链齿轮经倒角处理

  无机芯固定环 

  直径 32.00 毫米 

  厚度 4.80 毫米 

  宝石 27颗

  摆频 每小时18,000 次 

  动力储存 至少 3 天 

  6方位微调 

  表背有动力储备显示

  秒停功能 

  Moser特别研发的传动轮和齿轴齿牙系统

  Moser 可替换式擒纵系统

  原创 Straumann 游丝®连 Breguet (宝矶)上绕游丝末端

  擒纵叉和擒纵轮由超硬实金制成

  表盘

  浅棕色太阳射线纹表盘,钻石抛光时标 

  琢面时针、分针及小秒针,抛光指针眼

  表带和表扣

  深棕色手缝鳄鱼皮表带

  18K玫瑰金表扣刻 Moser标志


H. MOSER & CIE (亨利慕时)Mayu MARRONE DIAMONDSH. MOSER & CIE (亨利慕时)Mayu MARRONE DIAMONDS

  技术规格

  Mayu小三针腕表 编号 321.503-B16

  表壳

  18k 白金圆形表壳,三部件构成

  缎面打磨及抛光打磨 

  表圈镶 64颗Top Wesselton (特白)明亮切割圆钻

  直径  38.80 mm

  厚度  9.30 mm

  5.5 毫米黄金表冠有M字标志 

  蓝宝石水晶玻璃表镜,内侧防眩处理 

  蓝宝石水晶玻璃表背

  机芯

  HMC 321.503 型自制手动上链机芯,上链齿轮经倒角处理

  无机芯固定环 

  直径 32.00 毫米 

  厚度 4.80 毫米 

  宝石 27颗

  摆频 每小时18,000 次 

  动力储存 至少 3 天 

  6方位微调 

  表背有动力储备显示

  秒停功能 

  Moser特别研发的传动轮和齿轴齿牙系统

  Moser 可替换式擒纵系统

  原创 Straumann 游丝®连 Breguet (宝矶)上绕游丝末端

  擒纵叉和擒纵轮由超硬实金制成

  表盘

  浅棕色太阳射线纹表盘,钻石抛光时标 

  琢面时针、分针及小秒针,抛光指针眼

  表带和表扣

  深棕色手缝鳄鱼皮表带

  18K白金表扣刻 Moser标志


TAG:H MOSER & CIE 亨利慕时 Mayu MARRONE DIAMONDS 小三针 钻石 腕表 棕色表盘

街头look 纪梵希发布2013早春系列,爱美奢华带来Givenchy2013早春男装系列

街头look 纪梵希发布2013早春系列,爱美奢华带来Givenchy2013早春男装系列

 街头look 纪梵希发布2013早春系列    

 街头look 纪梵希发布2013早春系列

   
        纪梵希2013早春系列

  法国老牌时装屋Givenchy凭借独树一帜的优雅格调,60年来在时尚界享誉盛名,日前由创意总监Riccardo Tisci领衔,率先发布了2013早春系列新作。


TAG:纪梵希 Givenchy 纪梵希2013早春系列 男装 纪梵希男装 奢侈品

迪威特Twenty-8-Eight镂空陀飞轮 (2)

迪威特Twenty-8-Eight镂空陀飞轮 (2)

迪威特 (DeWitt) Twenty-8-Eight镂空陀飞轮腕表迪威特 (DeWitt) Twenty-8-Eight镂空陀飞轮腕表

  迪威特表盘到底如何精致、如何复杂、工艺如何完美?首先面世的两款Twenty-8-Eight陀飞轮腕表堪称是迪威特自制表盘的完美诠释。如今,各家表厂更加注重机械结构,自豪地充分展示表厂核心技术的另一面:机芯结构。因此,还有什么能比镂空腕表更好地展示DW8028机芯呢?这款极具历史意义的机芯是迪威特表厂首款完全自制的机芯。

  DW8028 – 绝佳组合

  迪威特 DW8028机芯所采用的架构以历史悠久且广为业界认可的高可靠性技术参数为依据:振频每小时18,000次、变量惯性摆锤、44°角擒纵装置和72小时动力储存,绝对是最佳组合?

  该手动上链陀飞轮腕表完全由表厂自制,搭载瑞士锚形擒纵机构和具有菲利浦(Philips)末端曲线的Straumann Hairspring®游丝,由坚固、自动补偿、非氧化型抗磁合金制成,以2.5赫兹顺向运行。完美一致且精确平卷的游丝(0,0001毫米)确保了机械装置极高的精确度。

  摆锤、擒纵轮和锚由18K黄金制成。

  建筑力度与柔美精致兼而有之

  Twenty-8-Eight镂空陀飞轮腕表并不希望尽量去除腕表结构上的材质,从而得到超薄脆弱的镂空腕表。迪威特腕表的镂空结构既保留了精心构设的力度,又与表壳上的48根帝王柱设计和谐一致,这也是所有迪威特腕表杰作的典型特征。

  镂空主夹板、黑金表面抛光的磨砂镍银底座以及以黄金镌刻的机芯型号,形成一个由曲线、圆和直线构成的奇妙迷宫。观赏者的视线经机芯蜿蜒而行,会突然被位于9点钟位置的醒目镂空“W”标志所吸引。这一标志在深度、视角和图层方面均符合迪威特设计的经典特征,Twenty-8-Eight 镂空陀飞轮腕表也秉承这项特色。镂空“W”标志实际上会出现于机芯的下半部,因此从腕表另一侧观赏机芯时也能更添乐趣。

  但是无论基础多么稳固,您也定会被机芯及其滴答作响的机械结构所深深吸引。陀飞轮由细长的圆粒纹装饰艺术桥板支撑并优雅地绕轴旋转,令人惊奇万分。

  老爷车方向盘

  发条盒位于12点钟位置,亦为镂空结构,以展示转子内部。

  镂空发条盒的外形设计灵感源于老爷车方向盘。随着发条盒转轮缓缓旋转,游丝逐渐解开,上部主干将会滑至下部主干之上。这正是迪威特在层次方面的又一有趣设计。

  天作之合

  Twenty-8-Eight镂空陀飞轮腕表采用43毫米的圆形表壳,由18K玫瑰金(高级珠宝表款采用白金材质)制成。其厚度为10.78 毫米,比Academia系列略薄。表耳经全新设计,表侧饰有略为分隔的帝王柱,极具品牌特色,秉承迪威特的腕表精髓。其融合个性与精致的和谐设计,实在是镂空机芯展现结构线条的天作之合。

  在表圈内侧以及整个机芯周围的斜角,其18K玫瑰金钻石抛光内壁,令镂空机芯折射出迷人光影。内壁的主要位置饰有四个极其精致鲜明的“W”标志。在高级珠宝表款中,18K白金内壁还饰有八颗明亮型切割钻石,令时标更显亮眼。


迪威特 (DeWitt) Twenty-8-Eight镂空陀飞轮腕表迪威特 (DeWitt) Twenty-8-Eight镂空陀飞轮腕表

  耀目表圈

  Twenty-8-Eight镂空陀飞轮腕表完全符合迪威特表厂极其严格的修饰标准。腕表的全手工处理和抛光工艺,更是体现了其罕见的上乘质量。表壳、主夹板、桥板、转轮、甚至微型螺丝都经过斜角、抛光和缎面处理,在制表师无比耐心和一丝不苟的双手中达到顶尖质量。表圈上的柱体分别经抛光或缎面处理,交相辉映,如此耀眼夺目!

  迪威特表厂的所有腕表都具备一项特征,亦是保证最终质量的重要组成部分和迪威特签名印记:每枚腕表自始至终均由同一位制表师完成全部的组装、调校和检测工作。

  TWENTY-8-EIGHT镂空陀飞轮腕表

  技术特性
  机芯型号
  机芯类型:手动上链镂空机械机芯,内置DeWitt制造的陀飞轮。手工修饰
  功能:小时、分钟
  型号:DW8028 S
  动力储存:72小时
  推出时间:2012
  振频:18,000次/小时
  摆锤:变量惯性摆锤
  游丝:具有菲力浦(Phillips)末端曲线的Straumann Hairspring®游丝,以2.5 Hz顺向运行。
  擒纵系统:运行角44°
  宝石数目:19
  直径:14.6’’(33毫米)
  总厚度:6.10毫米
  零件数:185

  表壳
  表壳:圆形,表侧饰以DeWitt帝王柱图案;高级珠宝表款(T8.TH.009)镶嵌36颗梯形切割钻石及104颗明亮型切割钻石
  材质:18K白金或玫瑰金
  直径:43毫米
  总厚度:10.78毫米
  表冠:18K白金或玫瑰金抛光表冠,饰以“W”字样黑色钛金圈
  表耳间距:21毫米
  表背:蓝宝石水晶

  指针:时针及分针:双刃剑形镂空指针。

  表带:巧克力棕色或哑黑色鳄鱼皮
  表带扣:18K白金或玫瑰金针扣,抛光处理,镌刻“W”字样。

  其它:

  防水深度:30米


TAG:迪威特 DeWitt Twenty 8 Eight 镂空 陀飞轮 腕表

穿出优雅 职场最爱黑白配 (6)

穿出优雅 职场最爱黑白配 (6)

  无论色彩潮流如何朝夕万变,经典的黑与白却永远不会被时尚所淘汰,它历久弥新,演绎经典。本期,编辑为你量身打造永不过时的“ 黑白配”,教你如何穿出优雅,释放气场!
  热力推荐:白色宽腿裤
  搭配要点:
  横条纹T恤搭配高腰宽腿裤,视觉上拉长了你的腿部线条,让你倍显高挑。同时带有军装元素的中长款外套,瞬间提升你的气场。

双排金扣风衣 Dsquared² 新品未定价
条纹上衣 Zara 399 元
腰部拼接设计阔腿裤 Eitie 1699 元
蛇纹高跟鞋 Stella Luna 1680 元
鳄鱼纹折叠手包 Me&City 新品未定价
钢带手表 Longines 新品未定价
水钻黑白色手镯 Martine Wester 单个540 元
水钻几何形戒指 Martine Wester 620 元
镶嵌铆钉蛇纹手包 Christian Louboutin
白色蛇纹金色系带高跟鞋 Christian Louboutin


  热力推荐:极简连身裙
  搭配要点:
  剪裁精良的黑色连衣裙优雅间散发出知性,白色腰带不仅与连衣裙完美配色,同时提升你的腰线。白色西服将女精英姿态完美释放!
白色西装外套 Zara 999 元
白色领黑色连衣裙 Eitie 2099 元
白色皮腰带 Giada 3950 元
蛇纹黑白拼色手包 Me&City 新品未定价
白色皮表带手表 TAGHeuer 新品未定价
双色水钻戒指 Martine Wester 620 元
水钻十字形胸针 Martine Wester 1045 元
圆筒形手包 Jimmy Choo

拼色高跟鞋 Giuseppe Zanotti


  热力推荐:知性外套
  搭配要点:
  修身铅笔裙穿出你的好身材,带你轻松驰骋于职场。搭配短款的黑白编织小外套,从容淡定,领部的铆钉装饰彰显你不羁的穿衣个性!
黑白花呢短外套 Zara 699 元
铆钉领白色连衣裙 SPORTMAX 9080 元
透明鞋跟高跟鞋 Zara 新品未定价
黑色表带手表 Tissot 5850 元
方形水钻戒指 Martine Wester 620 元
黑色手包 Dior
珊瑚鞋跟高跟鞋 Chanel


  热力推荐:强势风衣
  搭配要点:
  白色衬衫搭配黑色皮裤,干净利落,帅气有型。精致的配饰点亮你的专属风格,时髦感倍增。黑白拼色的风衣拼出好品位。
黑白拼色外套 Joan&David 新品未定价
白色薄纱衬衫 Giada 4150 元
黑色皮质短裤 EQ:IQ 新品未定价
白色表带手表Tissot 5850 元
金属色镶嵌水钻手镯Martine Wester 1080 元
黑色圆形组合项链 Martine Wester 1580 元

金属鞋尖复古高跟鞋 Louis Vuitton
皮革编织金属包身背包 Christian Louboutin


  热力推荐:帅气西装
  搭配要点:
  利落有型的西装,是职场达人必备,时髦帅气又不失优雅。西装的剪裁极富韵律,生动的线条彰显你的穿衣品质,Total白搭配一个黑色手包,“ 黑白配”拿捏得十分精准。
白色西装 Haniiy 3680 元
白色七分裤 Me&City 新品未定价
白色薄纱吊带 Giada 4180 元
白色编织腰带 SPORTMAX 1380 元
黑色软皮公文包 Hugo Boss 新品未定价
白色蛇纹高跟鞋 Stella Luna 1680 元
钢带手表 Longines 新品未定价
星星形吊坠项链做胸针 Martine Wester 1250 元
镶嵌两颗长方形水晶手镯 Martine Wester 520 元
拼色坡跟凉鞋 What For
珍珠项链 Dior


  热力推荐:镶边衬衫
  搭配要点:
  整套Look简约优雅,以白色为主,极少的黑色线条作为点缀,极具现代感。手拿包实用又时髦,几何形金属戒指在细节中体现你的艺术品位。
镶黑边白色衬衫 W.DoubleuDot 1788 元
镶黑边半裙 'S Max Mara 4080 元
白色拼黑色漆皮手袋 Longchamp 新品未定价
三角形戒指 Martine Wester 620 元
白色表带手表 Tissot 5850 元
镂空花朵手包 Valentino
镶嵌铆钉高跟鞋 Valentino


TAG:职场 黑白配

刘海太短了?七个小妙招来挽救-流行发型-美丽网

刘海太短了?七个小妙招来挽救-流行发型-美丽网

【导读】根据我们之前做过的一项调查表明,喜欢自己动手剪刘海的姑娘们大有人在,但是可惜,错手剪失败的也不在少数。如果你对刘海不太满意,一剪刀下去刘海太短了,怎么补救?看看下面7个挽救的小妙招吧。

 

刘海剪太短 挽救7妙招

发饰:这也许是最"简单粗暴"的选择,但发饰确实可以帮助我们遮盖很多瑕疵。从带有亮片的发带到带花边的发夹,各种各样的发饰层出不穷,总有一款适合你!

变身"变装大师":要掩饰剪得过短的刘海,一个好办丽就是把头发都烫卷,没错,刘海也要。为了让波浪与波浪之间更协调,可以用一把小小的发梳来让波浪看上去更协调,喷一些定型喷雾不仅可以让头发变得更饱满,也可以填补那些意外的缝隙,从而使头发显得更有层次感。

藏起来吧:如果你头发比较浓密,那取一些头顶的头发向前梳,然后斜斜的遮住前额盖住原本的刘海就可以啦。

是时候转型了:说不定这也可以是你新发型的原动力,如果真的是那样的话,不妨告诉你的发型师你的选择。

 

让头发长快点:既然已经剪短了,那就只好希望它能够早点长长啦,都有些等不及了吧,那就不妨试试加速头发生长的产品:比如Viviscal dietary supplement (100美元) ,Aveda Invati Scalp Revitalizer (60美元)等等。

改变心态:就像Tabatha Coffey说的那样,刘海越短越犀利。或许你可爱的刘海实际上根本就没你想象的那么差。

当所有努力都宣告失败:找到你的发型师。或许他或她可以想出突破的办丽,或者把它们改成斜刘海,以便能修剪掉那些参差的边线。如果你非得在家剪,为了达到理想的效果,下一次请把长度留到眉毛那个位置吧。


TAG:根据我们之前做过的一项调查表明 喜欢自己动手剪刘海的姑娘们大有人在 但是可惜 错手剪失败的也不在少数。如果你对刘海不太满意 一剪刀下去刘海太短 发饰:这也许是最& ldquo 简单粗暴& rdquo 的选择 但发饰确实可以帮助我们遮盖很多瑕疵。从带有亮片的发带到带花边的发夹 各种各样的发饰层出不穷

油性肌肤毛孔粗大怎么解决 油性皮肤怎么护理,爱美网美容护肤教你油性皮肤毛孔粗大怎么办

油性肌肤毛孔粗大怎么解决 油性皮肤怎么护理,爱美网美容护肤教你油性皮肤毛孔粗大怎么办

 油性肌肤毛孔粗大怎么解决 油性皮肤怎么护理


        油性肌肤小自测

  不确定你是否属于油性肌肤?实际上油性皮肤一般有以下这些鲜明特点,小编教你辨别:


 油性肌肤毛孔粗大怎么解决 油性皮肤怎么护理


   1、洗脸后一、两个小时皮肤就又油光闪闪,到中午更是变成油田,尤其T区位置;


TAG:油性肌肤 油性皮肤 控油 毛孔 T区 黑头

白色风潮盛行 清爽搭配街拍独秀,分享白色服饰搭配街拍秀

白色风潮盛行 清爽搭配街拍独秀,分享白色服饰搭配街拍秀

mg/h007/h73/img201205301431090.jpg" target=_blank alt=" "> 白色风潮盛行 清爽搭配街拍独秀       

 白色风潮盛行 清爽搭配街拍独秀

        白色背心连衣裙

        垂坠面料的莫代尔亲肤舒适,背心长裙运动feel十足,百搭时尚,夏日街头也很常见喔!


TAG:街拍 环球街拍 白色搭配 白色服饰单品 女装 夏装 时尚服饰 服饰搭配 街头装扮

鬼马9连拍 吴奇隆卖萌表情写真,吴奇隆《他生活 HisLife》表情写真大片

鬼马9连拍 吴奇隆卖萌表情写真,吴奇隆《他生活 HisLife》表情写真大片

 鬼马9连拍 吴奇隆卖萌表情写真 mg/h007/h73/img201205291809410.jpg" target=_blank alt=" ">

       鬼马9连拍 吴奇隆卖萌表情写真

        吴奇隆卖萌9连拍

        吴奇隆为《他生活 HisLife》拍摄的一组杂志写真大片曝光,片中的吴奇隆各种鬼马搞笑的卖萌表情带你回归童年的纯真时代。


TAG:吴奇隆 时尚明星 明星写真 明星动态 杂志大片

方脸变精致小脸 最新夏季波波头,爱美网美发日系短发造型图鉴

方脸变精致小脸 最新夏季波波头,爱美网美发日系短发造型图鉴

  

 塑造精致小脸 三款最新夏季波波头

  蜜糖棕色染发造型将脸的肤色提亮,而刘海的弧度经过吹卷后,变得自然立体

  

 塑造精致小脸 三款最新夏季波波头

  轻微的厚重感有助于将头型饱满,而发尾的剪碎设计,独特又时尚


TAG:波波头 梨花头 女生发型 烫发 发型造型与设计 日系发型 脸型发型

Chanel小黑外套摄影展敲定台湾 (2)

Chanel小黑外套摄影展敲定台湾 (2)


周迅  继东京之后,香奈儿Chanel将香奈儿Chanel小黑外套世界巡回摄影展“The Little Black Jacket”的第二站最终敲定在台湾台北。
章子怡
   由老佛爷卡尔拉格菲Karl Lagerfeld亲自掌镜拍摄,好友重量级造型师前法国版VOGUE总编辑卡琳洛菲德Carine Roitfeld全程参与,113幅由众多时尚名人所穿着的香奈儿Chanel黑色小外套摄影巡回展览,将于6月16日至7月18日在松山文化创意园区免费展出。



萨拉·杰西卡·帕克
   除了与香奈儿Chanel关系友好的好莱坞知名女星如莎拉洁西卡派克、2012香奈兒Boy Chanel代言人朋克名模爱丽丝德拉尔Alice DellalAlice Dellal、小野洋子;香奈儿Chanel首位亚洲代言人:中国女星周迅等女星穿上香奈儿Chanel经典的斜纹软呢、皮革等小黑外套款式,展現时而甜美时而个性的多变风貌。


TAG:Chanel 周迅 影展 台北 东京 章子怡

EP雅莹推出儿童画主题爱-出色IPAD应用

EP雅莹推出儿童画主题爱-出色IPAD应用

  因为明亮绚丽的色彩和富有童真的生动形象,2012春夏,EP雅莹联合洛东儿童画推出主题服装系列,在六一国际儿童节到来之际,EP雅莹特用缤纷的图画和巧妙的构思,打造出IPAD APP儿童画主题游戏:"爱-出色"。

童年爱出色童年爱出色

  支持洛东儿童画,服装"爱-出色"

  2012春夏EP雅莹推出的儿童画主题系列服装,灵感源自江南水乡的洛东儿童画,它借鉴于农民画,传承江南民间绘画的艺术之魂,儿童在创作时无拘无束,充分发挥自己的想象力和感受力,自由奔放、视角新颖,因此画面充满了童趣,且极具装饰性。

儿童的绘画影响未来的色彩儿童的绘画影响未来的色彩

  "儿童的绘画影响未来的色彩",洛东儿童画在全国乃至全球都有重要影响,曾先后在北京和日本都举行了画展。一直以来,浙江雅莹服装有限公司都有意于支持特色教育,更有意于传承民间绘画艺术,为了让洛东儿童画走进更多人的视野和心灵,已与磻溪小学签订了联合发展洛东儿童画的合作意向书,并设立了"雅莹-洛东儿童画发展基金"。

  2012年春夏,EP雅莹从洛东儿童画中获取创作灵感,巧妙融合童趣与时尚的双重特质,将儿童画元素运用到服装中,儿童画系列服装清新可人、简约生动,为成人经过岁月洗礼的思维与视界平添鲜艳和梦幻的美好。

科技时尚炫演绎,游戏科技时尚炫演绎,游戏"爱-出色"

  科技时尚炫演绎,游戏"爱-出色"

  在儿童画主题系列服饰得到客户广泛青睐的同时,EP雅莹凭借细腻而敏感的时尚触觉,将一幅幅精美绝伦的儿童画制作成"填色"游戏,以时下非常流行的IPAD作为载体,打造出全新"爱-出色"IPAD APP应用。"爱-出色"系列游戏色彩缤纷、造型活泼、主题纯真,无论是色彩斑斓的"小猴玩耍"拼图,还是线条简约流畅的"小老虎和妈妈"填色,都让这个儿童节焕发蓬勃而愉悦的生机。

"爱-出色"系列游戏色彩缤纷、造型活泼、主题纯真

  一直以来,EP雅莹都致力追求感知幸福、传递幸福的美好事业,"爱-出色"儿童画系列游戏的全新推出,不仅为天真可爱的孩子送去欢乐,也为繁忙于工作的成人带去休闲与放松。具有强大原创性和超前意识的"爱-出色"系列游戏,在品牌推广的需求和店铺体验的需求上找到了一个完美结合点,为时尚行业注入一种全新的品牌推广模式。

  植2012国际儿童及之际,爱-出色"IPAD APP应用已在EP雅莹"终端体验,APP STORE(http://itunes.apple.com/cn/app/ep-ya-ying-hd/id468651319?mt=8)中也可同步下载,同时,EP雅莹新浪官方微博在六一期间开展#童年爱-出色#微博互动互动活动,分享游戏分享童年的色彩都有机会获得EP雅莹儿童画产品系列。

分享到:

点击进入>>>"潮流服饰"论坛,看怎么穿最美丽……

手机访问女性频道,潮流、情感、八卦随时随地一网打尽

已有 _COUNT_ 位网友推荐了自己的经验,点击查看


TAG:EP雅莹 EP雅莹推出儿童画主题爱 出色IPAD应用