当前位置: 首页 > 图文教程 > 网络编程 > JSP > Tomcat的Servlet配制

JSP
搭建Eclipse+MyEclipse开发环境
卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!
一个jsp+AJAX评论系统
JSP 多个文件打包下载代码
JSP 动态树的实现
jsp 重复提交问题
J2ME/J2EE实现用户登录交互 实现代码
访问JSP文件或者Servlet文件时提示下载的解决方法
JSP EL表达式详细介绍
JSP 报表打印的一种简单解决方案
jsp 自定义标签实例
AJAX自学练习 无刷新从数据库后台取数据显示
AJAX 自学练习 请求与显示
AJAX 自学练习 无刷新提交并修改数据库数据并显示
jsp 文件上传浏览,支持ie6,ie7,ie8
JSP application(return String)用法详例
jsp form表单方法示例
JSP request(return String)用法详例
JSP forward用法分析实例代码分析
JSP JavaBean的setProperty属性

JSP 中的 Tomcat的Servlet配制


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 66 ::
收藏到网摘: n/a

 JSP + Servlets 编程环境的建立与实现

// Win2000 Server + Java 2(JDK1.4.0)+ Apache1.3.23 + tomcat-4.0.3 + webapp-module-1.0 篇 //

说明:
目前网络上有各种配置JSP编程的方法,如使用Jserv+Apache+Tomcat、JSDK+IIS等。但做为个人学习
之用,本人首推Apache+Tomcat。但目前网络上有许多配置的方法,大多数很麻烦,如使用mod_jk等。而且
那些方法用在此处最新的发行版软件上都不适用(本人试过,你可试试,注意在windows系列中,若和
Tomcat4.0结合的话,Apache1.3.23是最稳定的版本,Apache1.3.6或Apache2.0都会出问题)。
Java 2 (jdk1.4.0-b92)是sun 公司发行的<<最新版>>的Java编译器。下载地址为:www.sun.com/j2se/1.4/
Tomcat-4.0是Apache组织最新发行的支持JSP的Web服务器。下载地址为:
http://jakarta.apache.org/builds/jakarta-tomcat/release/ 
Apache1.3.23-win32是Apache组织发行了支持window 98/NT/2000的最稳定的Web服务器。下载地址为:
http://www.apache.org/dist/httpd/ 
webapp-module-1.0是Apache组织写的连接Apache和Tomcat较好的一种支持接口。下载地址为:
http://www.apache.org/dist/httpd/ 
 
配置方法:
 
一、安装win2000,如果你己经在使用它了,此步可不要。
 
二、A:下载Java2(jdk1.4.0),下载后的文件名为:j2sdk-1_4_0-win.exe。
双击运行,按默认安装到c:\j2sdk1.4.0目录下。jre将自动安装到
C:\Program Files\Java\j2re1.4.0下,Jre是运行Java程序必需的支持环境。
B:安装好后,需要设置路径了:
方法如下:点击“我的电脑”右键--属性--高级--环境变量,在“系统变量”中
新建"JAVA_HOME"值为:C:\j2sdk1.4.0
注:下面前面带//的行与下下面带//的行选择一个做即可,即二者只需做一次即可以了.
//新建:CLASSPATH值为:
//C:\j2sdk1.4.0\lib\dt.jar;C:\j2sdk1.4.0\lib\tools.jar;C:\j2sdk1.4.0\lib\htmlconverter.jar;C:\Program Files\Apache Tomcat 4.0\\common\lib\servlet.jar
//注意要连着写,用“;”隔开;
//新建:JAVA_OPTS,值为空(什么也不写)
//新建:JAVA_ENDORSED_DIRS,值为:C:\Program Files\Apache Tomcat 4.0\bin;C:\Program Files\Apache Tomcat 4.0\common\lib
//注意要连着写,用“;”隔开;
//新建:_RUNJAVA,值为:C:\j2sdk1.4.0\bin\java
//新建:_RUNJAVAW,值为:C:\j2sdk1.4.0\bin\javaw
//新建:_RUNJDB,值为:C:\j2sdk1.4.0\bin\jdb
//以上这建的几个变量是以编译jsp和Servlets时所需要用的
然后,在此处双击path变量,在后面加上:;C:\j2sdk1.4.0\bin,以便在其它地方可以编译java文件。
C:测试JDK安装成功:
在C:\j2sdk1.4.0下建一个myjava目录,然后把C:\j2sdk1.4.0\demo\applets\Clock下的
clock.java和example1.html 拷到myjava目录下,然后执行:
>javac clock.java
>appletviewer example1.html
就可以看到弹出一个走动的时钟了,此时表明测试applet成功。
然后测试java application 
把下面的程序用记事本记入一个名字test.java的文件中,注意扩展名为.java。
public class test
{
public static void main(String args[])
{
System.out.print("hello world ,JDK setup successful!\n");
}
}
把此test.java文件放入myjava目录中,然后执行:
>javac test.java
>java test
就可以看到打出一行"hello world ,JDK setup successful!"文字,此时表明JDK就安装好了。
 
三、A:安装Tomcat-4.0,下载后的文件名字为:
jakarta-tomcat-4.0.3.exe,直接运行它并按它默认的目录安装到
C:\Program Files\Apache Tomcat 4.0下面。
B:配置TOMCAT路径:

1:点击“我的电脑”右键--属性--高级--环境变量,在“系统变量”
新建"CATALINA_HOME"值为:C:\Program Files\Apache Tomcat 4.0
//2:找到C:\Program Files\Apache Tomcat 4.0\bin\setclasspath.bat文件,把其中所有的%BASEDIR%
// 换成%CATALINA_HOME%
// 并找到其中的set CLASSPATH一项,改为:
// set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%CATALINA_HOME%\common\lib\servlet.jar
// setclasspath.bat文件是tomcat提供的一个设置库文件的批处理文件,它可以测试你的运行环境的
// classpath是否正确。对它修改后的内容应如下:
if not "%JAVA_HOME%" == "" goto gotJavaHome
echo The JAVA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:gotJavaHome
if exist "%JAVA_HOME%\bin\java.exe" goto okJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okJavaHome
if not "%CATALINA_HOME%" == "" goto gotBasedir
echo The CATALINA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:gotBasedir
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okBasedir
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okBasedir
rem Set the default Java options for all scripts
set JAVA_OPTS=
rem Set the default -Djava.endorsed.dirs argument
set JAVA_ENDORSED_DIRS=%CATALINA_HOME%\bin;%CATALINA_HOME%\common\lib
rem Set standard CLASSPATH
rem Note that there are no quotes as we do not want to introduce random
rem quotes into the CLASSPATH
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%CATALINA_HOME%\common\lib\servlet.jar
rem Set standard command for invoking Java.
rem Note that NT requires a window name argument when using start.
rem Also note the quoting as JAVA_HOME may contain spaces.
set _RUNJAVA="%JAVA_HOME%\bin\java"
set _RUNJAVAW="%JAVA_HOME%\bin\javaw"
set _RUNJDB="%JAVA_HOME%\bin\jdb"
:end
//若对批文件指令有一点了解的,可以很容易看明白上面的代码.
//以后在编译jsp,或servlet 或java文件时,总要先运行以上文件才能正确编译
注:上面前面带//的行与上上面带//的行选择一个做即可,即二者只需做一次即可以了.
C:配置Tomcat的配置文件,在C:\Program Files\Apache Tomcat 4.0\conf\server.xml中,此处不配置即可,若想配置,在下面再配它。
D:测试Tomcat安装成功:打开IE,在地址栏中输入:http://localhost:8080就可以看到Tomcat的页面了。
或输入http://xxx.xxx.xx.xxx:8080其中xxx.xxx.xx.xxx为你的win2000的IP地址。
E:如何配置Tomcat使它可以运行自己的JSP文件和Java Servlet,下面将详细说明:
1:配置Tomcat的server.xml文件使它支持自己的JSP文件。
用记事本打开conf下面的server.xml文件,找到其中的:
............
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
<!-- Tomcat Manager Context -->
<Context path="/manager" docBase="manager" 
debug="0" privileged="true"/>
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0" reloadable="true" crossContext="true">
...........
几行。然后在上面 
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->后面加上以下几行:
<Context path="/myjsp" docBase="ROOT/myjsp" debug="0" reloadable="true">
</Context> 
这样就在webapps目录(Tomcat的默认页面目录)下面的ROOT目录(Tomcat默认的页面根目录)下建了一个放自己JSP文件的目录myjsp,当然,在做以上几步之前,
你必须首先在ROOT目录下建一个空的myjsp目录。若想多加几个属于自己的JSP目录,则在上面用同样的方面添加即可。

2:测试自己的JSP文件
在myjsp目录中建一个文件名为:HelloWorld.jsp,用记事本编辑使其内容为:
<html>
<body bgcolor="white">
<%
String Msg="Welcome to Abner's JSP world!";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
</body>
</html>
保存文件,起动TOMCAT服务器,然后在浏览器中输入http://xxx.xxx.xxx.xx:8080/myjsp/HelloWorld.jsp即可看到输出了。
或输入http://xxx.xxx.xxx.xx:8080/myjsp/即可以浏览目录,然后点击文件即可。注xxx.xxx.xxx.xx是你的IP地址,也可是localhost。
注意:文件名是大小写区别的。

3:设置使Tomcat运行自己的Servlet
在ROOT下面的WEB-INF目录下建一个classes目录,然后用记事本打开ROOT下面WEB-INF目录中的web.xml
把web.xml的内容在<web-app>和</web-app>之间增加内容,使之为如下所示的web.xml内容:
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<description>
This servlet plays the "Hello World Example" role.
just a Hello World program!
</description>
<servlet-class>hello</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout> <!-- 30 minutes -->
</session-config>
</web-app>
以上的web.xml即是对servlet进行的最简单的声明,它声明了一个叫hello的servlet,用做下面我们测试用.
web.xml中
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>的几行是声明在浏览器中以servletname.do来浏览该servlet,此处可用localhost:8080/hello.do来浏览或者是http://localhost:8080/sss.do来浏览,sss是任何字符。就是说*表示任何字符。
此处的*.do是任意设置的,也可以设置为*.pl等。
也可用
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping>来替代,此时就是用servlet名来浏览该servlet,此处即是localhost:8080/hello
还可以用
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/servlet/111</url-pattern>
</servlet-mapping>来替代,此时就是用路径名和servlet名来浏览该servlet,此处即是localhost:8080/servlet/111,总之<url-pattern></url-pattern>之间的是你访问该servlet的路径。

 
4:测试自己的servlet
在WEB-INF下面的classes目录中建一个名为hello.java的文件,输入它的内容如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class hello extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void destroy()
{
super.destroy();
}
public void service(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException
{
resp.setContentType("text/html");
PrintWriter out=new PrintWriter(resp.getOutputStream());
out.println("<html>");
out.println("<head><title>helloworldExample</title></head>");
out.println("<body>");
out.println("Hello! This is My first Servlet program!");
out.println("</body>");
out.println("</html>");
out.close();
}
}
然后到DOS下,进入classes目录中,运行:
>javac hello.java
即可看到在classes目录下产生一个hello.class文件,若此处编译有问题,则请检查上面设置classpath和path时是否正确设置。
然后在浏览器中输入http://xxx.xxx.xxx.xx:8080/hello.do来看到该servlet运行的结果了。
其中xxx.xxx.xx.xxx为你的IP地址。
至此你就配置好了自己的jsp 和 servlet运行环境了。
下面讲如何和Apache联接起来使用。
 
四、A:安装Apache ,去下载一个Apache安装文件,下载后的文件名为:
apache_1.3.23-win32-x86-no_src.exe,直接运行它并按它默认的目录安装到
C:\Program Files\Apache Group\Apache下面。
注意:在安装此版本的Apache时,系统会自动找到你的Servername(你的计算机名),并自动设置端口
号为80,并要求你填写administrator的联系E-mail地址,一切默认即可。
B:配置Apache,用记事本打开C:\Program Files\Apache Group\Apache\conf下的http.conf文件,
找到: #Listen 3000
#Listen 12.34.56.78:80
两行,把前面的#号去掉,把以上两行改为:
Listen 80
#Listen xxx.xxx.xx.xxx:80
其中xxx.xxx.xx.xxx为你的IP地址。然后找到port一行,并确认它后为:80;然后找到
ServerName一行,并确认它后面跟的是不是你的计算机名如:worker16.soft.com(注意此处名称要搞
清,下面还要用到),其中worker16为你的计算机标识名,soft.com为你的win2k所在的域名。
C:到此,你的Apache就好了,测试它:在IE中输入:http://xxx.xxx.xx.xxx看看是不是出现了Apache默认的目录 
页面。
 
五、用mod_webapp把Apache和Tomcat结合起来,使Apache支持JSP功能。
A:去www.apache.org把mod_webapp for windows下载回来,下载回来的文件是:
webapp-module-1.0-tc40-windows.zip。把它解压缩到一个目录如test中。
B:把test目录中的libapr.dll拷到C:\Program Files\Apache Group\Apache下面,注意此目录是Apache安
装的目录。此目录下同时还有lib、libexec、bin、logs等目录,即libapr.dll要放到Apache安装的根
目录下。
C:把test目录中的mod_webapp.so文件拷到C:\Program Files\Apache Group\Apache\modules下面。
D:用记事本打开C:\Program Files\Apache Group\Apache\conf\http.conf文件,在文件的"最后面"加上
以下几行:
LoadModule webapp_module modules/mod_webapp.so
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples/
E:用记事本打开C:\Program Files\Apache Tomcat 4.0\conf\server.xml文件,找到文件最后面的以下几行:
<!-- Define an Apache-Connector Service -->
<Service name="Tomcat-Apache">
<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps" acceptCount="10" debug="0"/>
<!-- Replace "localhost" with what your Apache "ServerName" is set to -->
把上面的Service name="Tomcat-Apache"一行中的“Tomcat-Apache”改为你的计算机名:
即上面设置的worker16.soft.com。改后的上面几行应为:
<!-- Define an Apache-Connector Service -->
<Service name="worker16.soft.com">
<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps" acceptCount="10" debug="0"/>
<!-- Replace "localhost" with what your Apache "ServerName" is set to -->
存盘。到此为止,就把Tomcat和Apache联接起来了。
 
六、1:测试Apache是否持JSP
打开IE,在地址栏中输入:http://xxx.xxx.xx.xxx/myjsp/HelloWorld.jsp
就可以看到页面,运行其中的例子,就可以看到JSP运行的结果了。
2:测试Apache是否持servlets
打开IE,在地址栏中输入:http://xxx.xxx.xx.xxx/hello.do
就可以看到页面,运行其中的例子,就可以看到servlets运行的结果了。
到此为止,一个编写JSP的系统环境就配置好了。是不是很容易,一切只要默认安装,然后小改一
部分,就一切搞定了。如果对于个人学习用,可以只安装Tomcat就可以了,即不进行上面的第四和第五步。

七:补充说明:
1:在运行自己的Servlet时,若改动了.java源程序,需要重新编译,并且需要重新启动Tomcat和Apache。
在需要时,还需要重新设置web.xml文件。在Tomcat和Apache配全使用时,需先启动Tomcat,再启动Apache才行。
2:在上面设置web.xml时,还可以向servlet传参数,具体如何做,请参考Tomcat的说明文件。
3:在上面提供的web.xml程序中采用:
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>*.do</url-pattern>
配置时,在访问时用http://xxx.xxx.xxx.xx:8080/hello.do和http://xxx.xxx.xxx.xx:8080/servlet/hello.do
两种方式均可看到输出,也就是说*也包括/。

4:补充说明如何配置Tomcat的用户和使用基于WEB的远程管理工具
请用记事本打开Tomcat安装目录下的conf目录下的tomcat-users.xml文件,可以看到如下内容:
<!--
NOTE: By default, no user is included in the "manager" role required
to operate the "/manager" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<tomcat-users>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
</tomcat-users>
找到行 <user name="tomcat" password="tomcat" roles="tomcat" />
把roles的值改为manager,即:roles="manager"
保存文件,重新启动TOMCAT,在浏览器中输入http://xxx.xxx.xxx.xx:8080/manager/command
这里command代表的是管理程序的名字,Tomcat4.0支持install,list,roload,remove,
sessions,start,stop等七个程序,每个程序都有自己的参数。至于如何调用这些程序,
请查阅Tomcat的Tomcat Manager Application说明。
例输入:http://xxx.xxx.xxx.xx:8080/manager/list
看看有什么输出吧!


- 作者: 管振宇 
整理修改:linuxing
注:我使用的是Win2000 Server + Java 2(JDK1.5.0)+ Tomcat5.5.9,与原作者不一样,故不需Tomcat与Apache的联合。                        ????Linuxing