经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
?=HoU3 8v=t-GJW 一、开发环境配置
=GiN~$d 8~O0P= 第一步:下载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);
:4LWm<P \3hFb,/4k 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
L(C0236r Dv4 H^ 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
nB}eJD| .\3gb6S} JAVA_HOME=c:\j2sdk1.5.0
6H;\Jt classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
HHOqJb{8S path=%JAVA_HOME%\bin
kPO+M~+n "
BU4\QF- 接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
H8m[:K]_H V|/N-3M public class Test{
`X B$t?xi public static void main(String args[]){
[}}q/7Lp System.out.println("This is a test program.");
sWi4+PAM0 }
Sae*VvT6 }
N,*'")k9 vtc%MG1 将上面的这段程序保存为文件名为Test.java的文件。
Ga pM~~ /!60oV4p0 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
Q@*9|6- ?!3u?Kd javac Test.java
O8-Z >; java Test
a%QgL&_5 anORoK. 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
u]]mbER*t# u_b6u@r7 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
n;>r FS*J8) CATALINA_HOME=c:\tomcat
"
^!=e72 CATALINA_BASE=c:\tomcat
F3x*dq2 cb/$P!j7 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
qV-1aaA &
sXMB classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
^Of\l:q* m]}EVa_I`/ 接着可以启动tomcat,在IE中访问
http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
Bm6tf}8 ~RV9'v4 第三步:建立自己的jsp app目录
'"h}l` (aB:P03 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
9j5B(_J^ 2.在webapps目录下新建一个目录,起名叫myapp;
Ix0#eoj 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
:J+ANIRI 4.WEB-INF下新建一个文件web.xml,内容如下:
N5tFEV'G %~0]o@LW7 <?xml version="1.0" encoding="ISO-8859-1"?>
!lp7}[k<y <!DOCTYPE web-app
J@J`) PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
&7Xsn^opku "
http://java.sun.com/dtd/web-app_2_3.dtd">
hK3Twzte <web-app>
V2g"5nYT <display-name>My Web Application</display-name>
'G`xD3 E3, <description>
|_a^+!P A application for test.
BT
f </description>
y4H/CH$% </web-app>
r'@7aT&_ msOE#QL6a 5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
6HH:K0j3' <html><body><center>
?}C8_I|4~ Now time is: <%=new java.util.Date()%>
gUiZv8C </center></body></html>
%-|$7?~ Z'd]oNF 6.重启Tomcat
'a~F'FN$ d^"|ESQEU 7.打开浏览器,输入
http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
drp< f1`l8 VI.Cmw~S 第四步:建立自己的Servlet:
$M1;d1e6' -y/Y%]%0 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
T6\d] w~n+hhMF package test;
p#>,{ import java.io.IOException;
V! .I> import java.io.PrintWriter;
H<qz
rO import javax.servlet.ServletException;
tNAmA import javax.servlet.http.HttpServlet;
-JclEp import javax.servlet.http.HttpServletRequest;
)?(_vrc< import javax.servlet.http.HttpServletResponse;
SN$3cg]z public class Test extends HttpServlet {
,5x9o"N! protected void doGet(HttpServletRequest request, HttpServletResponse response)
yEVnG`
1
throws ServletException, IOException {
_gpf9ad PrintWriter out=response.getWriter();
v}@Uc-( out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
HYNp vK out.flush();
~SwGZ }
gj
}Vnv1[ }
xk^`4; /8/N 2 .编译
]Bz.6OR 将Test.java放在c:\test下,使用如下命令编译:
Z/OERO
]v_u2f' C:\Test>javac Test.java
t;y@;?~ cHnd
gUW] 然后在c:\Test下会产生一个编译后的servlet文件:Test.class
|"}rC >+ A|m0.'/ 3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
QjTs$#eMW {Ut,xi 4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
V} h)e3X $wk(4W8E 编辑后的web.xml如下所示,红色为添加的内容:
R l)g[s Y*S(uqM <?xml version="1.0" encoding="ISO-8859-1"?>
:S+Bu*OyH <!DOCTYPE web-app
0.B'Bvn=s2 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
m4R:KjN* "
http://java.sun.com/dtd/web-app_2_3.dtd">
$-39O3 <web-app>
^+Vf*YY
8 <display-name>My Web Application</display-name>
/^`do3a} <description>
LXRIo2ynuw A application for test.
o3le[6C/8= </description>
A=np?wc <servlet>
6L-3cxqf\ <servlet-name>Test</servlet-name>
U \F ?{/ <display-name>Test</display-name>
ayLINpL <description>A test Servlet</description>
}50s\H._C <servlet-class>test.Test</servlet-class>
cY|@s?3NND </servlet>
z
AY
-Y <servlet-mapping>
E.CG <servlet-name>Test</servlet-name>
d;).| .}P <url-pattern>/Test</url-pattern>
eqyUI|e </servlet-mapping>
WogCt, </web-app>
RuOse9 <"7Wb"+ 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
Pe@*')o* >{"E~U 5 .好了,重启动Tomcat,启动浏览器,输入
http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
= @lM* Uf|@h 注意:修改了web.xml以及新加了class,都要重启Tomcat
rW*[sLl3 2Xv$ 第四步:建立自己的Bean:
6<YAoo t]ID 1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
0 l+Jq k
jx<;##R8 package test;
:79u2wSh public class TestBean{
]'0}fuV private String name = null;
<Q_E3lQy/ public TestBean(String strName_p){
48.4GwL7 this.name=strName_p;
1CS\1[E }
i8=+<d public void setName(String strName_p){
<qBM+m$|) this.name=strName_p;
Q|7m9~ }
|[$TT$Fb public String getName(){
|zy` ]p9 return this.name;
z :A_ }
:VX2&* }
$]J<^{v s=<65 2 .编译
a@C}0IP) CZkmd 将TestBean.java放在c:\test下,使用如下命令编译:
{-hu""x> 5GURfG3{ C:\Test>javac TestBean.java
F1%^,; 4!-/m7%eF 然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
w$jSlgUHy) BoHNni 3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
L$@qEsO $Q= S`z= 4 .新建一个TestBean.jsp文件,文件内容为:
^g"% :4zO ZSLvr-,D <%@ page import="test.TestBean" %>
*EFuK8 ; <html><body><center>
$ou/ Fn <%
e1ExB# TestBean testBean=new TestBean("This is a test java bean.");
$NBQv6#: %>
~pwk[Q! Java bean name is: <%=testBean.getName()%>
/Nhc|x6zQ </center></body></html>
* b"aJ<+ V%voe 5 .好了,重启Tomcat,启动浏览器,输入
http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
z -'e<v;w /lc4oXG8 这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。
oW6b3Q/B |)[&V3+| jvm应填写到
R?#.z# c:\j2sdk\bin
UTO$L|K r<