JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)

链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html

JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)

 

sun推出的JSP(Java Server Pages)是一种执行于服务器端的动态网页开发技术,它基于Java技术。执行JSP时需要在Web服务器上架设一个编译JSP网页的引擎。配置 JSP 环境可以有多种途径,但主要工作就是安装和配置Web服务器和JSP引擎。

下面就以Tomcat作为JSP引擎,配合Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方案。

一、相关软件介绍

 

1、 J2SDK:Java2的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK。

2、 Apache服务器:Apache组织开发的一种常用Web服务器,提供Web服务。

3、 Tomcat服务器:Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,所以我们一般将Tomcat与Apache配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能。并且Tomcat本身就是Apache的一个子项目,所以Tomcat对Apache提供了强有力的支持。对于初学者来说,Tomcat是一个很不错的选择。

4、 mod_jk.dll:Apache组织Jakarta项目组开发的使Apache支持Tomcat的插件。有了这个插件,Tomcat能够和Apache进行无缝连接。

5、 tc4ntiis.zip:Apache组织Jakarta项目组开发的使IIS支持Tomcat的插件。

二、 配置前的准备

(一)准备一个测试用的JSP网页

打开文本编辑器,比如记事本,输入下列代码,并保存为test .jsp(注意扩展名为。jsp)。

以下为引用的内容:

<HTML>

<HEAD>

<TITLE>JSP测试页面</TITLE>

</HEAD>

<BODY>

<%out.println(“<h1>Hello World! </h1>”);%>

</BODY>

</HTML>

(二)安装J2SDK

不管哪种方案,在安装和配置JSP引擎之前必须先完成J2SDK的安装。

1、安装J2SDK

在Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到f:\j2sdk 1.4.1;

2、 添加环境变量

(1)如果你的操作系统是Win 98,可以用记事本直接编辑Autoexec.bat,添加下面命令行:

以下为引用的内容:

PATH=%PATH%;f:\j2sdk1.4.1\bin

SET JAVA_HOME=f:\j2sdk1.4.1

SET CLASSPATH=f:\j2sdk1.4.1\lib\tools.jar

保存后,重新启动计算机,这样所添加的环境变量才会有效。

(2)如果你的操作系统是Win2000,那么右击“我的电脑”,在弹出菜单中选择“属性”→“系统特性” →“高级” →“环境变量”, 弹出环境变量对话框,就可以编辑系统的环境变量了。添加PATH、JAVA_HOME和CLASSPATH三个变量,变量值同上。

三、 JSP环境的配置方案

(一)方案一:J2SDK+Tomcat

在这种方案里Tomcat既作为JSP引擎又作为Web服务器,配置比较简单。 网页教学网

1、安装Tomcat

直接运行下载的jakarta-tomcat-4.0.1.exe,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找J2SDK的位置。例如安装到f:\tomcat4。

2、配置Tomcat的环境变量

添加一个新的环境变量TOMCAT_HOME,变量值为f:\tomcat4,添加方法同J2SDK环境变量的配置方法。

3、测试默认服务

设置完毕后就可以运行Tomcat服务器了。用f:\tomcat4\bin\startup.exe启动Tomcat,用f:\tomcat4\bin\shutdown.exe关闭。(如果在执行startup.exe或shutdown.exe的时候提示Out of Environment Space错误,选择DOS 窗口的菜单中的“属性”→“ 内存”→“ 常规内存”, 把“初始环境”由“自动”修改成“2816”就可以了。)

启动Tomcat后,打开浏览器,在地址栏中输入http://localhost:8080(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。

4、测试项目 网页教学网

把刚才准备好的test.jsp放在f:\Tomcat\webapps\examples\jsp目录下, 在地址栏中输入http://localhost:8080/examples/jsp/test.jsp,如果浏览器中显示“Hello World!”,则说明你的JSP环境配置成功了!

由于Tomcat本身具有web服务器的功能,因此我们不必安装Apache,当然它也可以与Apache集成到一起,下面介绍。 网页教学网

(二)方案二:J2SDK+Apache+Tomcat

虽然Tomcat也可以作Web服务器,但其处理静态HTML的速度比不上Apache,且其作为Web服务器的功能远不如Apache,因此把Apache和Tomcat集成起来,用Apache充当Web服务器,而Tomcat作为专用的JSP引擎。这种方案的配置比较复杂,但是能让Apache和Tomcat完美整合,实现强大的功能。

注意,因为IIS Web服务器默认使用80端口,而Apache的默认端口也是80,所以如果你使用的是Win2000操作系统,而且预装了IIS,为方便请在进行以下操作之前先将IIS服务停掉。

1、安装Apache

运行下载的apache_2.0.43-win32-x86-no_ssl.exe,按照向导安装到f:\Apache2。(注意,Apache2.0.43安装成功后,必须将f:\Apache2\htdocs目录下的index.html.en改名为index.html,这样在测试默认服务时才会正常显示Apache的欢迎界面)。

2、测试Apache默认服务

安装完后,Apache服务器就已经自动运行了。打开浏览器,在地址栏中输入:http://localhost(Tomcat默认端口为80),如果在浏览器中看到Apache的欢迎界面,说明Apache工作正常。

3、 按照方案一的步骤安装Tomcat,并保证它正常运行。

4、 将下载的mod_jk-2.0.42.dll复制到f:\Apache2\modules目录下。

5、 建立mod_jk模块工作所需要的工作文件。

打开文本编辑器,输入下列语句:

以下为引用的内容:

workers.tomcat_home=f:\tomcat4 (让mod_jk模块知道Tomcat)

workers.java_home=f:\j2sdk1.4.1 (让mod_jk模块知道JSDK)

ps=\

worker.list=ajp13 (mod_jk的模块版本)

worker.ajp13.port=8009 (mod_jk的工作端口)

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

把上面的语句以workers.properties为文件名保存在f:\Tomcat4\conf目录下(注意:文件的扩展名是。properties)。

6、 配置Apache。  用文本编辑器打开f:\Apache2\conf\httpd.conf

1)找到“DirectoryIndex”,在index.html.var后面再添加index.jsp;

2)在httpd.conf的最后加入下面这段代码(括号里为解释) Webjx.Com

以下为引用的内容:

LoadModule jk_module modules/mod_jk-2.0.42.dll

(装载mod_jk模块,用于处理Apache和Tomcat的连接)

JkWorkersFile “f:/tomcat4/conf/workers.properties”

(指出mod_jk模块工作所需要的工作文件workers.properties的位置)

JkMount /servlet/* ajp13

JkMount /*.jsp ajp13

(将所有servlet 和jsp请求通过Ajp13的协议送给Tomcat,让Tomcat来处理)

3)添加完毕后保存。

7、 配置Tomcat

用文本编辑器打开f:\Tomcat4\conf\server.xml。因为Tomcat4默认不启用Ajp13,所以查找到如下这段代码:

以下为引用的内容:

<!--

<Connector className=“org.apache.ajp.tomcat4.Ajp13Connector”

port=“8009” minProcessors=“5” maxProcessors=“75” acceptCount=“10” debug=“0”/>

-->

把注释符号<!-- --> 删掉就可以启用Ajp13了。

然后保存,现在Tomcat和Apache的整合配置基本完成了。

8、 整体测试

把test.jsp放在f:\Tomcat\webapps\examples\jsp 目录下,依次启动Apache2,Tomcat4。打开浏览器,在地址栏里输入http://localhost:8080/examples/jsp/test.jsp,如果浏览器中出现“Hello World!”,则Tomcat重新配置后工作正常;在地址栏中输入http://localhost/examples/jsp/test.jsp,若与http://localhost:8080/examples/jsp/test.jsp的结果相同,那就表明Apache和Tomcat整合成功了!

(三)方案三:J2SDK+IIS+Tomcat Webjx.Com

Windows平台下最常用的Web服务器无疑是IIS,正常情况下IIS不支持JSP,我们可以通过使用一个IIS到Tomcat重定向插件,使IIS能够将所有的JSP请求发送到Tomcat执行,可以使IIS增加处理JSP的功能。如果你已经习惯了使用IIS,那么可以尝试这种配置。(如果您已经安装过Apache服务器,为了便于后面的操作请先卸载Apache。)

1、按照方案一的步骤安装Tomcat,并保证它正常运行。(例如安装到f:\tomcat4); Webjx.Com

2、将下载的tc4ntiis.zip直接解压缩到f:\tomcat4目录下。查看配置所需要的文件,确保它们在以下位置:

f:\tomcat4\server\lib\ajp.jar

f:\tomcat4\server\lib\tomcat-util.jar f:\tomcat4\bin\native\isapi_redirect.dll f:\tomcat4\conf\ntiis\workers.properties f:\tomcat4\conf\ntiis\uriworkermap.properties f:\tomcat4\conf\ntiis\iis_redirect.reg

f:\tomcat4\log\iis_redirect.log Webjx.Com

3、用文本编辑器打开f:\tomcat4\conf\ntiis\workers.properties ,修改下列值为:

workers.tomcat_home=f:\tomcat4

workers.java_home=f:\j2sdk1.4.1

4、双击f:\tomcat4\conf\ntiis\iis_redirect.reg ,将此注册文件内的信息添加到注册表中,但是要修改log_file、worker_file 、worker_mount_file这三个键的键值,以适合你的环境(比如本文中的Tomcat就安装在f:\tomcat4,而不是默认的c:\tomcat4)。添加并修改完毕后如下图。

5、打开Internet服务管理器,在默认站点上添加一个新的虚拟目录,名称为jakarta,这个虚拟目录指向f:\tomcat4\bin\native ,并启动该默认站点。

6、在Internet服务管理器中用鼠标右键单击服务器名,选择“属性”→主属性中“WWW服务”的“编辑” →“ISAPI筛选器”选项卡,添加一个ISAPI筛选器,名字为Jakarta Redirect,可执行文件指定为f:\Tomcat4\bin\native\isapi_redirector.dll。在添加ISAPI过滤器后, Jakarta Redirect的状态是一个红色的向下的箭头,重新启动IIS服务,就会变成绿色的箭头。

7、编辑 server.xml 文件并保存(同方案二的第7步)。

8、重新启动IIS和Tomcat。

9、测试项目:把test.jsp放在f:\Tomcat\webapps\examples\jsp 目录下。打开浏览器,在地址栏里输入http://localhost:8080/examples/jsp/test.jsp,如果浏览器中出现“Hello World!”,则Tomcat重新配置后工作正常;在地址栏中输入http://localhost/examples/jsp/test.jsp,若与http://localhost:8080/examples/jsp/test.jsp的结果相同,那就表明IIS和Tomcat整合成功了!

 

 

分类: LAMP

转载于:https://www.cnblogs.com/wvqusrtg/p/5029813.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于JS获取select值的两种实现方法

前几天发了一篇关于javascript获取select值的方法&#xff0c;后来发现有另一种实现方法&#xff0c;所以就都发出来比较一下&#xff1a; 方法一&#xff1a;通过获取option标签的value值来确定&#xff1a; <!DOCTYPE html> <html> <head><meta charset…

c语言题库1

1. 用预处理指令#define 声明一个常数&#xff0c;用以表明1年中有多少秒&#xff08;忽略闰年问题&#xff09; #define time (365*24*60*60) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365) 2. 写一个“标准”宏MIN&#xff0c;这个宏输入两个参数并返回较小的一个。 #di…

FreeRTOS系列第19篇---FreeRTOS信号量

来自&#xff1a;http://blog.csdn.net/zhzht19861011/article/details/50835613 本文介绍信号量的基础知识&#xff0c;详细源码分析见《FreeRTOS高级篇6---FreeRTOS信号量分析》 1.信号量简介 FreeRTOS的信号量包括二进制信号量、计数信号量、互斥信号量&#xff08;以后简称…

mysql语法替换字符串

UPDATE ht_business_task SET url REPLACE ( url, &amp;, & )转载于:https://www.cnblogs.com/lz20150121/p/5030739.html

POJ1274 The Perfect Stall(二分图)

题意&#xff1a; 一些奶牛只有在特定的围栏中才能产奶&#xff0c;要求合理安排使能产奶的奶牛数达到最大。 要点&#xff1a; 二分图裸题&#xff0c;最近刚学了二分图&#xff0c;看下面的参考博客&#xff0c;写的比较好&#xff1a; 参考博客&#xff1a;匈牙利算法 15479…

蓝牙HCI剖析(一)

来自&#xff1a;http://blog.csdn.net/xiaoxiaopengbo/article/details/51334257 一.HCI介绍 HCI提供了访问bluetooth control的统一接口&#xff0c;通俗来讲&#xff0c;就是定义了特定的格式来控制蓝牙芯片来做相应的动作&#xff08;比如inquiry,connect,disconnect&#…

c语言题库2

96. struct name1{ char str; short x; int num; } struct name2{ char str;0 1 2 3 int num; 4 5 6 7 short x; 8 9 10 11 } sizeof(struct name1)? sizeof(struct name2)? 8、12 97. 读文件file1.txt的内容&#xff08;例如&#xff09;&#xff1a; 12 34 56 …

ASP.NET状缓存Cache的应用-提高数据库读取速度

ASP.NET状缓存Cache的应用-提高数据库读取速度 原文:ASP.NET状缓存Cache的应用-提高数据库读取速度一、 Cache概述 既然缓存中的数据其实是来自数据库的&#xff0c;那么缓存中的数据如何和数据库进行同步呢&#xff1f;一般来说&#xff0c;缓存中应该存放改动不大或者对…

2016年学习Linux决心书(老男孩教育在线课程班第二期)

我经过这4-5个月的学习后&#xff0c;我一定要达到月薪20&#xff2b;&#xff0c;为了达到这个目标我要付出如下10大行动&#xff1a;1.提前预习上课内容2.上课认真听讲&#xff0c;做好上课笔记3.课后认真做总结&#xff0c;完善笔记5.反复做实验&#xff0c;并写实验文档6.学…

WPF XAML 从零开始认识XAML

来自&#xff1a;http://blog.csdn.net/aoshilang2249/article/details/44158403 剖析最简单的XMAL代码: [html] view plaincopy <Window x:Class"MyFirstApplication.MainWindow" xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentati…

c语言题库3

143. 枚举元素本身由系统定义了一个表示序号的数值&#xff0c;从0 开始顺序定义为0&#xff0c;1&#xff0c;2…。如在weekday中&#xff0c;sun值为0&#xff0c;mon值为1&#xff0c; …,sat值为6。 main(){  enum weekday  {   sun,mon,tue,wed,thu,fri,sat  } a,b…

入门级----测试的执行、环境的搭建、每日构建、测试记录和跟踪、回归测试、测试总结和报告...

测试用例的准备&#xff0c;都是为了执行测试准备的。 测试环境的搭建 &#xff08;1&#xff09;测试数据&#xff1a;有些测试需要使用大批量的数据&#xff0c;例如容量测试、压力测试等。根据产品的具体测试要求&#xff0c;可能需要在数据库表插入大量的数据&#xff0c;准…

MFC读取配置文件GetPrivateProfileString

VC中 3 个主要 写入/读取配置文件ini的函数&#xff1a;bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);写入.ini文件&#xff1b;DWORDGetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpD…

UESTC 250 windy数 数位dp

题目链接 1 #include<bits/stdc.h>2 using namespace std;3 #define mem1(a) memset(a, -1, sizeof(a))4 #define ll long long5 int dp[20][20], digit[20], len;6 ll dfs(int len, int pre, bool fp, bool first) { //first表示前面的数是否全部为0&#xff0c; pr…

c语言面试题大全

C语言面试题大汇总 4. static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1.限制变量的作用域(DL:使其只在定义的当前文件中起作用&#xff0c;static是只能由与变量在同一个文件中定义的程序存取的全局变量。也就是说使全局变量成为文件的私有变量&#…

WindowsAPI详解——GetCurrentDirectory 获得程序当前目录

每个Windows程序都有一个自己的当前目录&#xff0c;默认是程序exe文件所在的目录。系统在给程序加载动态链接库文件(DLL)时先在程序当前目录里查找要加载的DLL&#xff0c;如果在此目录下没有找到系统便会去Windows目录下查找。在这儿我们主要将如何获得程序的当前目录&#x…

20151210小问题2

1、各浏览器下 scrollTop的差异 IE6/7/8&#xff1a; 对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 &#xff1b; 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop&#xff1b; Safari: safari 比较特别&#x…

限制MySQL Binlog的传输速率

最近一台核心库备库完成恢复后打开slave&#xff0c;导致主库传送binlog&#xff0c;瞬间占满网络&#xff0c;触发故障。 为了做一些限制&#xff0c; 给mysql在发送binlog的函数(mysql_binlog_send)里每隔一段时间sleep一次&#xff0c; 增加了两个参数&#xff1a; master_s…

sprintf用法详解

printf可能是许多程序员在开始学习C语言时接触到的第二个函数&#xff08;我猜第一个是main&#xff09;&#xff0c;说起来&#xff0c;自然是老朋友了&#xff0c;可是&#xff0c;你对这个老朋友了解多吗&#xff1f;你对它的那个孪生兄弟sprintf了解多吗&#xff1f;在将各…

掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求

转http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ 掌握 Ajax&#xff0c;第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 在 Web 请求中使用 XMLHttpRequest 多数 Web 应用程序都使用请求/响应模型从服务器上获得完整的 HTML 页面。常常是点击一个按钮&#xff0…