Chenyikai'Blog

技术生活点滴,反省>思考>品位

BlogJava 联系 聚合 管理
  1 Posts :: 2 Stories :: 0 Comments :: 0 Trackbacks

2008年5月24日 #

第一步:下载j2sdktomcat:到sun官方站点
    最新的jdk1.6.04tomcat为6.0,建议jdk1.4以上,tomcat4.0以上
第二步:安装和配置你的j2sdktomcat:执行j2sdktomcat的安装程序,然后设置按照路径进行安装即可。
1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2): 
JAVA_HOME=c:\j2sdk1.4.2 
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.;一定不能少,因为它代表当前路径
path=%JAVA_HOME%\bin 

 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:

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_HOMEc:\tomcat
CATALINA_BASEc:\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目录,可以看到ROOTexamples, 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://yexin218.cublog.cn");
 %>
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" />

posted @ 2008-05-24 23:57 xdfox 阅读(184) | 评论 (0)编辑 收藏

2008年5月22日 #

  [转]:JAVA学习,是一条漫长的道路     

       我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EE的API,开始写起程序来了。如此急就章的学习方式,程序员基础能力根本就不够,对于对象导向精髓不能掌握,对于Java语言内部的运作机制毫无所悉,对API的整体连贯性懵懵懂懂。 

    当然,我们也不好因此责怪程序员,毕竟软件技术变动得太快。公司不可能给程序员足够的训练之后才开始做计画。程序员一下子被指派使用A技术,还没弄懂A技术是怎么回事,又被指派使用B技术,而且都是缝缝补补的方式边学边用,每次都像是全新的开始,遑论技术能量的累积。 

    我很庆幸的是,我不太有这样的困扰。因为我是资讯工程系出身(而且我大学时上课一向很认真),所以理论基础稳固,学习新技术对我来说不是难事。我就读大学时,周遭许多同学都瞧不起数据结构、程序语言、操作系统这些所谓「学院派」的课程,以为这些课程一点都不实用。他们认为到了外面公司,这些信息科系所学的一切都派不上用场,「只要会Visual Basic和数据库就够了」。这种偏差的心态,恐怕会使得他们在知识经济时代吃足了苦头。 

    另外还有一派同学很瞧不起程序设计工作,他们告诉我,像我这样会写程序的人,未来进了社会「还不是被他们这些走管理的人踩在脚下」。所以,他们很轻忽理工课程的学习,甚至还有人相当热衷「成功学」,认为这是迈向成功的快捷方式,却因此把学校的课业弃之不顾。我不敢相信有人竟然如此地本末倒置。 

    前一类的人太过于短视近利,后一类的人太过于好高骛远。我一直很不能理解这些人的想法为什么会这样,或许是因为社会环境的风气使然。我很庆幸我到目前还没被社会的大染缸给玷污了(最好这辈子都不要)。我不认为我的学习方式是一种典范,但是一路走来,倒也颇有进展。许多读者来信问我的学习历程,虽然我个人的学习方式不见得适用于每个人,但或许还有一些参考价值(特别是对于那些有志进入信息行业的年轻学子),我想透过本文简短地叙述一下。 

    我一向是采用先深后广(也称为Bottom-Up,Deep-First)的学习方式。比方说,当我在学A技术的时候,学到一半发现需要B技术的基础,我会到书局找出一两本B技术的书,然后把A先搁着,开始看起B技术的书。甚至,我在技术书籍上看到不太熟悉的英文句构时,我会找出一本英文文法书详细读过。这种先深后广的学习方式,适合学生时代全面地自我能力提升,但不适合业界人士。试想,老板要你开发的ERP系统已经延迟了,你怎有空研究J2EE原文书中的英文文法。先深后广的好处是,学习很扎实;缺点是有时候会偏离主题太多。有一次我发现我原本是要学某软件技术,几次「先深后广」下来,我居然看起老子的道德经了。 

    在技术上,我一直都是一个喜新厌旧的人,很少有软件技术能让我持续研究半年以上,我几乎每隔几个月就要换一次领域。Java 能让我持续这么久,也正是因为Java的领域广。透过Java,我的技术视野变开阔了。这些年来,我换过的 Java 相关领域包括了:虚拟机器、数据库、企业运算、多媒体、2D/3D图学、网络.…..等。 

    我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量,理论和实务之间的藩篱被打破了,学习效率倍增。 

    我多年来的学习触觉很敏锐,我常常会抢先一步学好有前瞻性的技术。比方说,Java还在beta时、UML还在0.8时、XML还在draft时,我都已经透过网络下载技术文件回来每天抱着猛读了。而在Java、UML、XML当红之后,我已经差不多把这些技术都摸熟了。 

    至于该学什么技术,我的判断方式是以技术的优劣来决定。优秀而有独到之处的技术是我的最爱,虽然这类的技术不见得会在市场上胜出,但学习这些技术所得到的启发,对于技术能量的累积与能力的提升会有相当大的助益。至于技术差,但市场需求甚殷者,我还是懒得碰。(好吧!我承认我曾因为市场需求的缘故而学过MFC。越清楚MFC的技术细节,越是讨厌它,这真是个不堪回首的经验。) 

    我通常只看英文技术资料,毕竟大部分第一手的技术信息都是以英文来传播。所以我很早就开始阅读英文技术资料。读英文技术资料的好处是,就算没有学到书中的专业知识,至少也累积培养了英文阅读能力,我一直都是抱着这样的态度。一开始是正襟危坐的看英文技术书籍,字典、翻译机随侍在侧;几年下来,现在是躺着看、趴着看、很随性地看英文技术书籍,因为看英文技术书籍变成一种习惯了。现在,我可以用很快的速度吸收英文技术书籍的知识(有人叫我「吃书的机器」,我把这称号当作是一种恭维)。 

    近年来,我花在写程序的时间不多,因为时间对我来说很宝贵,而写程序很浪费时间。对初学者来说,大量地写程序是必要的,但过了某个阶段之后,写程序所带来的技术能力成长已经到了极限,还不如多花一点时间看书,学新技术和新观念。
我从国小时期开始学习写程序,迄今已有近十八年的时间;采取上述的方式密集学习,迄今也有近十年的光景。迩来数年,我接触的领域越来越广,而且学习速度正在加快,我认为是以前那些努力植下的根苗开始成长了。看看现在的我,或许你会觉得羡慕,但回顾这段学习的岁月,何尝不是一条漫长的道路。 
posted @ 2008-05-22 10:24 xdfox 阅读(100) | 评论 (0)编辑 收藏

2007年10月13日 #

装上了matlab~~~~启动还没5秒M窗口就自动关闭~起初还以为中毒了,晕倒~解决办法~~
首先请确认你的MATLAB的文件夹中有如下文件:atlas_Athlon.dll(AMD系列的请用这个,其他的CPU也有相应的问题件,就在MATLAB文件夹下),这些是对应处理器的数值运算优化文件
然后请按如下步骤进行:
1、右击我的电脑,选择属性.
2、在\"高级\"选项卡中点击\"环境变量\"
3、在系统变量下面添加如下内容(按\"新建\"):
例如:
变量名:BLAS_VERSION
变量值:X:Matlab7\bin\win32\atlas_Athlon.dll
~~over
posted @ 2007-10-13 14:23 xdfox 阅读(391) | 评论 (0)编辑 收藏

仅列出标题