经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
e~6>8YO+7j ng[LSB*57Y 一、开发环境配置
u6*0%
Km ~(.&nysZ- 第一步:下载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);
0(A&m , S\2@~*{-8 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
qcBamf ,@8*c0Y~<! 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
gI+dyoh ;
t"&qaG{ path=%JAVA_HOME%\bin
^`9O$.'@ . H8 6f != 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
A] f^9F@ %^;rYn3 public class Test{
*adwCiB public static void main(String args[]){
9%?a\#C System.out.println("This is a test program.");
,Q+.kAh !G }
s`dUie}y< }
l+^4y_ Qf@ha 将上面的这段程序保存为文件名为Test.java的文件。
!<0 `c ,GF(pCZzG 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
fvV5G,lD3h sN/8OLc javac Test.java
CYhSCT!-? java Test
6{[ uCxxl KzZRFEA_ 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
x 4`RKv2m Fma#`{va 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
/t _QA [T2!,D. CATALINA_HOME=c:\tomcat
F<2qwP CATALINA_BASE=c:\tomcat
`M,Gsy1h >ti)m >f 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
(U|WP%IM' Ap<j;s4` classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
Ce@"+k+w poS=8mN8; 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
;fm>
\f m]ALW0 第三步:建立自己的jsp app目录
W@vCMy!
4{D^ 4G 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
eeOG(@@o( 2.在webapps目录下新建一个目录,起名叫myapp;
M4L<u,\1s 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
-^$IjK-N 4.WEB-INF下新建一个文件web.xml,内容如下:
<
_<?p& \|R\pS}4 <?xml version="1.0" encoding="ISO-8859-1"?>
k6|/ ik9C <!DOCTYPE web-app
7,R
~2ss5z PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
na]
9-~4 "
http://java.sun.com/dtd/web-app_2_3.dtd">
=O~Y6| <web-app>
<e$%m(] <display-name>My Web Application</display-name>
7vB6IF <description>
vF'Y; M A application for test.
D'"l%p </description>
Ak@y"!wnM </web-app>
xc1-($Q, ?p &Xf>K 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
R"O,2+@<. <html><body><center>
`_<O_ Now time is: <%=new java.util.Date()%>
aj$&~-/
R </center></body></html>
M HKnHPv &bCk`]j: 6.重启Tomcat
~4`3p=$ bHioM{S 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
RWXN C=P}@| K 第四步:建立自己的Servlet:
[LKzH!
gq&jNj7V 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
}_9yemP vH>s2\V" package test;
'],G!U( import java.io.IOException;
lQ?_1H~4= import java.io.PrintWriter;
;% l0Ml> import javax.servlet.ServletException;
_?;74VWA
import javax.servlet.http.HttpServlet;
fI-f Gx import javax.servlet.http.HttpServletRequest;
Eyg F,>.4 import javax.servlet.http.HttpServletResponse;
C&RZdh,$ public class Test extends HttpServlet {
pw=o}-P{ protected void doGet(HttpServletRequest request, HttpServletResponse response)
O`0\f8/.? throws ServletException, IOException {
OBnvY2)Ri PrintWriter out=response.getWriter();
uB+:sX-L out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
\-{2E out.flush();
NnO%D^P] }
u~1 ,88&U }
.N Z eZmwF@ 2 .编译
kwrM3nq 将Test.java放在c:\test下,使用如下命令编译:
*~8g:;u Kd7 Lpw1u] C:\Test>javac Test.java
\!Ap< \kC'y9k 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
X ="]q|Z zKNac[: 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
He}"e&K h%Uq 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
(T =u_oe MQlGEJ 编辑后的web.xml如下所示,红色为添加的内容:
>xIb|Yp)& *:Y9&s^6j <?xml version="1.0" encoding="ISO-8859-1"?>
256V
xn <!DOCTYPE web-app
QTjnXg?Ri PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
U]O>DM^' "
http://java.sun.com/dtd/web-app_2_3.dtd">
rh6 e <web-app>
X6n8Bi9Ik <display-name>My Web Application</display-name>
L#`X;: <description>
,o [FUi(#@ A application for test.
dG}*M25 </description>
k~=P0"; <servlet>
p}|<EL}Z9 <servlet-name>Test</servlet-name>
H.)J?3 <display-name>Test</display-name>
G PL^!_ <description>A test Servlet</description>
G(#EW+ <servlet-class>test.Test</servlet-class>
!r9~K^EI </servlet>
3tCT"UvTD <servlet-mapping>
v'SqH,=d <servlet-name>Test</servlet-name>
Ba9"IXKH <url-pattern>/Test</url-pattern>
}C5Fvy6uz </servlet-mapping>
/_tN&[ </web-app>
<(BIWm* ])vqXjN6" 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
8hZc#b; 8FgF6ip 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
r
['zp=9 )4jS} 注意:修改了web.xml以及新加了class,都要重启Tomcat
@Qd5a(5W M s"X0Jx} 第四步:建立自己的Bean:
X92I==-w nC#SnyUO 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
{"\pMY'7 X^d}eWP`I package test;
_`xhP-,`S public class TestBean{
s~g]`/h$r private String name = null;
UDHMNubB public TestBean(String strName_p){
#kAk
d-QY6 this.name=strName_p;
?)e6:T( }
'o1lJ?~kH public void setName(String strName_p){
z"V`8D this.name=strName_p;
j/hm)*\io }
68nPz".X public String getName(){
UX)QdT45Mh return this.name;
2o~UA\:+= }
e(jD[q }
"_ON0._(/ Ob|v$C 2 .编译
W
ZW:q EP6@5PNZ 将TestBean.java放在c:\test下,使用如下命令编译:
KZ|p_{0& ^-s`$lTp C:\Test>javac TestBean.java
;:P}s4p ab*O7v 然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
W(PNw2 u\=yY. 3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
&&te(DC\ pwo @
S" 4 .新建一个TestBean.jsp文件,文件内容为:
- 4B&