仓酷云 发表于 2015-1-18 11:29:34

JAVA网页编程之在Linux上架设撑持JSP+PHP的Web服务器

因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。js|web|web服务|web服务器最近几年来Linux在服务器市场占据比例日渐爬升,除缘于Linux的收费和平安性以外,还由于Linux上的使用服务日趋丰厚。年夜部分罕见的服务都在Linux上有了较好的办理计划。而关于Intenet上使用最普遍的Web服务来讲,Linux的体现就更加杰出。谁也没法说清Internet上事实有几个网站,但在浩瀚网站中,接纳PHP和JSP开辟的网站无疑占居了极年夜的市场份额。上面就先容一下怎样在Linux上架设撑持JSP+PHP+MySQL的Web服务器。

  关于Web服务,apache无疑是首选。数据库方面选用MySQL,这关于一样平常使用也够了,固然Linux下也能够安装oracle、DB2等年夜型数据库,但是它们用度高贵。至于关于开辟言语的撑持,JSP和PHP无疑是以后最支流和使用最普遍的web开辟言语了。一切这些软件我们能够从以下网站上找到:

  Resin:http://www.caucho.com/
  JDK:http://java.sun.com/
  Apache:http://www.apache.org
  MySQL:http://www.mysql.com
  PHP:http://www.php.net
  MM.MySQL:http://mmmysql.sourceforge.net/

  从以上彀站下载对应的软件,笔者下载的软件以下:

  mysql-4.0.15.tar.gz
  apache_1.3.28.tar.gz
  php-4.3.3.tar.gz
  resin-3.0.3.tar.gz
  mysql-connector-java-3.1.0-alpha.tar.gz
  j2sdk-1_4_2_01-linux-i586.bin

  1、安装MySQL

  MySQL的安装对照复杂,可是编译历程大概有点长,详细步骤以下:

  #tar-xzpvfmysql-4.0.15.tar.gz
  #adduser-s/bin/falsemysql
  #./configure--prefix=/usr/local/terry_yu/mysql--enable-assembler
--with-innodb--with-charset=gb2312
  #make
  #makeinstall
  #/usr/local/terry_yu/mysql/bin/mysql_install_db
  #chown-Rroot/usr/local/terry_yu/mysql/
  #chown-Rmysql/usr/local/terry_yu/mysql/var
  #chgrp-Rmysql/usr/local/terry_yu/mysql/
  #/usr/local/terry_yu/mysql/bin/mysql_install_db

  修正/etc/ld.so.conf,在最初到场以下一行:

  /usr/local/terry_yu/mysql/lib/mysql/lib

  然后实行以下命令:

  #ldconfig

  用以下命令启动MySQL

  /usr/local/terry_yu/mysql/bin/mysqld_safe&

  用以下命令修正MySQL的root暗码:

  /usr/local/terry_yu/mysql/bin/mysqladmin-urootpasswordabcdefg

  用以下命令能够进进MySQL的命令行体例:

  #/usr/local/terry_yu/mysql/bin/mysql-uroot-p
  Enterpassword:
  WelcometotheMySQLmonitor.Commandsendwith;org.
  YourMySQLconnectionidis1toserverversion:4.0.15

  Typehelp;orhforhelp.Typectoclearthebuffer.

  mysql>quit
  Bye

  呈现以上信息暗示MySQL已乐成运转了。

  2、安装JDK

  #chmod755j2sdk-1_4_2_01-linux-i586.bin
  #./j2sdk-1_4_2_01-linux-i586.bin
  #mvj2sdk1.4.2_01//usr/local/terry_yu/
  #cd/usr/local/terry_yu/
  #ln-sj2sdk1.4.2_01/jdk
  #ln-sjdk/jre/jre

  #vi/etc/profile
  JAVA_HOME=/usr/local/terry_yu/jdk
  RESIN_HOME=/usr/local/terry_yu/resin
  CLASSPATH=.:../$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$RESIN_HOME/lib:/usr/  local/terry_yu/jdbc
  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

  加入以后登录的情况,从头登录,如许方才设定的情况变量就会失效,然后用以下命令测试:

  #java-version
  javaversion"1.4.2_01"
  Java(TM)2RuntimeEnvironment,StandardEdition(build1.4.2_01-b06)
  JavaHotSpot(TM)ClientVM(build1.4.2_01-b06,mixedmode)

  看到相似信息就暗示JDK情况已好了。实在在下面的/etc/profile中,我们不单单设置了JDK的情况变量,还一并设置了Resin和JDBC的情况变量,这些都是前面安装Resin所必须的设定。

  3、安装MySQL的JDBC

  MySQL的JDBC的相干情况变量已在后面设置好了,以是余下的只是按以下命令安装:

  #tar-xzpvfmysql-connector-java-3.1.0-alpha.tar.gz
  #mvmysql-connector-java-3.1.0-alpha/usr/local/terry_yu/
  #cd/usr/local/terry_yu/
  #ln-smysql-connector-java-3.1.0-alpha/jdbc

  4、安装Apache

  http://apache.linuxforum.net/dist/httpd/apache_1.3.28.tar.gz

  必要注重的是,编译apache时分必需到场了DSO撑持,假如没有,请到场--enable-module=so选项从头编译apache

  #tar-xzpvfapache_1.3.28.tar.gz
  #cdapache_1.3.28/
  #./configure--prefix=/usr/local/terry_yu/apache--enable-module=most
--enable-shared=max
  #make
  #makeinstall

  观察编译进apache的模块:

  #/usr/local/terry_yu/apache/bin/httpd-l
  Compiled-inmodules:
  http_core.c
  mod_so.c

  看到以上的信息标明apache撑持DSO体例了。如许就能够用DSO的体例把php和resin的模块加出去。

  5、安装PHP

  安装PHP对照复杂,我们先装PHP。

  #tar-xzpvfphp-4.3.3.tar.gz
  #cdphp-4.3.3/
  #./configure--with-mysql=/usr/local/terry_yu/mysql
  --with-apxs=/usr/local/terry_yu/apache/bin/apxs
  #make
  #makeinstall
  #cpphp.ini-dist/usr/local/lib/php.ini

  编纂PHP的设置文件是/usr/local/lib/php.ini,将个中的register_globals变量修正成On,默许是Off的。必要将它改成On。不然会呈现php不克不及间接读不到post或get的数据的征象。

  编纂Apache的设置文件/usr/local/terry_yu/apache/conf/httpd.conf,在文件开头加上以下一行:

  AddTypeapplication/x-httpd-php.php.php3

  启动apache:

  #/usr/local/terry_yu/apache/bin/apachectlstart

  然后能够用一个复杂的php文件来测试PHP的安装,这个复杂的PHP文件包括以下一行:

  <?phpinfo();?>

  将其保留为/usr/local/terry_yu/apache/htdocs/info.php,然后在扫瞄器中扫瞄,假如寓目到以显现有“PHPVersion4.3.3”题目的页面就暗示整合PHP与Apache乐成了。并且在这个页面中能够看到与PHP相干的选项,个中应当有关于MySQL的子项,这标明PHP已内置了对MySQL的撑持了。如许就暗示PHP+MySQL+Apache的情况已乐成了,接上去是安装Resin来撑持JSP情况。

  六.安装Resin

  http://www.caucho.com/download/resin-3.0.3.tar.gz

  下载的resin的安装包解开后应当能够间接独自运转的。笔者将其解开后放到/usr/local/terry_yu目次下

  #tar-xzpvfresin-3.0.3.tar.gz
  #mvresin-3.0.3/usr/local/terry_yu/
  #cd/usr/local/terry_yu/
  #ln-sresin-3.0.3/resin

  启动resin
  #/usr/local/terry_yu/resin/bin/httpd.shstart

  假如之前安装JDK时设置好了相干的情况变量,就可以够从http://localhost:8080/上能看到resin的页面,这也就暗示独自的resin运转乐成了。然后,为了整合resin和apache,我们必要从头编译一下,以天生mod_caucho给Apache挪用。

  #cd/usr/local/terry_yu/resin
  #./configure--with-apache=/usr/local/terry_yu/apache
  #make
  #makeinstall

  修正/usr/local/terry_yu/resin/conf/resin.conf,约莫在第159行(安装的resin版本分歧,设置文件的内容大概有所分歧),将<document-directory>修正成本人的apache的DocumentRoot的值。

  <resinxmlns=http://caucho.com/ns/resin>
   <server>
    <hostid="">

  <document-directory>/usr/local/terry_yu/apache/htdocs</document-directory>##这里修正成/usr/local/terry_yu/apache/htdocs

     ...
    </host>
   </server>
  </resin>

  修正/usr/local/terry_yu/apache/conf/httpd.conf,在编译resin时,安装程序已修正过httpd.conf,不外还不完整准确,应当改成相似以下的设置,假如你完整按本文举行的安装能够间接复制这些内容:

  LoadModulecaucho_modulelibexec/mod_caucho.so
  AddModulemod_caucho.c

  <IfModulemod_caucho.c>
   ResinConfigServerlocalhost6802
  <Location/caucho-status>
   SetHandlercaucho-status
  </Location>
 </IfModule>
  修正完后,从头启动resin后失效:

  /usr/local/terry_yu/resin/bin/httpd.shrestart
  /usr/local/terry_yu/apache/bin/apachectlrestart

  经由过程扫瞄器往会见http://localhost/caucho-status/,假如呈现以下页面刚暗示resin和apache已乐成整合了。






  然后再测试一下JSP对数据库的会见,在/usr/local/apache/htdocs/上面用jsp写一个复杂的jsp文件来毗连本机的MySQL数据库:

  vi/usr/local/terry_yu/apache/htdocs/testdb.jsp

  输出以下内容,能够间接粘贴:

  <html>
  <head>
  <title>TestJDBCForMySQL</title>
  </head>
  <body>
  <%@pagecontentType="text/html;charset=gb2312"%>
  <%
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  java.sql.Connectionconn;
  conn=
  java.sql.DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=abcdefg");
  %>
  </body>
  </html>

  经由过程扫瞄器往会见http://localhost/testdb,假如看到了一个没有任何毛病信息的空缺页面,就暗示jsp毗连本机的MySQL数据库乐成了,至此我们就完成了一个撑持JSP+PHP+MySQL的Web服务器。

  注:以上一切安装都是在RedHatLinux9.0上完成的,所利用软件也均为今朝(2003年9月)最新的版本。

  本文先容了怎样在Linux上架设同时撑持JSP和PHP的WebServer,演示了MySQL、JDK、JDBC、Apache、PHP、Resin的安装和复杂测试历程。

C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.

柔情似水 发表于 2015-1-21 08:20:45

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

灵魂腐蚀 发表于 2015-1-26 23:54:29

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

冷月葬花魂 发表于 2015-1-31 19:10:44

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

若相依 发表于 2015-2-6 00:34:02

是一种为 Internet发展的计算机语言

莫相离 发表于 2015-2-7 07:02:42

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

谁可相欹 发表于 2015-2-16 18:59:49

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

活着的死人 发表于 2015-2-28 11:01:15

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

兰色精灵 发表于 2015-3-7 14:31:21

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

蒙在股里 发表于 2015-3-20 10:39:54

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

山那边是海 发表于 2015-4-9 18:41:29

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
页: [1]
查看完整版本: JAVA网页编程之在Linux上架设撑持JSP+PHP的Web服务器