Linux 下 JAVA 的 Web 开发(环境搭建篇)

类别:Java 点击:0 评论:0 推荐:

摘要:针对现在Web技术的广泛应用,JAVA由于其平台无关性被广泛的应用在各种平台上.本文探讨了怎样在Unix(Linux)系统下搭建JAVA的基本Web开发平台。

关键词:Unix;Linux;JSP;Mysql

引言

随着Internet 技术的飞速发展,越来越多的企业采用Internet 协议标准和Web 技术来构筑企业内部网——Intranet,以实现信息发布与数据共享。信息经济正在挑战今天的企业,而Web 应用相对于传统信息处理技术有着巨大的优点,从而使企业正在把他们的信息经济建立在Internet 和WWW 上。

自从Web 的产生到现在,经过短短几年的发展,Web 技术已从最初简单的文档浏览发展到当今复杂电子商务的应用,其间经历了静态文档、动态交互页面两个阶段。第一阶段的Web 技术,主要是用于简单静态Web 页面的浏览。在这一阶段,Web 页面只能包含一些不变的信息内容,基本满足了建立Web 的初衷,实现了信息资源的共享。随着Internet的发展,第一阶段的Web 技术无法满足人们进一步的要求,继而Web 技术进入了其发展的第二阶段:动态交互页面阶段。Web 数据库技术是本阶段最主要的核心技术,人们需要通过它发表意见、查询数据甚至进行网上购物,这就迫切需要Web 与数据库的互连。将Web 技术与数据技术相结合,开发动态的Web 数据库应用,已成为当今Web 技术的主要应用。Web 与数据库互联技术主要有cgi技术, 各种Web 服务器API(ISAPI,NSAPI)技术,服务器端Script解释语言ASP和PHP等,如图1 所示。

图-Web 与数据库互联结构图

JAVA语言是一种面向对象和平台无关的编程语言,具有简单性、面向对象性、动态性、分布性、可移植性、多进程性、平台无关性、高性能、健壮性和安全性等特点。因此JAVA是在Web技术的有很大的优势。随着Internet的发展JAVA的开发也越来越多。对于刚开始开发Web应用的人往往都是在Windows平台下开发的。应为很少接触其他的平台。所以在Windows下开发JAVA Web应用大家都比较熟悉一点,而在Unix(Linux)下开发JAVA就很少了,大家也相对陌生一点。我要讲的就是怎么在Unix(Linux)环境下搭建JAVA的开发环境。这也要得益于JAVA的一次编写随处之行的优点。

 

1 环境的搭建

要使用JAVA开发Web应用,必需要JAVA的运行环境,还有开发环境。当然Web开发少不了数据库。Web程序要运行也少不了Web服务器。

这里我们选用JAVA运行环境:J2SDk1.4

数据库:Mysql 4.0.15

Web服务器:Tomcat 4.1.18

1.1 JAVA的运行环境

首先要搭建的是JAVA的运行环境。到Sun公司http://java.sun.com/j2se/1.4.2/download.html免费下载j2sdk-1_4_2_05-linux-i586.bin然后拷贝到安装目录

执行二进制文件即可解压缩文件:

[root@localhost jdk]#./ j2sdk-1_4_2_05-linux-i586.bin

解压缩完成之后就可以在当前目录下面找到j2sdk1.4.2_05目录

为了方便可以做一个简单的连接到这个目录

[root@localhost jdk]#ln –s j2sdk1.4.2_05 jdk

然后加入环境变量

export JVAV_HOME=/var/jdk/jdk1.4

export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

现在JAVA运行环境就搭建好了,你可以试试写一个java程序来验证

[root@localhost jdk]#vi HelloWorld.java

输入如下内容

public class HelloWorld{

   public static void main(String args[]){

     System.out.println("Hello,Wrold");

   }

}

:wq

写盘并退出编辑器

[root@localhost jdk]#javac HelloWorld.java

没有错误

[root@localhost jdk]#java HelloWorld

Hello,World

恭喜,你的JAVA运行环境搭建好了。现在进入下一步。

1.2 Mysql数据库安装

1下载数据库安装文件mysql-4.0.15a.tar.gz

2建立MySLQL的用户和组

[root@localhost var]# groupadd mysql

[root@localhost var]# useradd –g mysql mysql

3修改根目录下的root目录下面的.bash_profile文件添加PATH环境变量

[root@localhost root]#vi .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

保存退出

下面就可以看是安装MySql了

4解压缩文件

[root@localhost jdk]#tar xzvf mysql-4.0.15a.tar.gz

进入解压缩得到的目录

[root@localhost var]# cd mysql-4.0.15a

5配置发行版本并且编译

[root@localhost mysql-4.0.15a]#./configure --prefix=/usr/local/mysql

[root@localhost mysql-4.0.15a]#make

当你运行configure时,你可能想要指定一些选项,--prefix选项制定安装mysql的目录为/usr/local/mysql

6安装所有东西

[root@localhost mysql-4.0.15a]#make install

你可能需要root用户来运行这个命令

ok现在mysql数据库服务器就安装好了。接下来还有重要的步骤需要执行

7创造MySQL授权表(只有你以前没安装MySQL是必需的):

[root@localhost mysql-4.0.15a]#scripts/mysql_install_db

8做完上面的步骤我们就可以启动mysql进行操作了。

[root@localhost mysql-4.0.15a]#cd /usr/local/mysql/bin

[root@localhost bin]# ./mysqld_safe &

如果没有出错提示,查看一下mysql进程

[root@localhost bin]# ps aux|grep mysql

root      1205  0.0  0.0  5388  168 ?        S    Apr22   0:00 /bin/sh /usr/loca

l/mysql/bin/mysqld_safe

mysql     1227  0.0  1.3 100316 13756 ?      S    Apr22   0:36 [mysqld]

root     22956  0.0  0.0  4816  640 pts/1    S    10:41   0:00 grep mysql

粗体的就是mysql的进程了。

现在就可以使用mysql了,用root登陆MySQL服务器

[root@localhost bin]#mysql –u root –p

这里会提示输入密码默认的root用户密码为空。直接回车就可以了

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 95 to server version: 4.0.15a-log

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql>

这样就成功登陆MySQL服务器了。

mysql> show databases;

+----------+

| Database |

+----------+

| cumt     |

| mysql    |

| test     |

+----------+

3 rows in set (0.01 sec)

现在就可以建立数据库了。这里就不介绍怎样建立数据库和建立表了。

Root用户没有密码是不安全的所以你需要修改root用户的密码

[root@localhost bin]# mysqladmin -u root  password 'new-password'

把'new-password'换成你自己的密码就可以了。

注意:做完上面的我们就可以用mysql的bin目录下的mysql来管理数据库了。可是这还没法在程序中使用数据库。我在jsp中连接数据库的时候出现如下错误:

java.sql.SQLException: Data source rejected establishment of connection,  message from server: "Host 'localhost.localdomain'is not allowed to connect to this MySQL server"

这是MySQL的权限问题具体的讲解请参考MySQL参考手册的存取权限系统

我们需要做的是让root可以从localhost连接到数据库,你也可以建立一个新用户来连接

登陆到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO cumt@localhost

           IDENTIFIED BY 'cumt' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO cumt@"%"

           IDENTIFIED BY 'cumt' WITH GRANT OPTION;

这两天语句添加用户cumt使得它可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令cumt做这个。现在我们就可以从程序中用cumt来连接数据库了。

但是在程序中还是没有对表的写权限。这是由于我们的数据库用户是root而不是我们建立的mysql组的mysql用户。所以只有读的权限而没有写的权限。我们需要把mysql目录下面的var目录下面的目录和文件的所有者改成mysql组的myql用户:

[root@localhost bin]#chown -R mysql /usr/local/mysql/var

[root@localhost bin]#cp support- files/my-medium.cnf /etc/my.cnf

好了做完上面的我们就可以在程序中使用cumt连接数据库和操作数据库了。

1.3  Web服务器tomcat安装配置

下载tomcat,jakarta-tomcat-4.1.18.tar.gz

解压缩

root@localhost var]#tar xzvf jakarta-tomcat-4.1.18.tar.gz
为方便操作:
ln -s jakarta-tomcat-4.0.1 tomcat
ln -s j2sdk1.4.0 jdk

修改Tomcat/bin/startup.sh 为:

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

/usr/local/tomcat/bin/catalina.sh start


启动Tomcat/bin/startup.sh
1.使用ps -ax | grep tomcat可以查询出内存中存在tomcat程序
使用http://你的服务器域名或IP地址或localhost:8080/可访问

2.如要求系统开机自动tomcat 在/etc/rc.d/rc.local中加入:
/usr/local/tomcat/bin/startup.sh

3.对于linux7.1系统, tomcat好象不能正常启动,需要安装:
compat-libstdc++-6.2-2.9.0.14.i386.rpm

rpm -i compat-libstdc++-6.2-2.9.0.14.i386.rpm

4.如果希望以http://www.xxx.com:8080/myweb 访问自己的jsp程序,以下步骤:
(1).在任意地方建立目录myweb 比如 /home/bqlr/myweb
(2).在myweb下建立 WEB-INF 和WEB-INF/classes目录
(3).在tomcat的conf目录下修改server.xml:

<!-- Tomcat Manager Context -->
<Context path="/manager" docBase="manager" debug="0" privileged="true"/>

<!--下面是自己加入的-->

<Context path="/myweb" docBase="/home/bqlr/myweb" debug="0" reloadable="true"/>

(4) 在tomcat的webapps目录下,建立目录连接myweb
ln -s /home/bqlr/myweb /usr/local/tomcat/webapps/myweb

(5) 重新启动Tomcat. class文件放在/home/bqlr/myweb/WEB-INF/classes目录下 jsp文件放在/home/bqlr/myweb下

本文地址:http://com.8s8s.com/it/it16475.htm