2006年12月25日星期一

“百度与站长”更新:关于网站收录,删除,seo等(转)

百度网站的“百度与站长”部分的内容更新了,里面很多信息又可以值得我们挖掘。通过阅读文字信息,大家可以看到百度似乎也在转变先前自己对SEO的看法,合理的搜索引擎优化终于被它所接受。而且相比之前的百度与站长,这次修改比较大,而且也透露了一些积极的信号。有幸跟百度的相关人员交流过,感觉百度跟站长,跟seo,需要一个相互了解的过程。抛弃偏见,互相沟通,才能共同维护好搜索生态圈的和谐。

网页收录问题
1:如何让我的网站(独立网站或者blog)被百度收录?
百度会收录符合用户搜索体验的网站和网页。
为促使百度Spider更快的发现您的站点,您也可以向我们提交一下您的网站的入口网址。提交地址是:http://www.baidu.com/search/url_submit.html。您只需提交首页即可,无需提交详细的内容页面。
百度的网页收录机制,只和网页价值有关,与竞价排名等商业因素没有任何关联。
2:如何让我的网页不被百度收录?
百度严格遵循搜索引擎Robots协议(详细内容,参见http://www.robotstxt.org/)。
您可以写一个Robots文件以限制您的网站全部网页或者部分目录下网页不被百度收录。具体写法,参见:如何撰写Robots文件。
如果您的网站是在被百度收录之后再设置Robots文件,则Robots文件通常在两周内生效,被文件限制的内容,将从百度搜索结果中移除。
如果您的拒绝被收录需求非常急迫,也可以发邮件给webmaster@baidu.com请求处理。
3:为什么我的网站内一些不设链接的私密性网页,甚至是需要访问权限的网页,也会被百度收录?
百度Spider对网页的抓取,是通过网页与网页之间的链接实现的。
网页之间的链接类型,除了站点内部的页面链接之外,还有不同网站之间的互相链接。因此,某些网页即便通过您的网站内部链接无法访问到,但是,如果别人的网站上有指向这些页面的链接,那么这些页面还是会被搜索引擎所收录。
百度Spider的访问权限,和普通用户是一样的。因此,普通用户没有权限访问的内容,Spider也没有权限访问。之所以看上去某些访问权限限制内容被百度收录,原因有两点:
A. 该内容在Spider访问时是没有权限限制的,但抓取之后,内容的权限发生了变化B. 该内容有权限限制,但是由于网站安全漏洞问题,导致用户可以通过某些特殊路径直接访问。而一旦这样的路径被公布在互联网上,则Spider就会循着这条路径抓出受限内容
如果您不希望这些私密性内容被百度收录,一方面可以通过Robots协议加以限制;另一方面,也可以联系webmaster@baidu.com进行解决。
4:我的网页为什么会从百度搜索结果中消失?
百度并不允诺所有网页都可从百度搜索到。
如果您的网页长时间无法从百度搜索到,或者突然从百度的搜索结果中消失,可能的原因有:
A. 您的网站所在服务器不稳定,被百度暂时性去除;稳定之后,问题会得到解决B. 您的网页内容有不符合国家法律和法规规定的地方C. 您的网页不符合用户的搜索体验D. 其他技术性问题
以下的说法是错误的和毫无根据的:
A. 参与了百度竞价排名但未续费,会从百度搜索结果中消失B. 参与了其他搜索引擎的广告项目,会从百度搜索结果中消失C. 与百度旗下网站产生了竞争,会从百度搜索结果中消失D. 从百度获得的流量太大,会从百度搜索结果中消失
5:什么样的网页会被百度认为是没有价值而不被百度收录或者从现有搜索结果中消失?
百度只收录百度认为有价值的网页。任何网页在搜索结果中的去留变化,都是机器算法计算和调整的结果。下述类型的网页,百度明确不会欢迎:
A. 网页做了很多针对搜索引擎而非用户的处理,使得用户从搜索结果中看到的内容与页面实际内容完全不同,或者使得网页在搜索结果中获得了不恰当的排名,从而导致用户产生受欺骗感觉。如果您的网站中有较多这种页面,那么这可能会使您的整个网站的页面收录和排序受到影响。B. 网页是复制自互联网上的高度重复性的内容。C. 网页中有不符合中国法律和法规的内容。
6:如果我的网站因为作弊行为而从百度搜索结果中消失,是否还有被重新收录可能?
凡是作出完全修正的网站,是有机会被百度重新收录的。百度会定期对被处理站点进行自动评估,并对符合条件者重新收录。
需要说明的是,百度技术和产品部门只对用户搜索体验负责。以下的说法都是错误的和毫无根据的:
A. 我成为百度的广告客户或者联盟网站,就可以重新被收录B. 我给百度若干钞票,就可以重新被收录C. 我认识百度的某某人,就可以重新被收录
7:我的网站更新了,可是百度收录的内容还没更新怎么办?
百度会定期自动更新所有网页(包括去掉死链接,更新域名变化,更新内容变化)。因此请耐心等一段时间,您的网站上的变化就会被百度察觉并修正。
网页排序问题
1:我的网站首页被收录了,但搜索网站名称却排不到第一个,怎么办?
答:排序算法非常复杂。我们的目标,即在于通过算法改进,让用户以最小的成本,搜索到所需要的信息。这个过程中还是会有各种各样不尽如人意的地方。我们会非常欢迎您把您遇到的困惑和问题,反馈给我们。我们的工程师,对每一个问题都会有细致的跟踪和分析,以期将之最终解决。百度搜索结果页下方的搜索框右侧,有 “与百度对话”链接,您可以在那里提交您的问题,以协助我们改进。
我们一直在改进搜索算法,以使得百度的搜索结果更加符合用户的搜索需求。
2:搜索某关键词,我的网页在百度搜索结果的排序短期内变化剧烈,这正常吗?
答:通常情况下,这是正常的变化。一般来说,有三类原因导致排序发生变化:
A. 特定关键词所涉及的您的网页发生了变化B. 特定关键词所涉及的其他网页发生了变化C. 百度的排序算法发生了变化
3:搜索某关键词,我的网页在百度的排序位置,和在其他搜索引擎的排序位置,差异非常大,这正常吗?
答:通常情况下,这是正常的现象。因为不同搜索引擎的算法,都是不同的。
4:我请一些“SEO”来为我的网站或者网页做优化,会有什么后果?
答:合理的搜索引擎优化,参见百度的“给站长的建站指南”。
外界很多打着SEO旗号的公司或者个人,也许能为您的网站带来短期的排序收益,但是,这会使您将面临更大损失的风险。在您把网站资源交托给别人之后,很多SEO甚至会利用您的资源进行他们个人的运营项目,最终导致您的利益受损。
不要因为SEO们以下的说法,而冒险将自己的网站托付给他们随意处置:
A. 我和百度的人很熟,想怎么干就怎么干,没风险B. 我是搜索引擎专家,对百度的算法一清二楚,玩玩火也不要紧C. 我把xxx、yyy、zzz这些关键词都搞到第一了,所以我是牛人啊
您也可以向百度投诉搜索中遇到的垃圾网站或者网页,帮助百度保持搜索结果的质量。
商业客户相关的问题
1:我是百度的竞价排名客户,如果我不续费,百度是否会因此对我进行惩罚?
答:这是绝对不可能的。
百度的网页搜索策略的唯一标准,在于用户的搜索体验。竞价排名和网页搜索自然排名,是完全独立的两个技术服务系统。一个网站是否是百度竞价排名客户,对于网页搜索自然排序无任何影响。
如果您收到任何类似威胁的说辞,请您直接发邮件至ask@baidu.com举报。
2:我的网站因为作弊而从百度消失了,是否可以通过成为百度竞价排名客户、广告客户或者联盟站点的方式重新被百度收录?
答:不可以。我们对网站的收录,唯一标准是用户搜索体验。被惩罚网站重新被百度收录的说明,见网页收录问题6中的叙述。
3:我的网站加入百度竞价排名、百度联盟,或者成为百度的广告客户,是否能在网页的收录和排序上获得特别的照顾?
答:不可能。
给站长的建站建议
只有当搜索引擎、站长、互联网用户之间,能有一种默契的利益均衡,这个行业才会顺畅发展。竭泽而渔式的网站建设,只会使您与用户、与搜索引擎越来越远。搜索引擎与站长之间,宜和谐发展,共同拥抱美好的愿景。
以下是我们给出的一些建站建议:
站点结构宜简洁明晰
不要让你的用户一进你的站点就因为纷繁芜杂而不知所措。从某种意义上来说,百度的Spider也是一个相对特殊的访客而已。每一个子域名,每一个目录,都最好有明确的内容区隔,避免不同子域名或者目录对相同内容的互相串用。  
创造属于您自己的独特内容
百度更喜欢独特的原创内容。所以,如果您的站点内容只是从各处采集复制而成,很可能不会被百度收录。
保持经常的更新
经常的更新,蜘蛛程序就会经常的光顾;而长期不更新的网站,蜘蛛到访会日趋减少。
谨慎设置您的友情链接
如果您网站上的友情链接,多是指向一些垃圾站点,那么您的站点可能会受到一些负面影响。参与各类以SEO为目的的自助链接活动,很可能“过犹不及”。
把自己的网站做成常青树
如果没有搜索引擎,你的网站仍然访客盈门,那么你的网站就属于“常青树”了。面向用户做网站,而不要面向搜索引擎做网站,这是成为常青树网站的真谛。

2006年12月23日星期六

最近用MYECLIPSE开发STRUTS+HIBERNATE+SPRING问题总结

最近学习用MYECLIPSE开发一个STRUTS+HIBERNATE+SPRING的项目,遇到了一些问题

1. MySql的外键问题

我建表的时候在DDL语句里面ENGINE这一项默认是MyIsAM,但是MYSQL只有在InnoDB引擎下才支持外键

2. 用MYECLIPSE自动生成POJO和DAO,在测试的时候, 在调用save方法的时候。报sql语句错误,发现表名被改了。

解决办法:MYECLIPSE自动生成的.hbm.xml文件,删除catalog="表名"这一项。

2006年12月22日星期五

比较好的JAVA网站

1. The Source for Java Technology Collaboration(JAVA开发的官方网站)
http://www.java.net/ - 外文

2. jGuru: FAQ Home Page 推荐
http://www.jguru.com/faq/ - 外文

3. Developer.com: An EarthWeb site
http://www.developer.com/ - 外文

4. the java.blogs community
互联网上最活跃的一个Java Blog网站
http://www.javablogs.com/ - 外文

5. The #1 Java Review Service
提供Java评论服务. 包括各种framework和应用程序
http://www.jars.com/ - 外文

6. programming resources in various categories
http://www.programmingsite.co.uk/ - 外文

7. 非常不错的java开发社区,大量的相关资源,强烈推荐!
http://www.javaresearch.org/ - 中文

8. 中文JAVA技术网 -- 为Java爱好者服务 推荐
http://www.cn-java.com/ - 中文

9. 中国JAVA俱乐部
http://www.cnjavaclub.com/ - 中文

10. Computer Technical Tutorials and Information: Free Technical Tutorials
收集了大量的开发资源,特别是一些指南.点击左边的导航进入,值得好好研究.
http://www.techtutorials.info/ - 外文

11. Tutorials From FunctionX .酷
http://www.functionx.com/ - 外文

12. ACCU 推荐
The ACCU is a non-profit organisation devoted to professionalism in programming at all levels. Although primarily focussed on C and C++, we also have interests in Java, C# and Python. 有非常好的资料,就看你能不能找到.
http://www.accu.org/ - 外文

13. JAVA中文站
一个老牌的站点提供大量的JAVA资料,是目前国内较好的java专业技术网站之一,在J友中已经具有相当的名气。
http://www.java-cn.com/index.html - 中文

14. SUN 中国技术社区 中文官方网站
http://gceclub.sun.com.cn/ - 中文

15. Planet Source Code
一个优秀的代码收集站点,分类清晰,强烈推荐.
http://www.planetsourcecode.com/ - 外文

16. Java频道---中国IT认证实验室
大量的开发文档,分类清晰。
http://java.chinaitlab.com/ - 中文

17. IBM developerworks 中国: Java
http://www-128.ibm.com/developerworks/cn/java/index.html - 中文

18. O’Reilly CodeZoo
http://www.codezoo.com/ - 外文

19. Home of free V GUI C++ library and VIDE C++/Java IDE for Windows and Linux
V Gui C++类库用来开发界面,这样就不需要什么MFC来支持,而且可以很好的移植到LINUX平台。VIDE是一个图形开发平台(象VC,BCB),而且它支持JAVA.可以用来研究。
http://www.objectcentral.com/ - 外文

20. Kaffe.org
Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License.
http://www.kaffe.org/ - 外文

21. JAVA学习:www.studyjava.com 推荐
http://www.studyjava.com/ - 中文

22. Java Skyline: Java Servlet/Server Headline News
http://www.javaskyline.com/learning.html - 外文

23. Open Source Software in Java(tm)
http://java-source.net/ - 外文

24. 计算机开发文档英雄贴
大量的编程开发 文档.
http://www.chinadir.net/ - 中文

25. The Java Developers Almanac 1.4
Java 开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处. This website supplements the book The Java Developers Almanac 1.4. All the code examples from the book are made available here for you to copy and paste into your programs.

http://www.javaalmanac.com/ - 外文

26. Focus on Java
来自About.com的Java新闻和技术文章网站.
http://java.about.com/ - 外文

27. JavaPro在线杂志网站
http://www.fawcette.com/javapro/ - 外文

28. Java Developers Journal的在线杂志网站.
http://java.sys-con.com/ - 外文

29. 位于Java.net的一个Java桌面技术社区网站.
javaDesktop, a gathering place for members of the Java™ platform’s graphical user interface (GUI) community. Here you’ll find news, discussions, technical articles, and open source projects that use the Java 2 Platform, Standard Edition (J2SE™) APIs to produce applications with rich client interfaces. (If you’re looking for information on the Sun Java Desktop System, you can find it at sun.com.)
http://community.java.net/javadesktop/ - 外文

30. Java Technology
Java technology is a portfolio of products that are based on the power of networks and the idea that the same software should run on many different kinds of systems and devices
http://java.sun.com/ - 外文

31. O’Reilly的Java网站. 每周都有新文章
http://www.onjava.com/ - 外文

32. Gamelan.com -
A Developer.com Site for Java Articles, Tutorials, News, Discussions, and More
http://www.developer.com/java/ - 外文

33. javaworld
http://www.javaworld.com/ - 外文

34. Cnet的Builder.com网站
Cnet的Builder.com网站 - 所有的技术文章, 以Java为主.
http://builder.com.com/ - 外文

35. DevX: Java Zone
http://www.devx.com/java - 外文

36. developerWorks : Java technology of IBM
http://www-130.ibm.com/developerworks/java/ - 外文

37. DevCentral
Check out the best 100% free tutorials and articles on the web for the software development community. It doesn’t matter if you are a student or a professional software engineer, DevCentral has content to match everything from learning C to Java Class Loaders. DevCentral provides all these self paced tutorials, technology articles, and downloads for everyone to enjoy for free.
http://devcentral.iticentral.com/default.php - 外文

38. J道:Java和J2EE解决之道
http://www.jdon.com/index.html - 中文

39. 中国Java实验室
http://download.chinaitlab.com/special/javaebook.htm JAVA资料下载
http://www.chinajavalab.com/ - 中文

40. Javalobby -
Sun Java, JSP and J2EE technology programming forums, software downloads, jobs and tutorials
http://www.javalobby.org/ - 外文

41. Central Java Investment Board
http://www.central-java.com/ - 外文

42. RFC-Editor Webpage
进行网络开发的必备资料.
http://www.rfc-editor.org/ - 外文

43. Java开源大全
提供关于开源JAVA项目的相关信息,分类很清晰
http://www.open-open.com/ - 中文

44. Java家
http://www.javajia.com/ - 中文

45. 赛迪网(ccidnet.com)的java文档区
http://tech.ccidnet.com/pub/column/c2369.html - 中文

46. Matrix - 与 Java 共舞
一个计算机开源技术组织,原创内容多,主要涉及java基础、编程、工具与应用服务、j2ee,j2me技术、设计模式等,旨在让更多的人得到进步,他们的口号:Matrix is all!
http://www.matrix.org.cn/ - 中文

47. J2SE - 技术天地 - 赛迪网
http://tech.ccidnet.com/pub/column/c1078.html - 中文

48. Javalobby
Sun Java, JSP and J2EE technology programming forums, software downloads, jobs and tutorials:
http://www.javalobby.com/ - 外文

49. Java爱好者 提供 免费Java教程下载,Java电子书籍,Java技术文章
http://www.javafan.net/ - 中文

50. www.javaside.com
http://www.javaside.com/ - 外文

51. 中国DotNet俱乐部
.Net社区—包括 C#,VB,ASP,Delphi,VC,MS SQL Server,C++,JAVA,JSP
http://www.chinaaspx.com/ - 中文

52. The Java Community Process(SM) Program
http://www.jcp.org/ - 外文

53. 太阳花下载站
大量的java资料下载,有一个搜索引擎。推荐看看
http://www.javadown.com.cn/ - 中文

54. Java examples (example source code) Orgainzed in Topic into Categories
很多文档、范例的Java网站,特别是有200多个SWT/JFace的范例
http://www.java2s.com/ - 外文

55. Java中文博览
收集了很多的java文档,并进行了分类。
http://www.javarss.com.cn/ - 中文

56. www.sa-se.com 系统分析&软件工程
http://www.sa-se.com/ - 中文

57. Java Code and Examples of nokia
http://www.forum.nokia.com/ - 外文

58. java, javscript,Free source code for the taking. Over five million lines of program
http://www.1javastreet.com/ - 外文

59. the one stop programmers resource
Welcome to programmershelp, on this site you will find various resources for programming languages such as c, c++, visual basic, java, php, perl, asp and javascript to name but a few. Source code, forums, tutorials, scripts articles, downloads, book links we have it.
http://www.programmershelp.co.uk/ - 外文

60. Jpowered
http://www.jpowered.com/ - 外文

61. software Java applet application
http://www.thejmaker.com/ - 外文

62. TheServerSide.com
http://www.theserverside.com/ - 外文

63. J道:Java和J2EE解决之道
http://www.jdon.com/ - 中文

64. ::JavaTEA:: 中国软件协会JAVA技术分会
http://www.javatea.org/ - 中文

65. DingL.com
http://www.dingl.com/ - 中文

66. JAVA资源网
http://www.javazy.com/ - 中文

67. J2ME开发网
http://www.j2medev.com/ - 中文

68. 锋网ijsp.net
http://ijsp.net/ - 中文

69. BJUG - Beijing Java User Group
http://www.bjug.org/ - 中文

70. javaidea
http://www.javaidea.net/ - 外文

71. Cookie Nest
Java programming, applets, scripts, downloads, tutorials
http://www.cookienest.com/ - 外文

72. Crack J2EE
http://www.crackj2ee.com - 中文

73. BlogJava - 专注于Java技术
http://www.blogjava.net/ - 中文

74. LaLiLuna
- Tutorials for Struts, JavaServer Faces, JSF, EJB, Hibernate, Eclipse, JBoss, Tomcat
http://www.laliluna.de/ - 外文

75. Java自由人
http://www.javayou.com - 中文

76. JAVA学习室
http://www.java3z.com - 中文

JAVA写的无限分类(原创)(功能待完善)

package com.tree.model;

/**
* @author wolf
*
*/
public class TreeModel {

private int classid;

private int parentid;

private String name;

private int level;

public int getLevel() {
return level;
}

public void setLevel(int level) {
this.level = level;
}

public TreeModel(int classid,int parentid,String name){
this.classid = classid;
this.parentid = parentid;
this.name = name;
}

public TreeModel() {
// TODO Auto-generated constructor stub
}

public int getClassid() {
return classid;
}

public void setClassid(int classid) {
this.classid = classid;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getParentid() {
return parentid;
}

public void setParentid(int parentid) {
this.parentid = parentid;
}

}

/**
* @author wolf
* 无限分类
* 本例子是一个示例程序,只有获取分类的功能,对于增加和修改没有实现,没有用到数据库.
*/
package com.tree.bean;

import java.util.ArrayList;
import java.util.Iterator;

import com.tree.model.TreeModel;

/**
* @author wolf
*
*/
public class Tree {

public static void main(String[] args) {
TreeModel[] ts = init();
TreeModel tss = new TreeModel();
ArrayList list = new ArrayList();
list = getAll(0, ts, 0, new ArrayList());
Iterator it = list.iterator();
while (it.hasNext()) {
tss = (TreeModel) it.next();
for (int k = 0; k < tss.getLevel(); k++) {
System.out.print(" ");
}
System.out.println(tss.getName());
}
}

/* 初始化,读取数据,并返回数组 */
public static TreeModel[] init() {
ArrayList list = new ArrayList();
list.add(new TreeModel(0, -1, "世界"));
list.add(new TreeModel(1, 0, "中国"));
list.add(new TreeModel(2, 1, "北京"));
list.add(new TreeModel(3, 2, "朝阳区"));
list.add(new TreeModel(4, 1, "沈阳"));
list.add(new TreeModel(5, 4, "东软"));
list.add(new TreeModel(6, 5, "移动互联网"));
list.add(new TreeModel(7, 3, "望京"));
list.add(new TreeModel(9, 1, "辽宁"));
list.add(new TreeModel(10, 9, "大连"));
list.add(new TreeModel(11, 10, "东软"));
list.add(new TreeModel(12, 11, "0317班"));
TreeModel[] ts = new TreeModel[list.size()];
list.toArray(ts);
return ts;
}

/* 通过classid和数组,返回该classid下的一级分类数组 */
public static TreeModel[] isHave(int id, TreeModel[] ts) {
ArrayList list = new ArrayList();
for (int i = 0; i < ts.length; i++) {
if (ts[i].getParentid() == id) {
list.add(ts[i]);
}
}
TreeModel[] tss = new TreeModel[list.size()];
list.toArray(tss);
return tss;
}

/* 通过classid得到该classid的一个TreeModel对象 */
public static TreeModel getTreeByid(int id, TreeModel[] ts) {
TreeModel tss = new TreeModel();
for (int i = 0; i < ts.length; i++) {
if (ts[i].getClassid() == id) {
tss = ts[i];
}
}
return tss;
}

/*
* 获取所有分类 参数id:这个id是classid 参数ts:所有分类的对象集合 参数level:分类的层次级别
* 参数list:递归到的分类信息存放到该list中
*/
static public ArrayList getAll(int id, TreeModel[] ts, int level,
ArrayList list) {
level++;
TreeModel[] k = isHave(id, ts);
if (id == 0) {
list.add(getTreeByid(id, ts));
}
if (k.length > 0) {
for (int t = 0; t < k.length; t++) {
k[t].setLevel(level);
list.add(k[t]);
getAll(k[t].getClassid(), ts, level, list);
}
}
return list;
}
}