首先环境变量其实就是一组变量,就如你在java定义的变量一样,它的作用是给系统和应用程序提供参数。具体到细节,例如path,它是系统中的一个重要 变量,它告诉系统和应用程序一些系统必备的程序的存储位置,例如你想在命令行窗口中使用ipconfig命令查看自己的ip地址,可是系统怎么知道 ipconfig这个程序在什么位置呢?答案是通过path,从头到尾挨个的取出每个参数来试,例如path中有个C:\WINDOWS \system32的话,那吹它就加上ipconfig,看能不能找到程序,现在也就是说变成了C:\WINDOWS\system32 \ipconfig如果能找到它的话就运行,不能的话就返回“‘ipconfig’不是内部或外部命令,也不是可运行的程序或批处理文件。”

而对于java来说,你在命令行里面输入java xxx的话系统同样不知道java这个exe文件的位置,同样需要你显式的指出,java这个程序在哪呢?在你的jdk安装路径\bin文件夹里面,也就 是说要想运行java,path必须指向bin文件夹。还有一个classpath,现在系统能找到java这个程序了,但是仅仅这样的话,你在命令行中 输入javac的话,又出现错误了,也许有人会说你不是说系统通过path找到了,应该能找到我设置的bin文件下的javac程序呀?这里要说的是,虽 然你已经设置好了path但是系统还是有些东西找不到,什么东西呢?Java的类库文件,大家知道java的源程序上面总是有很多的形如import java.xx.xx;的语句,这就是引用的java的类库,也许有人会问,我的程序中没有这一句话呀,对,很多简单的程序都没有,例如经典的 “Helloworld”里面就没有,对它是没有显式的引用,但是在每个java文件中都隐藏了这么一句“import java.lang.*”;现在问题就出来了,程序怎么才能找到这个lang这个包并且把里面的类导进去呢?显然只通过path是不行的,那么就只能另外 的定义一个变量来指向类库文件。它就是classpath,为什么叫这个名字呢?不为什么,就规定了必须用这个名字,它必须叫这个名字,可以理解为它是在 java的jdk中定义的一个static的变量,既然已经定义好了,你只用给它赋值就得了,然过jdk调用的时候它没有值,就是说你没有新建一个 classpath并且给它赋值,那么没办法,就给你脸色看。

另外还有一点就是可能有人会问JAVA_HOME变量是一个什么变量呀,这个变量在目前的阶段来说就是一个我们自己定义的变量,它作用就是让你省劲,例如 你的jdk安装的路径很深,譬如安装到了“C:\Program Files\Sun\Java\jdk1.6.0_02\”下边然后你在设置path的时候必须输入“C:\Program Files\Sun\Java\jdk1.6.0_02\bin”,设置classpath的候再来一次“C:\Program Files\Sun\Java\\jdk1.6.0_02\lib\tools.jar”,你不累系统都烦了,而且path、classpath也变得很 长了,下一次设置的时候就变得很麻烦了,要找半天才能找到自己要改的地方,现在JAVA_HOME就出现了,你可以在系统中定义一个名为 JAVA_HOME的环境变量,它的值是:“C:\Program Files\Sun\Java\jdk1.6.0_02”,那么在设置path的时候就可以直接写了,在path的值里面添加:“%JAVA_HOME% \bin”,就是这么简单,相应的classpath为:“,;%JAVA_HOME%\tools.jar”是不是简洁多了呢?而且你的安装路径变了或 者写错的时候要改也只用改这一处,不用把path和classpath同时修改。到了这里我继续叨叨几句,JAVA_HOME可以不大写,甚至名字都可以 变成“sxy”,“a”,或者你能想到的其他,反正只要在引用它(就是系统在看到有%%围绕的变量时就把它替换成变量的值,例如上面的 “%JAVA_HOME%\bin”系统看到这个的时候就把%JAVA_HOME%变成了C:\Program Files\Sun\Java\jdk1.6.0_02)保证名称一样(大小写不敏感),但是如果以后你要是使用tomcat等软件的时候,它会检查你的 JAVA_HOME变量,所以最好保持这个名字不变,但是你如果现阶段不用,就随便了。现在明白了,也许有人会说我啰嗦,没办法放出一个环境变量的例子 来:
在系统变量下新建JAVA_HOME和Classpath

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_02;

 Path=%JAVA_HOME%\bin



Classpath=.;%JAVA_HOME%\lib\tools.jar;另外一点就是最好把你放置自己写的程序的位置也加进来。例如你平常程序都放在d:\source下,

安装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,在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://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" />