经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
HG)$W (!?%"e 一、开发环境配置
S_^;#=_c =iB$4d2 第一步:下载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);
;Zc0imYL qxcTY|& 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
N8,g~?r^ "Z~@"JLb% 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
t3*.Bm:^ }2^qM^,0 JAVA_HOME=c:\j2sdk1.5.0
QIdml*Np?H classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
%$bhg&} path=%JAVA_HOME%\bin
NBAOVYK zn0%%x+!g 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
oTr,zRL e.Q'l/g public class Test{
;iQw2XhT public static void main(String args[]){
s2F[v:|Wq System.out.println("This is a test program.");
/XNC^!z6Js }
-S&d5(R }
Zqv ,s6lB0 将上面的这段程序保存为文件名为Test.java的文件。
B,` `2\B N7GZ'-t^Er 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
HdTB[( b8[
ayy javac Test.java
-~*kAh java Test
!Q,Dzv"7 c Y+n 6k5 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
NC YOY vst;G-ys 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
e`+ej-o, `Gx
5=Bm; CATALINA_HOME=c:\tomcat
gc
b8eB, CATALINA_BASE=c:\tomcat
}*!_M3O JdUI:( 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
9H53H"5q VMS3Q)Ul classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
A;e"_$yt8 `=kiqF2P} 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
d7uS[tKqg #Fgybokm 第三步:建立自己的jsp app目录
2Ky|+s[`[ {bC(>k|CQ 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
fP- =wd 2.在webapps目录下新建一个目录,起名叫myapp;
.Q{VY]B^ 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
uLfk>&hc 4.WEB-INF下新建一个文件web.xml,内容如下:
FuAs$; K;`W4:, <?xml version="1.0" encoding="ISO-8859-1"?>
-zZb]8\E <!DOCTYPE web-app
x]608I
T PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+:/.\3v71 "
http://java.sun.com/dtd/web-app_2_3.dtd">
P%d3fFzK <web-app>
WDr=+=Zj <display-name>My Web Application</display-name>
{cjp8W8hS <description>
@wVDe\% , A application for test.
9lkl-b6xG </description>
.3SP#mI </web-app>
!
GtF%V -I z,vd 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
TxKNDu
<html><body><center>
dsK*YY jH Now time is: <%=new java.util.Date()%>
;Y`8Ee4vH </center></body></html>
!u/c'ZLZ> i-4?]h k 6.重启Tomcat
CUft @Y ?p-& 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
5kHU'D VkId6k:>6C 第四步:建立自己的Servlet:
umpa!q}; YllW2g: 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
!G<gp4Js+N dV^ck+ package test;
j*~z.Q | import java.io.IOException;
2ppJ;P{k import java.io.PrintWriter;
[vnxp/v/< import javax.servlet.ServletException;
|-%dN }O import javax.servlet.http.HttpServlet;
yb\!4ml import javax.servlet.http.HttpServletRequest;
,o0[^-b< import javax.servlet.http.HttpServletResponse;
s-F3(mc( public class Test extends HttpServlet {
_Om5wp=: protected void doGet(HttpServletRequest request, HttpServletResponse response)
R-2Abyts2 throws ServletException, IOException {
0OnqKgf PrintWriter out=response.getWriter();
}_Y\6fcd out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
a,:Nlr3 out.flush();
Sg(\+j= }
51;Bc[)% }
eMP0BS" <AHdz/N 2 .编译
v5FfxDvw 将Test.java放在c:\test下,使用如下命令编译:
mAe)Hy % \=(U tro C:\Test>javac Test.java
bE jQMlb m$g{& 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
=7S\-{ VT;cz6"6b4 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
_z#S8Y mhNgXp)_56 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
>^v,,R8j }To-c' 编辑后的web.xml如下所示,红色为添加的内容:
B"t4{1/ z:08;}t <?xml version="1.0" encoding="ISO-8859-1"?>
1NAtg*` <!DOCTYPE web-app
`R-VJR 2" PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
)$O'L7I n& "
http://java.sun.com/dtd/web-app_2_3.dtd">
3)l<'~"z< <web-app>
o%h[o9i <display-name>My Web Application</display-name>
&hWYw+yH\ <description>
Q:]v4/MT A application for test.
oCKn </description>
+@do<2l] <servlet>
&
5'cN <servlet-name>Test</servlet-name>
/vqsp0e"H <display-name>Test</display-name>
3B4C@ { <description>A test Servlet</description>
xfqU
atC <servlet-class>test.Test</servlet-class>
zB6&),[,v </servlet>
T1RICIf1F <servlet-mapping>
%D ,(S-Uj <servlet-name>Test</servlet-name>
!!])~+4pP <url-pattern>/Test</url-pattern>
d81[hT}q </servlet-mapping>
h3p~\%^ </web-app>
8>:u%+C1c f=>iiv 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
V)mi1H|m ?u{D-by%& 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
f%%'M.is D)eRk0iC 注意:修改了web.xml以及新加了class,都要重启Tomcat
6h&i<-> ~tB9kLFG 第四步:建立自己的Bean:
` yM9XjEl> TEbE-h0)] 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
"@itn nwJc%0 package test;
%:Zp7O2UB' public class TestBean{
Lnl-han% private String name = null;
?'OL2~ public TestBean(String strName_p){
ro^T L this.name=strName_p;
a*o k*r }
lR^W*w4y public void setName(String strName_p){
zzX9Q: this.name=strName_p;
{<2q }
l,
-q:8 public String getName(){
NOtwgZ- return this.name;
Y_nlIcu }
-M-y*P) }
f/i[?
gw rU7t~DKS 2 .编译
9|>5;Ej T{Yk/Z/}? 将TestBean.java放在c:\test下,使用如下命令编译:
*35o$P46 31mlnDif C:\Test>javac TestBean.java
rmdG"s DE$T1pFV 然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
N||s# )GJlQ1x 3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
z_:r&UP`" S@C"tHD
4 .新建一个TestBean.jsp文件,文件内容为:
<##aD3) w6[$vib' <%@ page import="test.TestBean" %>
o q cu<