经常看到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中访问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!等着你呢。
闽公网安备 35060202000074号