经常看到
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 ):
第一步:下载 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 中访问 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
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.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! 等着你呢。