经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
j dut4 nFc {B$2"q/~ 一、开发环境配置
:@
uIxa$[ n_[i0x7# 第一步:下载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);
xtV[p4U ,cTgR78' 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
"yb WDWu z,;;=V6j 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
>hMUr*j =Je>`{J JAVA_HOME=c:\j2sdk1.5.0
~yJ4qp- classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
%:6?Y%`*[ path=%JAVA_HOME%\bin
AWr}"r?s T~4mQuYi 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
yT /EHmJ 3EFD%9n public class Test{
m/&i9A public static void main(String args[]){
4\X||5.c System.out.println("This is a test program.");
suJ_nb }
S[M4ukYK }
A(6xg)_XQ -H(vL= 将上面的这段程序保存为文件名为Test.java的文件。
H(u+#PIIw Lf}8qB#Y 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
?dy~mob e&Y0}oY javac Test.java
'E;W java Test
b=##A 8@K^|xeQ 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
q?{}3 dPC c|p,/L09L 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
Aw^yH+ae Rz <OF^Iy CATALINA_HOME=c:\tomcat
+}7fg82) CATALINA_BASE=c:\tomcat
#5CI)4x0! dZ2%S''\ 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
7 &)])
{Q vL_zvXA classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
M.%shrJ/ #mc!Wt10 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
kN9yO5h7 ND]S(C"? 第三步:建立自己的jsp app目录
.:1qK<vz uZjI?Z.A 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
a_T,t'6 2.在webapps目录下新建一个目录,起名叫myapp;
vS;'}N 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
Y)HbxFF`/ 4.WEB-INF下新建一个文件web.xml,内容如下:
B+VuUt{S tiQ;#p7% <?xml version="1.0" encoding="ISO-8859-1"?>
<HoAj"xf <!DOCTYPE web-app
q|#MB7e/ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
mMw;0/n "
http://java.sun.com/dtd/web-app_2_3.dtd">
eMMx8E)B <web-app>
pu;3nUH <display-name>My Web Application</display-name>
9/TY\?U <description>
<bmLy_": A application for test.
hq_~^/v\ </description>
)@7DsV/M </web-app>
Ub)I66 66:ALFwd7 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
M-9gD[m <html><body><center>
6vz1*\:H~ Now time is: <%=new java.util.Date()%>
Q|hm1q </center></body></html>
~uaP$*B[ (i`(>I.(/ 6.重启Tomcat
tm)*2lH6 ~t/JCxa 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
tB6k|cPC hY;_/!_ 第四步:建立自己的Servlet:
`| 9K u $C_M&O} 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
ai ftlY WYIw5jzC package test;
F|eu<^"$ H import java.io.IOException;
B4W\
t{ import java.io.PrintWriter;
2"/yEg*= import javax.servlet.ServletException;
7 ^I:=qc72 import javax.servlet.http.HttpServlet;
ey1Z/| import javax.servlet.http.HttpServletRequest;
2_pz3<,\ import javax.servlet.http.HttpServletResponse;
%`\]Y']R public class Test extends HttpServlet {
9U<Hf32 protected void doGet(HttpServletRequest request, HttpServletResponse response)
%xg"Q| throws ServletException, IOException {
?ApRJm:T PrintWriter out=response.getWriter();
9{eBgdC out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
cH"@d^"+q| out.flush();
X ,
ZeD }
"E PD2,%S }
jXIEp01 p5*lEz|$ 2 .编译
J/Q|uRpmqr 将Test.java放在c:\test下,使用如下命令编译:
j7/(sf l]5% C:\Test>javac Test.java
|-kEGLH[*V jxY-u+B 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
$Ub}p[L U6{dI@|B 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
1j3=o }m +WF.wP?y 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
0=[0|`x *8\(FVyG^ 编辑后的web.xml如下所示,红色为添加的内容:
@-6?i) hZuYdV{'h <?xml version="1.0" encoding="ISO-8859-1"?>
b=LF%P <!DOCTYPE web-app
<5ZJ]W PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
TETsg5# "
http://java.sun.com/dtd/web-app_2_3.dtd">
Dd/}Ya(Gi <web-app>
h~ha <display-name>My Web Application</display-name>
rSyaZ6# <description>
0j@Ix EPs A application for test.
9~Xg#{ </description>
Fk$@Yy+}e <servlet>
Y><(? <servlet-name>Test</servlet-name>
D@hmO]5c <display-name>Test</display-name>
XiG88Kwv <description>A test Servlet</description>
<xF?~7 <servlet-class>test.Test</servlet-class>
`pYE[y+ </servlet>
N(R,8GF5G <servlet-mapping>
3
jh|y, <servlet-name>Test</servlet-name>
wo(j}O- <url-pattern>/Test</url-pattern>
+89o`u_l% </servlet-mapping>
N1?
iiv </web-app>
C4_t_N 4A~)b"j5 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
T 46{*( V_]-`?S 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
oNSz&