JSP安装问题

J2SDK和TOMCAT的安装及配置

经常看到jsp的初学者问tomcat下如何配置jsp、servlet的问题,于是总结了一下如何tomcat下配置jsp、servlet,希望对那些初学者有所帮助。

第一步:下载j2sdk和tomcat:到sun官方站点

最新的jdk为1.5,tomcat为5.5,建议jdk1.4以上,tomcat4.0以上

第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后设置按照路径进行安装即可。

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_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.jar;

接着可以启动tomcat,在IE中访问/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、打开浏览器,输入mon\lib里面的servlet.jar文件拷贝到C:\JDK\jre\lib\e

xt中,再次编译,就没有问题了。

然后在Tomcat目录里面的C:\Tomcat\webapps\ROOT里面按如下的文件结构:

ROOT\index.html

ROOT\welcom.jsp

ROOT\WEB-INF\lib\MyServlet.jar

(如果你的servlet的.class打成了.jar文件,

则放在lib下面)

ROOT\WEB-INF\classes\HelloWorld.class

(把上面生成的HelloWorld.class文件放在这个里面)

然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found

怎么回事呢?

Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册,

用EP打开这个web.xml文件,

把下面这段程序

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/servlet/HelloWorld</url-pattern>

</servlet-mapping>

替换成

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/servlet/HelloWorld</url-pattern>

</servlet-mapping>

为什么呢?

因为 这样的结构

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

表示指定包含的servlet类.

而以下的结构

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/servlet/HelloWorld</url-pattern>

</servlet-mapping>

表示指定HelloServlet应当映射到哪一种URL模式。

在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。