经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
vII{i ?a3wBy 一、开发环境配置
%*}rLn"? Yr/$92( 第一步:下载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);
T2MC`s|` )b #5rQ 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
hqvhnqQk V!+iq*Z|= 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
3"7Q[9Oj b^Z2Vf:k] JAVA_HOME=c:\j2sdk1.5.0
G;}WZy classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
D[/fs`XES path=%JAVA_HOME%\bin
?@9v+Am! L@{'J 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
s|e.mZk/ D{6y^@/ public class Test{
?"mZb#% public static void main(String args[]){
}bv+^# System.out.println("This is a test program.");
PPB/-F]rr }
!iKW1ks }
ID2->J ~tA ^[tK 将上面的这段程序保存为文件名为Test.java的文件。
FC] *^B %-blx)Pc 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
T0tX%_6` Y2x|6{ # javac Test.java
~j'D%:[+VH java Test
1`K-f
m) i90 X0b-A 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
'z;(Y*jb Xx{| [2` 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
iz# R)EB/g N!(mM;1X) CATALINA_HOME=c:\tomcat
^A@f{g$KB+ CATALINA_BASE=c:\tomcat
%xlpOR4 %6320 x 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
%NrH\v{7Q ?.SGn[ classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
(Lgea v:P]o9Oj8 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
C8|V?bL X\h.@+f= 第三步:建立自己的jsp app目录
|@X^_L.! %]_: \! 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
7HDc]&z 2.在webapps目录下新建一个目录,起名叫myapp;
Oj c Tu 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
+ +}!Gfc?s 4.WEB-INF下新建一个文件web.xml,内容如下:
$Y|OGZH8E @&}}tALi <?xml version="1.0" encoding="ISO-8859-1"?>
09-8Xzz <!DOCTYPE web-app
Wlhh0uy PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>K9Ia4I, "
http://java.sun.com/dtd/web-app_2_3.dtd">
fEZuv?@ <web-app>
+c))fPuV <display-name>My Web Application</display-name>
e"t0 rScA <description>
$Q/@5f'T`9 A application for test.
/aI@2] |~ </description>
yjjq&Cn </web-app>
+>#SNZ[ 2T&MVl!% 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
2R&\qZ< <html><body><center>
7#R)+ Now time is: <%=new java.util.Date()%>
|#2WN- </center></body></html>
{ LvD\4h" SUc%dpXZa 6.重启Tomcat
UH!(`Z\C F0<)8{s 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
]%Eh" G?$@6 第四步:建立自己的Servlet:
Ab@G^SLX irAXXg 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
!q2zuxq!R D.a>i?W package test;
61S;M8tNv import java.io.IOException;
Y"mFUW4 import java.io.PrintWriter;
Keh=>K)T import javax.servlet.ServletException;
~bZ$ d{o^ import javax.servlet.http.HttpServlet;
G4@r_VP \ import javax.servlet.http.HttpServletRequest;
*D?_,s import javax.servlet.http.HttpServletResponse;
"U}kp#) public class Test extends HttpServlet {
l
r&7 qu protected void doGet(HttpServletRequest request, HttpServletResponse response)
Vgm'&YT throws ServletException, IOException {
IEhD5? PrintWriter out=response.getWriter();
|8k1Bap`z out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
=
wD#H@ h out.flush();
/Q;wz!V$ }
|UB$^)Twb }
s * (a 6$R9Y.s>Z 2 .编译
=-2~>B 将Test.java放在c:\test下,使用如下命令编译:
<,M"kF: M`cxxDj&j C:\Test>javac Test.java
g$K\rA 5s[nE\oaG 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
J# (AX6 gHe:o` 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
\V>5)Rn N{v)pu. 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
=LaEEL Ek L2nI 编辑后的web.xml如下所示,红色为添加的内容:
^p3GT6 "W7|Xp <?xml version="1.0" encoding="ISO-8859-1"?>
`WayR^ 9 <!DOCTYPE web-app
ab6I*DbF PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
''nOXl "
http://java.sun.com/dtd/web-app_2_3.dtd">
).71gp@& <web-app>
iww/ s <display-name>My Web Application</display-name>
Ixa0;nxj <description>
>jI.$%L$ A application for test.
s)E \ </description>
sSW'SE?,< <servlet>
N9w"Lb <servlet-name>Test</servlet-name>
4,)9@-|0R <display-name>Test</display-name>
fp [gKRSF <description>A test Servlet</description>
q_b!+Y <servlet-class>test.Test</servlet-class>
pl]|yIZ </servlet>
HA,o2jZ?In <servlet-mapping>
,#)d <servlet-name>Test</servlet-name>
dbby.% <url-pattern>/Test</url-pattern>
WE) *~5 </servlet-mapping>
,CqWm9 </web-app>
cw<IL *z~,|DQ(A 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
3x[Cpg, t7]j6>MK3q 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
F rckA <X)\P}"L4 注意:修改了web.xml以及新加了class,都要重启Tomcat
/*#o1W?wQZ ;5tOQ&p%v 第四步:建立自己的Bean:
Jq/itsg 2^o7 ^S 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
g{'f%bkG tkj-.~@g0' package test;
>.
K public class TestBean{
>5FTBe[D private String name = null;
\FsA-W\X public TestBean(String strName_p){
0/GBs~P this.name=strName_p;
kvwnqaX }
iHPsRq! public void setName(String strName_p){
$*0-+h this.name=strName_p;
]hS:0QE }
m4/qxm"Dx: public String getName(){
qZd*'ki< return this.name;
`Z;Z^c }
'[#y| }
-pC'C%Q
|3]/CrR_ 2 .编译
eAlOMSL\ \;&;K'
将TestBean.java放在c:\test下,使用如下命令编译:
GAj%o]}u Blxa0&3 C:\Test>javac TestBean.java
MJGT|u8O& _LaG%* R6 然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
3x;UAi+& WoTeIkM9 3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
gv`_+E{P 9S%5Z> 4 .新建一个TestBean.jsp文件,文件内容为:
;\pVc)\4" aj5HtP- <%@ page import="test.TestBean" %>
O)q4^AE$ <html><body><center>
g#$ C8k <%
(h0@;@@7hW TestBean testBean=new TestBean("This is a test java bean.");
Hhknjx %>
A)U"F&tvm Java bean name is: <%=testBean.getName()%>
+YvF+E </center></body></html>
#tV1?q LSC[S: 5 .好了,重启Tomcat,启动浏览器,输入
http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
Gn2{C% m!xvWqY+ 这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。
]d1'5F][H "-&K!Vfs jvm应填写到
V#ELn[k c:\j2sdk\bin
Vgj#-7bdyi 5&