经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
e[fOm0^.c 1XMR7liE 一、开发环境配置
1J4Pnl+hN -(8I ?{"4i 第一步:下载j2sdk和tomcat:到sun官方站(
http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
jk{(o09 %)x9u$4W2 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
<aJQV)]\ wDZ<UP=X 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
12KC4,C&1i =d<RgwscJ JAVA_HOME=c:\j2sdk1.5.0
(Z
SaAn), classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
@)?]u
U"L path=%JAVA_HOME%\bin
&~
y)b`r cKe %P|8 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
6(Pan% `X6JZxGyd public class Test{
&$F<]]& public static void main(String args[]){
W(`QbNJ System.out.println("This is a test program.");
#_@cI(P }
3KkfQ{ }
xi=ApwNj pn
gto 将上面的这段程序保存为文件名为Test.java的文件。
TZAd{EZa ~,b^f{7`! 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
t?W}=%M[ {`QHg O javac Test.java
X#lNS+&=' java Test
P5h|* ?= d9#Vq=H / 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
(Q^sK\ 0N.h: 21(4 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
!hBpon 4hL%J=0: CATALINA_HOME=c:\tomcat
bf"'xn9 CATALINA_BASE=c:\tomcat
i#]e&Bru5 GQqGrUQ*} 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
6lSz/V; CWn\KR classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
sU ZA!sv G@[8P?M=Z 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
5&&4- 2J ZR"P 第三步:建立自己的jsp app目录
0=j }` lW&(dn)} 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
~2w&+@dV% 2.在webapps目录下新建一个目录,起名叫myapp;
+jGHR&A t 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
/SD}`GxH 4.WEB-INF下新建一个文件web.xml,内容如下:
cqS :Zq {ALEK <?xml version="1.0" encoding="ISO-8859-1"?>
nqcq3o*B <!DOCTYPE web-app
J:L+q}A PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
MzJCiX^ "
http://java.sun.com/dtd/web-app_2_3.dtd">
AK2Gm-hHK <web-app>
&AQqI <display-name>My Web Application</display-name>
fu/8r%:h <description>
hmO2s/~ A application for test.
lLx!_h </description>
q@|+`>h </web-app>
{^VtD W$rWg>4> 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
~RhUg~o <html><body><center>
%ou,|Dww Now time is: <%=new java.util.Date()%>
py*22Ua^ </center></body></html>
Dcl$?
wA"@t 6.重启Tomcat
!Zz;;Z K}~$h,n 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
zX>W 8P >lQo _p(; 第四步:建立自己的Servlet:
x sryXex; I`kfe`_ 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
9DxHdpOk w,LtQhQ package test;
CLR1CGnn7 import java.io.IOException;
8i# import java.io.PrintWriter;
Rh!UbEPjC import javax.servlet.ServletException;
Ms{";qiG import javax.servlet.http.HttpServlet;
(vs<Fo|] import javax.servlet.http.HttpServletRequest;
*'<AwG& import javax.servlet.http.HttpServletResponse;
Kg[OUBv public class Test extends HttpServlet {
'wND protected void doGet(HttpServletRequest request, HttpServletResponse response)
.DCHc,DxA throws ServletException, IOException {
RgJ@J/p" PrintWriter out=response.getWriter();
Ys"wG B> out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
U
v2.Jo/Q out.flush();
?[D3-4 }
F "@% 7xy }
aF{_"X2 X 'Ss#s>g 2 .编译
<n2@;`D 将Test.java放在c:\test下,使用如下命令编译:
8+zW:0"[ WRh5v8Wz0 C:\Test>javac Test.java
Jh26!%<Bl Q]:O#;"< 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
g{8RPw] /WrB>w 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
f98,2I(>`+ |3*9+4]a 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
^9g$/8[^c_ z;c>Q\Q 编辑后的web.xml如下所示,红色为添加的内容:
bz4Gzp'6k '0<d9OlJ} <?xml version="1.0" encoding="ISO-8859-1"?>
g 9_ zkGc7 <!DOCTYPE web-app
Rn1oD3w PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
.Ro/ioq "
http://java.sun.com/dtd/web-app_2_3.dtd">
LD$5KaOW <web-app>
b+rxin". <display-name>My Web Application</display-name>
,T/Gv;wa2
<description>
D -}>28 A application for test.
zTz}H*U </description>
`c`VIq?
<servlet>
]-=L7a <servlet-name>Test</servlet-name>
|.<_$[v[x <display-name>Test</display-name>
p~pD`'% <description>A test Servlet</description>
fqNh\~kja <servlet-class>test.Test</servlet-class>
[GwAm>k </servlet>
-9Q(3$} <servlet-mapping>
i! .]U@{k <servlet-name>Test</servlet-name>
|LHJRP-Z <url-pattern>/Test</url-pattern>
:ym?]EL4o </servlet-mapping>
ke4E1T-1n </web-app>
#EzBB*kP
Dd3f@b[WX 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
\Z-th,t y7Po$ )8l 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
3uL
f0D F'bwXb** 注意:修改了web.xml以及新加了class,都要重启Tomcat
}K {1Bm@S iHa?b2=) 第四步:建立自己的Bean:
_jWs(OmJ E$d#4x 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
8fC4j`! OgQdyU package test;
/<LZt<K public class TestBean{
e~r/!B5X private String name = null;
XJ18(Q|w' public TestBean(String strName_p){
=|t-0'RsN this.name=strName_p;
UhxM85M;x }
X Xque- public void setName(String strName_p){
dkQ4D2W*\ this.name=strName_p;
TCr4-"`r-{ }
^Hd[+vAvR public String getName(){
]a $6QS return this.name;
HiCh:IP7>/ }
EX8JlA\-W }
5mH[|_ _^NX`<& 2 .编译
> p`, hFtV\xFK 将TestBean.java放在c:\test下,使用如下命令编译:
.<x6U*)\O
+8Xjk\Hi C:\Test>javac TestBean.java
I!x.bp~V! KX)n+{
然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
L2}\Ah"[ /6x&%G:m# 3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
8 Rx@_ ]\,?u / 4 .新建一个TestBean.jsp文件,文件内容为:
["-rDyP {)YbksrJ{ <%@ page import="test.TestBean" %>
@rl5k( <html><body><center>
r- 8Awa <%
7!O"k# TestBean testBean=new TestBean("This is a test java bean.");
Z,&