马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。服务器
做一个果酱瓶[JAMPOT]服务器
——组建JSP、PHP、MYSQLWEB服务器
忙了几天,在网上参考了有数文章,履历了数不清的失利,总举动当作好了一个撑持JSP、PHP编程言语,MYSQL数据库的网页服务器,现将履历心得收拾以下,供伴侣们参考,Let’sGo!
1、使用情况及所需软件
1.操纵体系:WindowsXPsp2
2.使用软件:
(1)J2sdk-1_4_2-windows-i586.exe
申明:SUN公司出品的JAVA开辟包软件;
(2)Apache_2.0.52-win32-x86-no_ssl.exe
申明:今朝最盛行的团体WEB服务器软件;
(3)Mysql-4.1.7-win.exe
申明:Theworldsmostpopularopensourcedatabase,关头多是廉价吧J
(4)mod_jk_2.0.46.dll
申明:用于Apache和Tomcat之间通信;
(5)Php-5.0.2-Win32.zip
申明:最盛行的网页背景编程言语PHP
(6)phpMyAdmin-2.6.0.zip
申明:用php编写的mysql数据库办理软件
(7)[Odbc]mysql-connector-java-3.1.7-bin.jar
申明:JSP会见毗连Mysql数据库时用驱动文件;
(8)Tomcat-5.0.30.exe
申明:一个JSP使用容器,不克不及完整取代Apache的;
以上软件都能够在网上找到,也能够到这里来下载。
2、安装软件及设置
为了便利,请先创建D:Jampot文件夹,好了,入手下手安装软件:
1.安装JDK
运转J2sdk-1_4_2-windows-i586.exe,在选择安装路径的时分,选择D:JampotJ2sdk1.4.2,安装完成后,然后到“我的电脑>属性>初级>情况变量”做以下设置:
增加JAVA_HOME变量,变量值为:D:Jampotj2sdk1.4.2
修正path变量,增加D:JampotJ2sdk1.4.2in,如许不管在那边运转java命令都行。
从头启动cmd进进dos,运转java和javac看有无反响,假如呈现命令的匡助,那末java就安装乐成了,也能够运转一个java小程序看看:
publicclassTestJdk{
publicstaticvoidmain(Stringarg[]){
System.out.println("Hello,TheJdkisinstallsuccessful!");
}
}
保留为TestJdk.java,然后在CMD下运转
javacTestJdk.java
javaTestJdk
假如呈现“Hello,TheJdkisinstallsuccessful!”,那末我们就能够举行下一步了。
2.安装Apache
(1)运转Apache_2.0.52-win32-x86-no_ssl.exe,一起点"断定"和"承受"就行,选择路径时输出D:Jampot;安装乐成后的Apache目次为D:JampotApache2,安装乐成后Apache服务会主动运转,在IE中输出http://localhost/能够看到apache的主页。
(2)修正httpd.conf
apache的设置文件是httpd.conf,位于apache根目次的下的conf文件夹下
①修正默许网站根目次:
在D:Jampot下创建文件夹www,以此作为网站的根目次
DocumentRoot"D:/Jampot/Apache2/htdocs"
改成DocumentRoot"D:/Jampot/www"
②修正字符设置
apache剖析中文网页时会发生乱码,
修正AddDefaultCharsetISO-8859-1为AddDefaultCharsetGB2312
或将在AddDefaultCharsetISO-8859-1前加##将其屏障
③修正默许主页
当会见目次时,apache会主动导进的主页,优先级以前后按次为准
把DirectoryIndexindex.htmlindex.html改成
DirectoryIndexindex.htmlindex.jspindex.phpdefault.jspdefault.phpindex.html
④设置毛病页面[倡议设置]
如许关于你的网站会更平安些,假如没设置,他人在你的网址后任意输出一个路径,会显现404毛病,而且会显现你的服务器版本号,服务器设置一览无余,为了不这类情形,能够设置毛病页面。当呈现404毛病,即找不到网页时,把会见者导进到一个毛病页面,找到httpd.conf中的这一部分:
#Customizableerrorresponsescomeinthreeflavors:
#1)plaintext2)localredirects3)externalredirects
#
#Someexamples:
#ErrorDocument500"Theservermadeabooboo."
#ErrorDocument404/missing.html
#ErrorDocument404"/cgi-bin/missing_handler.pl"
#ErrorDocument402http://www.ckuyun.com/subscription_info.html
将#ErrorDocument404/missing.html一行修正为ErrorDocument404/error/noFile.htm,个中noFile.htm为D:Jampotwwwerror下一个毛病文件,必要你本人创建。当产生404毛病时,进进noFile.htm页面,能够提醒网页没有找到。如许就不成能看到你的服务器软件信息了。也能够设置别的的毛病导向的页面,详细http呼应毛病编号请查阅相干材料。
从头启动apache,假如没不测,此时已安装乐成,把静态页面放到d:erverwwwerror目次下,看能不克不及乐成剖析。任意输出一个:http://localhost/sdagasgdasasg.htm,看是否是导向你设置的404毛病,即noFile.htm毛病页面.乐成了吗?好了,入手下手下一步。
3.安装Mysql
运转Mysql-4.1.7-win.exe,默许安装是在C:mysql,在这里我们将Mysql数据库的安装到D:JampotMysql4_1,关于mysql4.1之前的版本,在安装完成后大概必要将Mysql目次内的my-small.cnf复制到C:Windows下,改名为my.ini并做以下修正:
[mysqld]
basedir=D:/Jampot/Mysql
datadir=D:/Jampot/Mysql/data
修正path变量,增加D:JampotMysql4_1in,如许不管在那边运转mysql命令都行。
启动CMD,输出:
mysql–uroot–p
输出暗码(假定为abc)
abc
假如呈现上面的字符:
WelcometotheMySQLmonitor.Commondsendwith;org.YourMySQLconnectionidis1toserverversion:4.1.7-ntTypehelp;orhforhelp.Typectoclearthebuffer.mysql>
那末,我们的Mysql数据库就安装乐成了!上面入手下手安装PHP了。
4.安装PHP
Php-5.0.2-Win32.zip是一个ZIP紧缩文件,解压内里的文件到D:JampotPhp5,然后翻开PHP5目次,你会发明有一个叫做"php.ini-dist"的文件,这就是PHP的设置文件了,你必要把它更名成"php.ini",然后复制到Windows目次下,将D:JampotPHP5目次下的"php5apache2.dll"文件复制到D:JampotAphache2in目次下。
翻开php.ini文件,做以下的修正:
找到extension_dir="./"改成extension_dir="D:/Jampot/Php5/ext"
找到;session.save_path="/tmp"将;往失落
设置你保留session的目次,如session.save_path="D:/Jampot/Php5/session_temp";
编纂Apache2confhttpd.conf文件:
在文件的最初面加上两句:
LoadModulephp5_modulebin/php5apache2.dll
AddTypeapplication/x-httpd-php.php.php3
PHPIniDir"D:/Jampot/Php5"
写一最复杂的php程序测试:
<?php
phpinfo();
?>
定名为info.php存进D:Jampotwww下,然后地点栏内敲进http://localhost/info.php应当显现php和apache2的相干信息了,如今可使用PHP了,但我们还要让PHP撑持mysql才行,翻开php.ini文件,做以下的修正:
找到;extension=php_mysql.dll将;往失落改成extension=php_mysql.dll
好了,保留,从头启动apache,写个程序测试一下。
<?php
$link=mysql_connect(localhost,username,password);
if(!$link)echo"fail";
elseecho"success";
mysql_close();
?>
假如运转后呈现“success”,那末就申明你的PHP能利用MYSQL数据库了,到如今为止,我们的服务器已算设置一半,它撑持PHP言语、MYSQL数据库,歇息一下。
5.安装phpMyAdmin
解压phpMyAdmin-2.6.0.zip到D:JampotphpMyAdmin2_6,修正目次内的config.inc.php文件:
设置$cfg[PmaAbsoluteUri]为http://localhost/phpMyAdmin
设置$cfg[blowfish_secret]=admin
设置$cfg[Servers][$i][auth_type]=cookie
设置$cfg[Servers][$i][user]为MYSQL用户名
设置$cfg[Servers][$i][password]为MYSQL用户口令
修正Apache内的httpd.conf文件,在最上面加以下语句:
php_admin_flagengineon
php_admin_flagsafe_modeoff
Alias/phpMyAdmin"D:/Jampot/phpMyAdmin2_6"
<Directory"D:/Jampot/phpMyAdmin2_6">
DirectoryIndexindex.php
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
php_admin_flagengineon
php_admin_flagsafe_modeoff
php_admin_valueopen_basedirnone
php_admin_valueopen_basedir"D:/Jampot/phpMyAdmin2_6"
</Directory>
注重:在修正的时分要注重巨细写!
6.安装Tomcat
实在,在后面的过程当中,并没有利用Jdk,之以是先安装它是由于笔者的喜好,但如今入手下手,我们就利用Jdk了。运转tomcat-5.0.30.exe安装文件,在windows下一起点"断定"就好了,对照复杂,安装目次为D:JampotTomcat5,上面设置情况变量:
增加变量TOMCAT_HOME,变量值为:D:JampotTomcat5
修正path变量,增加D:JampotTomcat5in
从头启动后,tomcat会主动启动.在IE中输出http://localhost:8080/,然后就能够看到tomcat的主页。如许就安装好了Tomat,写一个jsp文件测试一下。
<html>
<hl>JSPtest<hr>
<%out.println("Thisisajsppage!");%>
</html>
将文件存为jTest.jsp,放到D:JampotTomcat5webappsROOT目次里。然后在IE中输出http://localhost:8080/jTest.jsp,看到了吗?
我们如今有两个成绩要办理,一是和Aache服务器兼并到一同;二是让JSP能毗连MYSQL数据库。
第一步,兼并Aache服务器。
Tomcat只是一个用来剖析*.jsp文件的容器,它不是服务器,其剖析静态htm/html文件的才能远远不如apache,整合后在统一个端口使apache来剖析静态网页,而碰到*.jsp网页时,交由tomcat来剖析.
1)把mod_jk_2.0.46.dll文件复制到Apache2根目次bin文件夹下。
2)修正Apache目次下的httpd.conf文件,在该文件最初增加以下语句:
#------------------------------------------
#Connectingtotomcatusingajp13
LoadModulejk_modulebin/mod_jk_2.0.46.dll
JkWorkersFile"D:/Jampot/Tomcat5/conf/workers.properties"
JkMount/servlet/*ajp13
JkMount/*.jspajp13
#-----------------------------------------------------
注重:以上语句的基础意义是:
loadModule一行:加载mod_jk_2.0.46.dll静态链接库模块,使之与tomcat通信;
jkWorkersFile:指明事情时tomcat相干文件workers.properties地位;
jkMount:两行指明当碰到*.jsp和servlet时,交由ajp13协定,继而转发给tomcat处置。
3)在D:JampotTomcat5conf目次下创建workers.properties文件,内容为:
workers.tomcat_home=D:JampotTomcat5
workers.java_home=D:JampotJ2sdk1.4.2
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的相干目次.
4)修正D:JampotTomcat5conf下的server.xml文件,这个是tomcat的次要设置文件,做以下修正:
①设置tomcat监听端口,找到上面的内容:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
ort="8080"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="0"
useURIValidationHack="false"disableUploadTimeout="true"/>
默许的端口是8080,但这个人人都晓得,最好修正一下,假定修正为:8178,则以下:
<ConnectorclassName="org.apache.coyote.tomcat4.CoyoteConnector"
port="8178"minProcessors="5"maxProcessors="75"
enableLookups="true"redirectPort="8443"
acceptCount="100"debug="0"connectionTimeout="0"
useURIValidationHack="false"disableUploadTimeout="true"/>
②找到以下8009端口的中央,这个很主要,经由过程8009,tomcat与apache相互通信,假如上面的部分
被<!---->正文失落,必定要把<!---->往失落.
<!--DefineaCoyote/JK2AJP1.3Connectoronport8009-->
<Connectorport="8009"
enableLookups="false"redirectPort="8443"debug="0"
protocol="AJP/1.3"/>
③在</Host>上边增加以下语句:
<Contextpath="/test"docBase="D:Jampotwww est"debug="0"reloadable="true"/>
这句话的意义是给Tomcat增添一个假造目次test,同时在D:Jampotwww下创建test目次,将jTest.jsp文件复制到该文件夹。
5)修正D:JampotTomcat5conf下的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毛病页面。那末必要在error.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);
xception.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.30
如许服务器版本会被他人看到,假如将web.xml文件做如上的修正,就不会呈现这类情形。在“服务”里从头启动tomcat,然后在IE中输出http://localhost:8178/test/jTest.jsp,能够运转后,再输出http://localhost/test/jTest.jsp,是否是能够运转了。如许,我们只需将jsp放进jspfile文件夹里就能够运转了,第一部算是完成了。
第二步——让JSP毗连Mysql数据库
将mysql-connector-java-3.1.7-bin.jar文件复制到D:Jampotj2sdk1.4.2jrelibext目次或将mysql-connector-java-3.1.7-bin.jar文件复制到D:JampotTomcat5commonlib目次,
写一个文件jTestMysql.jsp做测试:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<html>
<body>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Stringurl="jdbc:mysql://localhost/test?
user=userName&password=userPass&useUnicode=true&characterEncoding=8859_1";
Connectionconn=DriverManager.getConnection(url);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromtbTest";
ResultSetrs=stmt.executeQuery(sql);
while(rs.next()){
%>
Yourfirstfieldis:<%=rs.getString(1)%>
Yoursecondfieldis:<%=rs.getString(2)%>
<%}%>
<%out.print("OperationDataBaseissuccess,congratulateyou!");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
将文件保留于D:Jampotwww est下,在IE中输出http://localhost/test/jTestMysql.jsp,假如你看到“OperationDataBaseissuccess,congratulateyou!”,那末就申明我们已能够用JSP毗连MYSQL数据库,好了,我们可使用这个果酱瓶了J
3、注重成绩
1.Mysql数据库与PHP毗连成绩:
Mysql4.1今后版本同之前的分歧,起首在安装的历程你,它会请求你设定root暗码,因而在安装完后,你不克不及向前的版本那样利用空暗码进进mysql。别的,Mysql对暗码也举行了变革,我们在增添一个用户后,不克不及复杂的利用grant的命令,还要利用Password命令,不然,用Php毗连数据库时会毗连不上。举个例字:
假定我们创建一个利用Test数据库的用户userTest,暗码为passTest;
用root进进mysql,输出:
grantallontest.*touserTest@locathostidentifiedby‘passTest’;
这个时分能够用该用户在CMD下进进mysql,但用PHP言语毗连时,就会报错。这是由于mysql对暗码的加密办法举行了改动,以是我们要将用户userTest的暗码改成旧的加密体例贮存,用root进进mysql,输出:
setpasswordforuserTest@localhost=old_password(‘passTest’);
加入mysql,然后用PHP毗连,乐成了吧。
2.关于php的运转体例的成绩
ScriptAlias/php/"c:/php/"
AddTypeapplication/x-httpd-php.php
Actionapplication/x-httpd-php"/php/php.exe"
大概
LoadModulephp4_modulec:/php/sapi/php5apache2.dll
AddTypeapplication/x-httpd-php.php4
ScriptAlias/php4/"c:/php/"
Actionapplication/x-httpd-php4"/php4/php.exe"
AddTypeapplication/x-httpd-php4.php
上边的代码有人说php是以模块化运转,也有人说是以cgi体例运转的,我没有研讨过,在此纪录供有乐趣者研讨。
3.Tomcat与Aache兼并及假造主机的成绩
关于APACHE主机下会见的JSP文件,实践上物理上不存在与APACHE的主机上,而是存在TOMCAT的主机目次里,比方:
http://localhost/jTest.jsp中的jTest.jsp文件实践上并非存在于在D:Jampotwww下,而是在D:JampotTomcat5webappsROOT下。这点请注重,不要搅浑观点!
在本文中,我利用的是假造目次的办法来办理的,即:
<Contextpath="/test"docBase="D:Jampotwww est"debug="0"reloadable="true"/>
实践在www下的test目次是Tomcat中Root下的一个假造的test目次。
在网上另有一种假造主机的办法,我不太分明,在这里列出来,供有乐趣的伴侣参考:
Tomcat与Apache假造主机的完成:
这类办法把tomcat和apache的根目次设置为统一目次,可是必需限定客户对目次下一些文的会见,好比存进class的web-inf,在httpd.conf下增加以下代码:
#denytheaccesstoWEB-INF
<Directory~"/WEB-INF/">
Orderallow,deny
Denyfromall
</Directory>
在最初到场上面这段代码
<VirtualHostlocalhost> //localhost为本机,你可用本机ip
ServerAdminadmin@rosealet.com//你的mail地点
DocumentRootd:yourweb //你的项目根目次
ServerNamelocalhost //你的服务名,若你的呆板有域名,设为域名
ErrorLoglogs/rosealet_home_log.txt//毛病日记,在C:Apachelogs下
CustomLoglogs/rosealet_Custom_log.txtcommon//会见日记,在C:Apachelogs下
</VirtualHost>
4.关于本文中利用软件中的版本兼容成绩
我在刚入手下手设置服务器的时分,用的Tomcat软件是tomcat5.5.7了局发明不克不及运转,厥后看了log文件才晓得,tomcat5.5以上的版本必要jdk1.5以上版本,害的我又从头下载了一个tomcat5.0.30才可使用。
别的,mysql-connector-java-3.1.7-bin.jar文件是mysql-connector-java-3.1.7.zip文件解压后目次内的一个文件——有这一个文件就够了。mysql-connector-java-3.1.7.zip文件能够到mysql.com网站下载,我在看了它的匡助今后,发明它倡议mysql数据库利用4.1今后的版本,因而,我不包管该文件人人可以毗连上mysql数据库4.1之前的版本。
到此,本文应当告一段落了,我这也要感激网上浩瀚的网友,没有参考他们的相干文章,靠我本人大概必要消费更多的工夫和精神,但年夜部分人在写的时分没有签名,因而我只能说感激moonsbird(http://www.hyd8.net/info/10100.htm)等网友,本文初度写成,若有毛病的地方,请包涵并告知自己(mail:kafeimo@371.net),感谢!
自己主页:http://javaheart.niwote.com
自己QQ:312652431
网名:墨·非[Mophay]
2005年4月5日礼拜二
清晨0时6分
相干下载:
1.http://freeweb.nyist.net/~bwc/bd/j2sdk-1_4_2.exe
2.http://freeweb.nyist.net/~bwc/bd/jakarta-tomcat-5.0.30.exe
3.http://freeweb.nyist.net/~bwc/bd/mod_jk_2.0.46.dll
4.http://freeweb.nyist.net/~bwc/bd/mysql-connector-java-3.1.7-bin.jar
5.http://freeweb.nyist.net/~guyusl/bd/apache_2.0.52-win32-x86-no_ssl.msi
6.http://freeweb.nyist.net/~guyusl/bd/MYSQL-4.1.7-win.exe
7.http://freeweb.nyist.net/~guyusl/bd/php-5.0.2-Win32.zip
8.http://freeweb.nyist.net/~guyusl/bd/phpMyAdmin-2.6.0.zip
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊 |