Javaphua Blog

BlogJava 首页 新随笔 联系 聚合 管理
  46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks

2007年6月5日 #

一:一个目标

一艘没有航行目标的船,任何方向的风都是逆风

1、你为什么是穷人,第一点就是你没有立下成为富人的目标

2、你的人生核心目标是什么?

杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。

3、起跑领先一步,人生领先一大步:成功从选定目标开始

4、贾金斯式的人永远不会成功

为什么大多数人没有成功?真正能完成自己计划的人只有5%,大多数人不是将自己的目标舍弃,就是沦为缺乏行动的空想

5、如果你想在35岁以前成功,你一定在25至30岁之间确立好你的人生目标

6、每日、每月、每年都要问自己:我是否达到了自己定下的目标

二:两个成功基点

好位置,调正心态,努力冲刺,35岁以前成功

(一)人生定位

1、人怕入错行:你的核心竞争力是什么?

2、成功者找方法,失败者找借口

3、从三百六十行中选择你的最爱

人人都可以创业,但却不是人人都能创业成功

4、寻找自己的黄金宝地

(二)永恒的真理:心态决定命运,35岁以前的心态决定你一生的命运

1、不满现状的人才能成为富翁

2、敢于梦想,勇于梦想,这个世界永远属于追梦的人

3、 35岁以前不要怕,35岁以后不要悔

4、出身贫民,并非一辈子是贫民,只要你永远保持那颗进取的心。中国成功人士大多来自小地方

5、做一个积极的思维者

6、不要败给悲观的自己

有的人比你富有一千倍,他们也会比你聪明一千倍么?不会,他们只是年轻时心气比你高一千倍。

人生的好多次失败,最后并不是败给别人,而是败给了悲观的自己。

7、成功者不过是爬起来比倒下去多一次

8、宁可去碰壁,也不要在家里面壁

克服你的失败、消极的心态

(1)找个地方喝点酒

(2)找个迪厅跳跳舞

(3)找帮朋友侃侃山

(4)积极行动起来

三:三大技巧

1、管理时间:你的时间在哪里,你的成就就在哪里。

把一小时看成60分钟的人,比看作一小时的人多60倍

2、你不理财,财不理你

3、自我管理,游刃有余

(1)创业不怕本小,脑子一定要好

(2)可以开家特色店

(3)做别人不愿做的生意

四:四项安身立命的理念

35岁以前一定要形成个人风格

1、做人优于做事

做事失败可以重来,做人失败却不能重来

(1)做人要讲义气

(2)永不气馁

2、豁达的男人有财运,豁达的女人有帮夫运

35岁以前搞定婚姻生活

3、忠诚的原则:35岁以前你还没有建立起忠诚美誉,这一缺点将要困扰你的一生

4、把小事做细,但不要耍小聪明

中国人想做大事的人太多,而愿把小事做完美的人太少

五:五分运气

比尔·盖茨说:人生是不公平的,习惯去接受它吧

1、人生的确有很多运气的成人:谋事在人,成事在天:中国的古训说明各占一半

2、机会时常意外地降临,但属于那些不应决不放弃的人

3、抓住人生的每一次机会

机会就像一只小鸟,如果你不抓住,它就会飞得无影无踪

4、者早一步,愚者晚一步

六:六项要求

1、智慧

(1)别人可你以拿走你的一切,但拿不走你的智慧

(2)巧妙运用自己的智慧

(3)智者与愚者的区别

2、勇气

(1)勇气的力量有时会让你成为“超人”

(2)敢于放弃,敢于“舍得”

3、培养自己的“领导才能、领袖气质”

(1)激情感染别人

(2)“三·七法则”实现领袖气质

(3)拍板决断能力

(4)人格魅力

4、创造性:不要做循规蹈矩的人

25-35岁是人生最有创造性的阶段,很多成功人士也都产生在这一阶段

5、明智

(1)知道自己的长处、短处,定向聚焦

(2)尽量在自己的熟悉的领域努力

6、持之以恒的行动力:在你选定行业坚持十年,你一定会成为大赢家

七:七分学习

1、知识改变命运

2、35岁以前学会你行业中必要的一切知识

a)每天淘汰你自己

b)在商言商

3、太相信的书人,只能成为打工仔

4、思考、实践、再思考、再实践

八:八分交际

朋友多了路好走

1、智商很重要,情商更重要:35岁以前建立起人际关系网

2、人脉即财脉:如何搞好人际关系

3、交友有原则

4、善于沟通:35岁以前要锻炼出自己的演讲才能

九:九分习惯

习惯的力量是惊人的,35岁以前养成的习惯决定着你的成功的大小

1、积极思维的好习惯

2、养成高效工作的好习惯

(1)办公

(2)生活可以不拘小节,但要把工作做细

(3)学习聆听,不打断别人说话

3、养成锻炼身体的好习惯

4、广泛爱好的好习惯

5、快速行动的好习惯

十:十分自信

1、自信是成功的精神支柱

2、自信方能赢得别人的信任

3、把自信建立在创造价值的基础上

4、如何建立自信

(1)为自己确立目标

(2)发挥自己的长处

(3)做事要有计划

(4)做事不拖拉

(5)轻易不要放弃

(6)学会自我激励

(7)不要让自己成为别人 十一: 11个需要避开的成功陷阱

1、只有功劳,没有苦劳

2、不要“怀才不遇“,而要寻找机遇

3、不要想发横财

4、不要为钱而工作,而让钱为你工作

5、盲目跟风,人云亦云,人做我也做

6、小富即安,不思进取,知足常乐

7、承认错误而非掩饰错误

8、脚踏实地而非想入非非

9、野心太大而不是信心十足

10、反复跳槽不可取

11、眼高手低

12、不择手段

十二:十二分努力

没有人能随随便便成功

1、小不是成功,大不是成功,由小变大才是成功

2、中国社会进入微利时代:巧干+敢干+实干=成功

3、努力尝试就有成功的可能

4、做任何事情,尽最大努力

5、把事情当成事业来做

6、我看打工者

7、祝你早日掘到第一桶金来源

posted @ 2007-08-19 00:36 Javaphua 阅读(563) | 评论 (0)编辑 收藏

Ajax 基础和例子

Ajax -- Asynchronous JavaScript and XML Ajax 使用的是JavaScript + DOM + CSS + XMLHttpRequest的技术,是目前Web2.0更加流行的技术.

与传统网络应用相比,Ajax具备更加直观和方便的用户交互. 为什么呢? 比如, 我们需要点击链接或按钮来激发事件,而使用Ajax只要移动鼠标或者在一个输入框输入字母已经可以触发事件. 传统的网络应用是基于page-driven的模式, 使用的是'click, wait a refresh the whole page' 模式, 而Ajax是通过data-driven的模式来提供网络页面的, 采用的是部分页面更新的模式, 页面中只更新有新数据的部分,其它的部分依然不变,所以依然可以操作.

Ajax就象它的名字一样, 可以异步地在浏览器和服务器之间进行交流, 当服务器端处理submit过来的数据的同时, 客户依然可以正常地处理浏览器端同一页面的其他功能.

那么Ajax和传统网络应用相比是怎样工作的呢?下面这张图可以让你了解清楚.

传统的网络应用在浏览器和服务器之间的交流是直来直去的, 而Ajax的网络应用在浏览器中有一个Ajax引擎,这个引擎实际上就是一个Javascript的对象XMLHttpRequest, 而XMLHttpRequest负责浏览器和服务器的异步交流.

XMLHttpRequest既然是Javascript的对象, 当然需要一些Javascript的代码来生成, 它目前支持大部分的浏览器,包括了Mozilla, Firefox等等.

服务器端依然可以使用传统的技术如servlet, JSP, JSF,Struts等等,但会有一些小的限制,比如客户端会发更频繁的请求,而响应这些请求的类型包括text/xml, text/plain, text/json, text/javascript.

整个Ajax的操作过程分为七步:

1.A client event occurs

2.An XMLHttpRequest object is created

3.The XMLHttpRequest object is configured

4.The XMLHttpRequest object makes an async. request

5.The ValidateServlet returns an XML document containing the result

6.The XMLHttpRequest object calls the callback() function and processes the result

7.The HTML DOM is updated

我们分别来看看这七个步骤是怎么做的: 1. A client event occurs,

<input type="text"
size="20"
id="userid"
name="id"
onkeyup="validateUserId();">

比如我们手头上有这样一段Javascript的代码:  这是一个ID为userid的文本框,里面包含了一个Javascript的函数,当我们在文本框里打入一个英文字母时,会激发onkeyup的事件,从而激发validateUserId的Javascript的函数.

2.An XMLHttpRequest object is created

var req;
function initRequest() {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
isIE = true;
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function validateUserId() {
initRequest();
req.onreadystatechange = processRequest;
if (!target) target = document.getElementById("userid");
var url = "validate?id=" + escape(target.value);
req.open("GET", url, true);
req.send(null);
}

validateUserId的Javascript的函数调用initRequest函数生成XMLHttpRequest对象, 大家注意到在initRequest函数里面有两种生成XMLHttpRequest的方法,这是针对不同的浏览器的做法,对于Mozilla,我们可以直接使用"new XMLHttpRequest()”, 而对于IE,我们需要生成ActiveX对象.

3.The XMLHttpRequest object is configured

rvalidateUserId的Javascript的函数包含一句req.onreadystatechange = processRequest; 这是通过设定XMLHttpRequest对象里面的onreadystatechange特性为回调函数.

4.The XMLHttpRequest object makes an async. request

if (!target) target = document.getElementById("userid");
var url = "validate?id=" + escape(target.value);
req.open("GET", url, true);
req.send(null);

然后XMLHttpRequest调用open方法和服务器交流, open方法有三个参数, HTTP方法是Get还是Post, 服务器端的URL, 方式采取异步还是同步.

5.The ValidateServlet returns an XML document containing the result

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String targetId = request.getParameter("id");
if ((targetId != null) && !accounts.containsKey(targetId.trim())) {
response.setContentType("text/xml ");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<valid>true</valid>");
} else {
response.setContentType("text/xml ");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<valid>false</valid>");
}
}

然后是服务器端ValidateServlet的响应,首先Content type设为text/xml, Cache-Control设为no-cache, 最后会返回true或者false的xml格式响应.

6.The XMLHttpRequest object calls the callback() function and processes the result

function processRequest() {
if (req.readyState == 4) {
if (req.status == 200) {
var message = ...;

现在控制交回给客户端, 由于我们设定了回调函数为processRequest, 那么当响应从服务器端回到客户端浏览器,就激发了processRequest函数, 我们在processRequest函数中检查XMLHttpRequest对象的readyState状态是否为4和status状态是否为200,如果两者同时成立,就代表服务器端的数据已经成功返回给客户端,那么就可以执行下面的处理.

 7.The HTML DOM is updated.

接收完服务器端传回来的数据后,浏览器开始着手显示接收回的数据.

我们通过页面里面的<div>元素来唯一的表示一个对象给DOM的API使用. 比如确定html页面某一处的需要显示的信息文本对象,我们可以使用userIdMessage唯一的标签来做引用给DOM的API使用. 如下面这段代码:

23.<body>
24. <div id="userIdMessage"></div>
25.</body>

一但你有了唯一确定的引用,你就可以使用DOM的API对其进行随心所欲的操作,如属性的修改等等,比如下面这段代码:

1. <script type="text/javascript">
2. function setMessageUsingDOM(message) {
3. var userMessageElement = document.getElementById("userIdMessage");
4. var messageText;
5. if (message == "false") {
6. userMessageElement.style.color = "red";
7. messageText = "Invalid User Id";
8. } else {
9. userMessageElement.style.color = "green";
10. messageText = "Valid User Id";
11. }
12. var messageBody = document.createTextNode(messageText);
13. // if the messageBody element has been created simple replace it otherwise
14. // append the new element
15. if (userMessageElement.childNodes[0]) {
16. userMessageElement.replaceChild(messageBody,
17. userMessageElement.childNodes[0]);
18. } else {
19. userMessageElement.appendChild(messageBody);
20. }
21.}
22.</script>
23.<body>
24. <div id="userIdMessage"></div>
25.</body>

在这里javascript通过了getElementById方法得到了userIdMessage对象,然后对服务器端返回的数据进行对比,如果值是true,在userIdMessage里添加文本"Valid User Id", 如果值是false,则在userIdMessage里添加文本"Invalid User Id".

大概就是这样的一个状况,那么在Ajax里面的XMLHttpRequest还有很多方法和属性, 包括:

方法:


• open(“HTTP method”, “URL”, syn/asyn)
> Assigns HTTP method, destination URL, mode
• send(content)
> Sends request including string or DOM object data
• abort()
> Terminates current request
• getAllResponseHeaders()
> Returns headers (labels + values) as a string
• getResponseHeader(“header”)
> Returns value of a given header
• setRequestHeader(“label”,”value”)
> Sets Request Headers before sending

属性:

• onreadystatechange
> Set with an JavaScript event handler that fires at each
change
• readyState – current status of request
> 0 = uninitialized
> 1 = loading
> 2 = loaded
> 3 = interactive (some data has been returned)
> 4 = complete
• status
> HTTP Status returned from server: 200 = OK

• responseText
> String version of data returned from the server
• responseXML
> XML document of data returned from the server
• statusText
> Status text returned from server

 

posted @ 2007-08-13 09:31 Javaphua 阅读(397) | 评论 (0)编辑 收藏

tomcat5.5.x 配置记录。
 
1.下载:
http://www.eu.apache.org/dist/jakarta/tomcat-5/
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-admin.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-compat.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x.zip
http://www.apache.org/dist/jakarta/tomcat-5/v5.5.x/bin/jakarta-tomcat-5.5.x-deployer.zip
jakarta-tomcat-5.5.x.zip
jakarta-tomcat-5.5.x-compat.zip
jakarta-tomcat-5.5.x-admin.zip
(Tomcat 默认是没有内置admin模块了
Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. )
都解压到同一个目录下面。比如:D:\jakarta-tomcat-5.5.x\
(如果使用jdk1.4,才需要compat.zip用jdk1.5就可以免了这个。)
 
2.修改jakarta-tomcat-5.5.x\conf\tomcat-users.xml.
添加管理员账号lizongbo,密码为lizongbopass.
新xml如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
</tomcat-users>
 
3.修改jakarta-tomcat-5.5.x\conf\server.xml来解决编码问题。
(给Connector 添加URIEncoding参数,参考http://blog.csdn.net/darkxie/archive/2004/10/25/TOMCATAPP.aspx)
(可以设置成GB18030)
    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="200"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"
               compression="on" compressionMinSize="2048"
      noCompressionUserAgents="gozilla, traviata"
      compressableMimeType="text/html,text/xml"/>
 
    <Connector port="8009"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>
 

4.启用支持gzip压缩.
(http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81169)
添加下列属性
 compression="on"
      compressionMinSize="2048"
      noCompressionUserAgents="gozilla, traviata"
      compressableMimeType="text/html,text/xml"
 
5.设置虚拟主机。
在jakarta-tomcat-5.5.x\下建立文件夹vhost\www.mydomain.com。
然后修改jakarta-tomcat-5.5.x\conf\server.xml
 
<Engine defaultHost="localhost" name="Catalina">
      <Host appBase="vhost/www.mydomain.com" name="www.mydomain.com">
      </Host>
      <Host appBase="webapps" name="localhost">
      </Host>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>
 
6.添加数据库驱动,更新mail.jar和actiovation.jar
复制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到 jakarta-tomcat-5.5.x\common\lib\
还有javamail 1.3.2的mail.jar,jaf-1_0_2的 activation.jar
msSQl 2000 JDBC sp3,msbase.jar,msutil,jar,mssqlserver.jar
 
 
7.配置SSL
参考 http://jakarta.apache.org/tomcat/tomcat-5.5-doc/ssl-howto.html
D:\j2sdk1.4.2_06\bin>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  lizongbossl
您的名字与姓氏是什么?
  [tomcat5.5.x]:  tomcat5.5.x
您的组织单位名称是什么?
  [jakarta]:  jakarta
您的组织名称是什么?
  [apache]:  apache
您所在的城市或区域名称是什么?
  [hzcity]:  hzcity
您所在的州或省份名称是什么?
  [gdp]:  gdp
该单位的两字母国家代码是什么
  [CN]:  CN
CN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN 正确吗?
  [否]:  y
 
输入<tomcat>的主密码
        (如果和 keystore 密码相同,按回车):
(必须密码一致,因此直接回车)
然后再把userhome(例如:C:\Documents and Settings\lizongbo\)下的.keystore复制到
tomcat的conf\目录下。
 (例如:D:\jakarta-tomcat-5.5.x\conf\.keystore )
配置jakarta-tomcat-5.5.x\conf\server.xml
加上
    <Connector port="8443"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
           keystoreFile="conf/.keystore"
           keystorePass="lizongbossl"> <!--与先前设置的密码一致-->
    </Connector>
8.禁止文件目录列表,
修改jakarta-tomcat-5.5.x\conf\web.xml,把listing设置为false
 
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
 9.指定了自己的javaEncoding
(参考 http://gceclub.sun.com.cn/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/ch6-4.html )

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
                <init-param>
            <param-name>javaEncoding</param-name>
            <param-value>GB18030</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
 10.添加rar,iso等的mime-type映射
避免在浏览器里直接打开。
<mime-mapping>
<extension>mht</extension>
<mime-type>text/x-mht</mime-type>
</mime-mapping>
<mime-mapping>
        <extension>rar</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>iso</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ape</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>rmvb</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ico</extension>
        <mime-type>image/x-icon</mime-type>
    </mime-mapping>
10.1对html静态页面设置编码
<!--  修改下面两行以支持静态超文本的自动编码 
  -->
 
 <mime-mapping>
  <extension>htm</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
 <mime-mapping>
  <extension>html</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
  </web-app>
 
11.添加welcome-file-list,并调整顺序。
 <welcome-file-list>   
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

posted @ 2007-07-20 16:07 Javaphua 阅读(785) | 评论 (0)编辑 收藏

 

 java中判断字符串是否为数字的三种方法
1用JAVA自带的函数
public static boolean isNumeric(String str){
  
for (int i = str.length();--i>=0;){   
   
if (!Character.isDigit(str.charAt(i))){
    
return false;
   }
  }
  
return true;
 }

2用正则表达式
public static boolean isNumeric(String str){
    Pattern pattern = Pattern.compile("[0-9]*");
    return pattern.matcher(str).matches();   
 }

3用ascii码

public static boolean isNumeric(String str){
   for(int i=str.length();--i>=0;){
      int chr=str.charAt(i);
      if(chr<48 || chr>57)
         return false;
   }
   return true;
}
posted @ 2007-06-05 14:17 Javaphua 阅读(121449) | 评论 (23)编辑 收藏