The Google App Engine

不得不说Google的服务真的太好了,让我非常激动。前天申请了一下Google App Engine,可是到了手机认证那一步,怎么都是收不到短信,网上有很多人说是因为移动的手机不能收到短信,所以我也就认了,不过我对Google真的充满了激情,所以找呀找,然后就找到了Google App Engine 的客户反映表单,我就把表单填了,令我万万没有想到的是,中午填了表单,然后下午就收到了他们的一封电子邮件说把我的Google App Engine 开了,现在可以创建应用程序了,于是我万分激动,差点眼泪都留下来了,呵呵。下面我把邮件贴出来,宣传一下Google,哈哈。

Your Google App Engine Account has been enabled!
收件箱X

回复 |appengine.noreply@google.com ✆ 发送至 我 显示详细信息 12月19日 (1 天前)

发件人appengine.noreply@google.com
发件人当地时间发送时间 3:40 (UTC)。发送地当前时间:上午7:28。 ✆
发送至******@gmail.com

日期2009年12月19日 上午3:40
主题Your Google App Engine Account has been enabled!
邮送域apphosting.bounces.google.com
署域google.com

隐藏详细信息 12月19日 (1 天前)
英文> 中文 

  翻译邮件

Hello,

You're receiving this email because you indicated you'd had some problems verifying your Google App Engine account using SMS. 

We just wanted to let you know we've enabled your account--you should be able to create applications now!

To start creating applications with Google App Engine, simply follow this link:

https://appengine.google.com/

Thanks!
The Google App Engine Team

回复 转发

tomcat 6的配置

第一步:下载jdk和tomcat:JDK下载  Tomcat下载
最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上

第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。
1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java):
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin
接着可以写一个简单的java程序来测试JDK是否已安装成功:
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javac Test.java
java Test
此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
CATALINA_HOME:c:\tomcat
CATALINA_BASE:c:\tomcat
TOMCAT_HOME: C:\Tomcat
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;
【注意最新版本的Tomcat中可能没有common这个文件夹了。所以servlet-api.jar应该的路径为
%CATALINA_HOME%\lib\servlet-api.jar;请根据自己的情况自己修改!】
接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。

第三步:建立自己的jsp app目录
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录,起名叫myapp;
3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>
6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。

第四步:建立自己的Servlet:
写入你的第一个Servlet:
在你新建的Application myapp/WEB-INF/classes/test目录下新建HelloWorld.java

package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)th
rows ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");

}
}

然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servl
et.*
那么就是应该把C:\Tomcat\common\lib里面的servlet-api.jar文件拷贝到C:\JDK\jre\lib\ext中,再次编译,就没有问题了!然后在Tomcat目录里面的C:\Tomcat\webapps\myapp里面按如下的文件结构:
myapp\index.jsp
myapp\WEB-INF\classes\test\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)
然后在浏览器中输入http://localhost:8080/myapp/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found怎么回事呢?
Servlet必须使用C:\Tomcat\webapps\myapp\WEB-INF这个目录下面的web.xml文件进行注册,
用EditPlus打开这个web.xml文件,
在<web-app></web-app>添加下面这段程序:

<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

为什么呢?
因为这样的结构
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>test.HelloWorld</servlet-class>//类的路径
</servlet>
表示指定包含的servlet类.
而以下的结构
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
表示指定HelloServlet应当映射到哪一种URL模式。
在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/myapp/HelloWorld,,那么偌大一个Hello,World!等
着你呢,恭喜你!

第五步:建立自己java Bean
1. 在你新建的Application myapp/WEB-INF/classes/test目录下新建TestBean.java
package test;
public class TestBean
{
private String name =null;
public TestBean(String nameInit){
this.name = nameInit;
}
public void setName(String newName){
this.name=newName;
}
public String getName(){
return this.name;
}
}
然后照样用javac TestBean.java来编译这个文件。
2.然后在你新建的应用程序目录myapp下新建一个新的jsp文件:testBean.jsp
<%@ page import="test.TestBean" %>
<html>
<head>
<title>Test Bean</title>
</head>
<body>
<center>
<%
TestBean testBean = new TestBean("Http://blog.sina.com.cn/wangminy");
%>
Java Bean Test:
The author's blog address is<%=testBean.getName()%>
</center>
</body>
</html>
好了,确定各个文件的位置:
myapp\index.jsp
myapp\testBean.jsp
myapp\WEB-INF\web.xml
myapp\WEB-INF\classes\test\HelloWorld.class
myapp\WEB-INF\classes\test\TestBean.class
3.重启Tomcat如果需要的话,在浏览器输入:http://localhost:8080/myapp/testBean.jsp 幸运的话就会看到:
Java Bean Test: The author's blog address isHttp://yexin218.cublog.cn
这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。

第六步:配置虚拟目录
打开 Tomcat6.0\conf\server.xml 文件,在 <Host> 和 </Host> 之间加入
<Context path="/myapp" docBase="D:\myapp" debug="0" reloadable="true" crossContext="true" />

如何迅速成为Java高手

很多网友朋友问我学习Java有没有什么捷径,我说“没有,绝对没有!”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和 J2EE,这也就是Sun  ONE(Open  Net  Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程; J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是 J2EE了。J2EE又包括许多组件,如 Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。
那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还
是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管 JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是 EJB了,EJB就是Enterprise  JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所
以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用 Java编发送电子邮件的程序,你就得看看Javamail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C 再Ctrl+V,也不用劳您老大架再亲自把它  再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛  http://www.csdn.net/    中国最有名的技术论坛,《程序员》杂志就是他们出版的,你可以在上面提出问题,马上就有人回答你,如果你觉得好,你可以给那人加分;
Java研究组织http://www.javaresearch.org/    上面有很多原创文章,高手还是挺多的;
Java开发者    http://www.chinajavaworld.com/    那里Java资料比较全;
java.com.cn     http://www.java.com.cn/    看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;
IBM的开发者网络 http://www-900.ibm.com/developerWorks/cn/java/index.shtml IBM永远的蓝色巨人!!!
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。所以你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈
祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!
还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。学Java必读的两个开源程序就是Jive 和Pet  Store.。Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是
我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive 从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名鼎鼎的banq在Jive  2.1版本基础上改编而成,  全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站http://www.jdon.com/    去下载,或到同济技术论坛的服务器上ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。Pet  Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要错过了。
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术", 它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你
能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网站http://www.jdon.com/    ,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把Model-View- Control分离开的设计思想)吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。
做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的来了。。。。。。
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“山外有山、人外有人”。
你知道计算机界现在的发展形势吗?你知道微软的.NET蓝图和SUN  ONE计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“Web服务将是下一代互联网应用的制高点”,而微软的.NET蓝图和SUN  ONE 计划的斗争焦点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(XML,SOAP,UDDI,WSDL和WSFL 等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业的系统是用Dephi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如 Web服务,而且你Dephi也要懂一点吧(Dephi6现在已经提供Web服务的控件了)。  你编的Java系统,可能要和.NET集成,所以你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!
呜…你费劲千心万苦,总算成为Java高手了,怎叫人不由喜极而泣呢!是啊,真不容易,真不简单,
真叫人感动啊!那么打个电话告诉我吧,什么?我的电话号码是多少?昏到,你打电话问不就知道了吗,
真是的$ % @ # $ ! #……

jdk,j2ee,j2se,j2me的概念区别

1.JDK是什么
JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。那么,什么是jdk?它和sdk有什么区  别?SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这  么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”;而jdk=java   sdk(如果使用微软的C#进行开发  ,那么就需要C# SDK了),JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基  础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是  Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有  GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运  行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发
J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发
J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发
J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。针对企业网应用的J2EE(Java 2   Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和针对嵌入式设备及消费类电器的J2ME(Java 2   Micro Edition)三个版本。对于初学者,都是从J2SE入手的。

2. j2ee和j2se的区别
j2ee是在j2se的基础上添加了一系列的企业级应用编程接口.j2ee包含有很多的技术!其中有你熟悉的jsp,servlet,jdbc,jme等  13中技术!j2ee主要是用来做B/S结构的应用程序!也就是说是基于浏览器和服务器的!它支持分布式组件可以同时存在多个容器;
而j2se就是最基础的运行JAVA程序的工具包,包含了最基本的JAVA类库,例如 java.lang.String就是基本的类库之一,j2se包用  来开发桌面应用程序(即所谓的C/S结构)足够了,例如eclipse就是它开发的,相当于微软的C#;而j2ee其实就相当于微软的  ASP.NET,是专门用于web开发的,该包包含了j2se包,另外还提供了一些与web开发相关的类库(说白了就是jsp和servlet接口,  API),例如HttpServletRequest对象就是其类库中的一种,而j2se是开发桌面应用程序的,因此不需要用到这些HTTP对象(网络  上将j2ee吹嘘成什么企业级开发,晕!不就是开发个网站(或者是所谓的B/S结构)吗,但人们楞是冠之以一个强悍的吓人的名头  ,当真是将好大一部分初学者给吓住了(包括我^-^)!);那么同理,也许手机应用程序比正常的桌面应用程序简单一点,因此  不需要用到那么多类库,即所谓的JAVA服务(就是基本的类而已,楞是说成服务,那以后C语言也就叫C服务得了),因此所谓的  j2me,其实就是从j2se中去掉一些类库,就成为所谓的微型移动程序的开发平台了。

3、J2EE到底是什么?
J2EE,是sun公司提出的一个标准,符合这个标准的产品叫“实现”;其中你下载的sun公司的j2ee开发包中就有一个这样的“实现  ”,而jboss,weblogic,websphere都是j2ee标准的一个 “实现”。由于jboss,weblogic,websphere自身带有j2ee的api,所以  可以不使用sun的j2ee实现。

4、j2ee sdk和j2sdkee的区别
可以把j2ee sdk和j2sdkee当成是一回事,官方叫法为 j2ee sdk。j2eesdk就是jdk,这个是开发ejb(enterprise java bean,企  业版javabean——所谓企业javabean,说白了就是开发web项目时,在后台编写的java类——不知道能不能这样理解?哎!JAVA中  的很多概念其实特简单,但它偏不用人们易于理解的语言来解释,非要带上企业的印记,将个JAVA搞的像传说中的爪哇岛一样神秘  莫测!)必须要安装的。

5、装过j2ee sdk还需要装j2se sdk吗?
在sun的网站下载J2ee1.4时,有两种下载包,其中一种是j2ee1.4 sdk完整包(all in one),包含j2ee server,j2se, sample, api   doc; j2ee 包含j2se 几乎所有东西——j2ee里有一个jdk ,它下面的lib和j2se下面的lib一样大(同版本的),但jre不一样大,因为  j2ee比j2se多了好多,如java.servlet. ,java.servlet.http. 等。j2ee 是让你用来开发 j2ee specification 的东西.如果是用于web 服务器,不装j2ee也行,只要装一个jre (连j2se都不用装),外加一个servlet引擎(如tomcat)就够了。
看下面这个,一目了然:
j2se == jdk == bin + demo + include + jre + lib + src.rar //SUN官方的jdk1.4.2
j2ee == jdk + .... //这里的 jdk 和上面的jdk 文件不一样大,原因上文已说。
另一种为单独的j2ee server,安装前需要先安装j2se sdk。
不管哪个,安装完成后,都要设置java_home,j2ee_home,classpath环境变量