JAVA编程:Windows下Apache+Tomcat+MySQL+jsp+php...
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。apache|js|mysql|window|服务器Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合设置履历总结1.moonsbird
标题:Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合设置履历总结
工夫:2004.8.19
最后宣布于东北交通年夜学锦城驿站
2.本文是作者进修几年来进修jsp/设置服务器情况的履历总结。能够转载,但请说明出处.
入手下手进修jsp好久了,网上有很多关于jsp整合的例子,但存在着很多成绩。
关于Apache+Tomcat+MySQL+jsp+php的整合,针对分歧的Tomcat和apache的版本,略微有些区分。
即便你E文很好,往看Tomcat和Apache的手册,也纷歧定能完整整分解功。寒假在家,网速不像
在交年夜那样---老黄牛拉破车样的慢,以是基于此作者查阅大批网上材料,汲其精髓,写这篇文
章但愿能为初学者供应便利,也能够作为妙手的参考手册。
jsp是优异的,它基于Java手艺,使用JavaBean/Servlet制造静态网站,Java壮大的面向对
象编程使Jsp相对php和asp有着得天独厚的上风。但进修jsp相对php和asp来讲是有难度的。
我想缘故原由之一就是jsp服务器情况的设置要辣手一些。关于静态网页制造,在交年夜asp曾很长时
间占有下风,不太多的“妙手”(大概良多人以为利用jsp的是妙手吧)利用jsp,交年夜对照乐成的
jsp网站如世纪星网(Tomcat)、收集教导学院网站(Resin)、交年夜招生失业网(Tomcat),服务器是
Linux9,运转绝对来讲对照不乱牢靠。Linux下的Apache和Tomcat整合我已经发过一篇文章,需
要的人人在锦城搜搜。linux和windows下整合头脑是不异的,使用apache来剖析*.html/*.htm
静态网页,当碰到*.jsp和servlet时,经由过程一个apache中的module把jsp页面抛给Tomcat(大概
resin)来处置,在linux下经由过程编译来制造这个module,要贫苦一些,本文经由过程现成的win下的一
个module来完成整合。
空话不说啦,上面入手下手整合:
所需软件
(1)j2sdk-1_4_2-windows-i586.exe
jdk的版本干系倒不是很年夜,不影响Apache和Tomcat的整合,设置情况变量时注重一些就好了.
(2)apache_2.0.49-win32-x86-no_ssl.exe
apache版本对整合影响不是太年夜,但最好使用此版本。
(3)jakarta-tomcat-4.1.30.exe
版本最好用这个版本,其他的我没有试过,有大概会招致整合不乐成。
(3)php-4.3.3-Win32.zip
是一个紧缩包,下载上去间接解压就好了。
(4)mod_jk.dll
这个module是放到apache中的module中往的,使用它来使Tomcat和Apache之间通信。
(5)mysql-max-3.23.46a-win.zip
数据库mysql,其版本对整合影响不年夜.
(6)jdbc驱动
mysql的驱动程序,和数据库毗连时用
以上软件我就不把down的地点贴出来啦,往网上搜baidu、北年夜天网,只需专心找,应当成绩
不年夜,假如真的找不到,发信找我要吧。
一.安装j2sdk
在Windows下,间接运转下载的j2sdk-1_4_1_01-windows-i586.exe文件,依据安装导游安装
到一个目次,比方安装到d:serverj2sdk
1.设置情况变量:
增加CLASSPATH变量
变量值为
./;%CLASSPATH%;D:serverj2sdk1.4.0libdt.jar;d:serverj2sdk1.4.0lib ools.jar;
d:serverj2sdk1.4.0in
这个设置包管java运转时能够找到class类。
2.增加JAVA_HOME变量,变量值为d:serverj2sdk1.4.0
3.在本来的path变量中,增加d:serverj2sdk1.4.0in,如许不管在那边运转java名令都行。
从头启动
cmd进进dos,运转java和javac看有无反响,假如呈现命令的匡助,那末java就安装乐成了
也能够运转一个java小程序看看.
publicclasstest{
publicstaticvoidmain(Stringargs[]){
System.out.println("看到这个申明java安装乐成!");
}
}
把上以程序寄存在test.java文件中,必定如果test.java才行,然后使用命令编译
javactest.java
假如没有毛病,则申明编译乐成,假如有错,在程序誊写准确的基本上,刚申明java情况变量没
有设置好,刚从头设置。假如编译乐成,则运转:
javatest
注重,不是javatest.java!假如无误,刚会打印出:
看到这个申明java安装乐成!
gxgx,jdk安装乐成啦!能够举行下一步.
二.apache安装
1.运转apache_2.0.49-win32-x86-no_ssl.exe,一起点"断定"和"承受"就行,路径选
d:serverapachegroupapache2。
此时apache已安装乐成,且已运转,在IE中输出http://localhost/能够看到
apache的主页。安装乐成!
2.修正httpd.conf
apache的设置文件是httpd.conf,位于apache根目次的下的conf文件夹下
(1).修正默许网站根目次:
在d:server下创建文件夹www,以此作为网站的根目次
DocumentRoot"D:/server/ApacheGroup/Apache2/htdocs"
改成DocumentRoot"D:/server/www
(2).修正字符设置
apache剖析中文网页时会发生乱码,
修正AddDefaultCharsetISO-8859-1为AddDefaultCharsetGB2312
(3).修正默许主页
当会见目次时,apache会主动导进的主页,优先级以前后按次为准
把DirectoryIndexindex.htmlindex.html.var改成
DirectoryIndexindex.htmlindex.jspindex.phpdefault.jspdefault.phpindex.html.var
(4).设置毛病页面
如许关于你的网站会更平安些,假如没设置,他人在你的网址后任意输出一个路径,会显现404错
误,而且会显现你的服务器版本号,服务器设置一览无余,为了不这类情形,能够设置毛病页面。
当呈现404毛病,即找不到网页时,把会见者导进到一个毛病页面
找到:
#
#Customizableerrorresponsescomeinthreeflavors:
#1)plaintext2)localredirects3)externalredirects
#
#Someexamples:
#ErrorDocument500"Theservermadeabooboo."
#ErrorDocument404/missing.html
#ErrorDocument404"/cgi-bin/missing_handler.pl"
#ErrorDocument402http://www.ckuyun.com/subscription_info.html
#
httpd.conf中的这一部分,#ErrorDocument404/missing.html
一行修正为ErrorDocument404/error/noFile.htm,个中noFile.htm为d:serverwwwerror下一个毛病文件,需
要你本人创建。当产生404毛病时,进进noFile.htm页面,能够提醒网页没有找到。如许就不成能看到
你的服务器软件信息了。也能够设置别的的毛病导向的页面,详细http呼应毛病编号请查阅相干材料。
从头启动apache,假如没不测,此时已安装乐成,把静态页面放到d:serverwwwerror目次下,看能不克不及乐成剖析。
任意输出一个:http://localhost/sdagasgdasasg.htm,看是否是导向你设置的404毛病,即noFile.htm毛病页面.
乐成了吧!
关于apache中其他参数的意义,我就不说啦,你能够往网上查,实在最好的办法是看httpd.conf中的正文部
分,已说得很分明啦。
好啦,到此apache安装乐成,你能够歇息一下,听首音乐,入手下手下一步的安装:)
三.php安装
解压php-4.3.3-Win32.zip,到d:serverphp目次下.下设置PHP和Apache,使之能剖析php程序。
将d:serverphp目次中的“php.ini-dist”更名“php.ini”,并复制到C:windowssystem32
(Win2K目次为:C:winntsystem32)下,在apache的设置文件httpd.conf中下进以下几行,使之
撑持php.
ScriptAlias/php/"d:/server/php/"
AddTypeapplication/x-httpd-php.php3
AddTypeapplication/x-httpd-php.php
AddTypeapplication/x-httpd-php.phtml
Actionapplication/x-httpd-php"/php/php.exe"
在d:serverwww下创建网页:index.php,内容为:
<html>
<head><title>php测试</title></head>
<?php
phpinfo();
?>
</html>
用文本编纂器编纂好为存为index.php,从头启动apache,在IE中输出http://localhost/index.php,假如呈现php的
情况变量,申明php,安装乐成,假如不克不及剖析<?phpphpinfo();?>中的部分,则申明没有乐成安装。
四.Tomcat的安装
我用的是jakarta-tomcat-4.1.30.exe安装文件,在windows下一起点"断定"就好了,对照复杂,安装目次为
d:server omcat
上面设置情况变量:
同jdk的情况变量,增加变量TOMCAT_HOME,值为d:server omcat;增添变量CATALINA_HOME,值为
d: omcatserver,在path变量中到场d:server omcatin
上面启动tomcat,运转tomcat目次下的,bin/startup.bat文件就行啦,呈现tomcat运转把持台,tomcat乐成
启动.
在IE中输出http://localhost:8080/,看到年夜猫的吧,则tomcat安装乐成.
五.安装MySQL
第一步:解压mysql-max-3.23.46a-win.zip,运转mysql安装文件,把mysql安装到d:servermysql
第二步:在情况变量path中到场d:servermysqlin
第三步:进进d:servermysqlin目次,运转winmysqladmin,刚会呈现对话框,设置mysql用户暗码,假定
帐号为:root暗码为:123
第四步:进进dos,进进mysql/bin下,运转以下命令翻开mysql
mysqld-nt--standalone
则mysql开启
然后运转:
mysql
假如开启,则呈现以下笔墨:
WelcometotheMySQLmonitor.Commondsendwith;org.
YourMySQLconnectionidis1toserverversion:3.23.46-nt
Typehelp;orhforhelp.Typectoclearthebuffer.
mysql>
注重:此时mysql没有设置暗码,为了不让他人进进你的数据库,请为mysql设置暗码,详细操纵请参阅mysql
的中文申明文档。
至此,mysql安装乐成!
六.安装MySQL的驱动类jdbc
解开jdbc驱动包,把内里的org文件夹复制到jsp能够找到的地位就行啦。能够是tomcat的根目次common/classes
文件夹下,也能够是jsp网站class类WEB-INF/class/下。当加载驱动程序时,以便能找到相干的类。大概把jdbc包
的路径到场到classpath变量中。
七.Tomcat和Apache的整合设置
Tomcat只是一个用来剖析*.jsp文件的容器,它不是服务器,其剖析静态htm/html文件的才能远远不如apache,
整合后在统一个端口使apache来剖析静态网页,而碰到*.jsp网页时,交由tomcat来剖析.
第一步:把mod_jk.dll复制到apache根目次module文件夹下。
第二步:设置APACHE
翻开apache根目次下confhttpd.conf
增加以下语句:
#------------------------------------------
#connectingtotomcatusingajp13
LoadModulejk_modulemodules/mod_jk.dll
JkWorkersFile"d:/server/tomcat/conf/workers.properties"
JkMount/servlet/*ajp13
JkMount/*.jspajp13
#-----------------------------------------------------
注重:以上语句的基础意义是:
loadModule一行:加载mod_jk.dll静态链接库模块,使之与tomcat通信
jkWorkersFile:指明事情时tomcat相干文件workers.properties地位
jkMount:两行指明当碰到*.jsp和servlet时,交由ajp13协定,继而转发给tomcat处置。
第三步:创建workers.properties文件,在tomcat根目次conf下创建workers.properties文件,内容为:
workers.tomcat_home=d:server omcat
workers.java_home=d:serverj2sdk1.4.0
ps=
#worker.list=ajp13
worker.list=ajp12,ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12,ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
worker.inprocess.cmd_line=-home
worker.inprocess.cmd_line=$(workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
注重以上文件第1、二行填上tomcat和jdk的相干目次.
第四步:设置tomca/conf下的server.xml文件,这个是tomcat的次要设置文件,主要设置以下:
1.假造目次设置:
找到上面内容:
<Hostname="localhost"debug="0"appBase="/webapps"
unpackWARs="true"autoDeploy="true">
修正为:
<Hostname="localhost"debug="0"appBase="d:/server/www"
unpackWARs="true"autoDeploy="true">
使tomcat主目次为d:serverwww.
找到上面内容:
<Contextpath="examples"docBase="/examples"debug="0"
reloadable="true"crossContext="true">
修正为
<Contextpath=""docBase="/"debug="0"
reloadable="true"crossContext="true">
这个我的了解是应当是使tomcat根目次下的jsp作为一个假造主机吧.
2.设置tomcat监听端口,找到上面的内容:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="0"
useURIValidationHack="false"disableUploadTimeout="true"/>
默许的端口是8080,但这个人人都晓得,最好修正一下,假定修正为:8123,则以下:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8123"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="0"
useURIValidationHack="false"disableUploadTimeout="true"/>
3.找到以下8009端口的中央,这个很主要,经由过程8009,tomcat与apache相互通信,假如上面的部分
被<!---->正文失落,必定要把<!---->往失落.
<!--DefineaCoyote/JK2AJP1.3Connectoronport8009-->
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="10"debug="0"connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
第五步:设置tomcat的conf/web.xml文件:
相似于apache下404毛病页面的设置,在最初</web-app>一行之前到场以下内容:
<error-page>
<error-code>404</error-code>
<location>/error/noFile.htm</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/error.jsp</location>
</error-page>
第一个<error-page></error-page>之间的是404未找到jsp网页的毛病导向页面,使之产生404毛病时,
网页导向至/error/noFile.htm,也能够用相似办法增加其多的毛病代码导向页面。
第二个<error-page></error-page>之间的是当jsp网页呈现java.lang.NullPointerException导常时
导向至/error/error.jsp毛病页面。那末必要在第个jsp网页中到场以下内容:
<%@pageerrorPage="/error/error.jsp"%>
典范的error.jsp毛病页面的程序写法以下:
<%@pagecontentType="text/html;charset=GB2312"%>
<%@pageisErrorPage="true"%>
<html>
<head><title>毛病页面</title></head>
<body>
堕落了:</p>毛病信息:<%=exception.getMessage()%><br>
StackTraceis:<pre><fontcolor="red"><%
java.io.CharArrayWritercw=newjava.io.CharArrayWriter();
java.io.PrintWriterpw=newjava.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%></font></pre>
</body>
</html>
当呈现NullPointerException非常时tomcat会把网页导进到error.jsp,且会打印出堕落信息。
第五步次要是平安思索,在一般情形下,假如找不到网页即呈现404毛病大概jsp程序堕落,在客户端
会枚举出相似于以下的信息(以tomcat为例,resin相似):
HTTPStatus404-/sdags.jsp
--------------------------------------------------------------------------------
typeStatusreport
message/sdags.jsp
descriptionTherequestedresource(/sdags.jsp)isnotavailable.
--------------------------------------------------------------------------------
ApacheTomcat/5.0.19
如许服务器版本会被他人看到,假如完成第五步的设置,就不会呈现这类情形.
第六步:设置httpd.conf文件
这类办法把tomcat和apache的根目次设置为统一目次,可是必需限定客户对目次下一些文件的会见,好比存进class
的web-inf,在httpd.conf下增加以下代码:
#denytheaccesstoWEB-INF
<Directory~"/WEB-INF/">
Orderallow,deny
Denyfromall
</Directory>
如许,当试图记问http://localhost/web-inf/时,apache将会回绝.
到此为至,tomcat和apache的整合就完成啦.从头启动tomcat和apache,
把jsp网页放到d:serverwww下,比方:
<html>
<h1>JSPtest<hr>
<%out.println("HelloWorld!");%>
</html>
存为index.jsp,在IE中输出http://localhost:8123/index.jsp
假如呈现了
HelloWorld!
刚申明tomcat运转一般,在IE中输出http://localhost/index.jsp,假如也呈现
HelloWorld!
祝贺你!整分解功啦,你在jsp冗长艰苦的路途上迈出了一年夜步~!
以上整合文章我是在仓皇的的工夫完成的,大概有些毛病。或思索不周的中央,可是整体应当没
太年夜成绩,我是重复利用这类办法整分解功的。假如有疑问,能够间接给我接洽.
moonsbird:mail:pengw97@163.com
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 是一种将安全性(Security)列为第一优先考虑的语言 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 是一种为 Internet发展的计算机语言 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种突破用户端机器环境和CPU 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
页:
[1]
2