环境:RedHat 8.0
jdk安装路径:/usr/java/jdk
Tomcat安装路径:/usr/local/tomcat/
总共分为以下几个步骤:
一、安装配置jdk
二、安装配置Tomcat
三、安装PostgreSQL
四、Tomcat测试
五、连接数据库
所需要的软件:
j2sdk-1_4_2-linux-i586-rpm.bin http://java.sun.com/j2se/1.4.2/download.html
jakarta-tomcat-5.1.20.tar.gz http://www.apache.org
postgresql-7.4.3.tar.gz http://www.postgresql.org
这些软件全部在/download留个备份
#mkdir /download
1?安装配置jdk
下载其中的rpm包,其实是个.bin文件
#chmod u+x j2sdk-1_4_2-linux-i586-rpm.bin //设置包的属性
#./j2sdk-1_4_2-linux-i586-rpm.bin //看协议并解成rpm包
#rpm -ivh j2sdk-1_4_2-linux-i586-rpm //进行安装
#cd /usr/java/ //进入安装好的目录
#ln -s j2sdk1.4.2 jdk //做个jdk的目录连接到j2sdk.1.4.2
设置环境变量:
写到/etc/profile中去了。那样会使系统启动时就加载jdk。
#vi /profile
export JAVA_HOME="/usr/java/jdk"
export PATH="$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin"
export CLASSPATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
2 配置tomcat
因为我下载的是binary版本,所以不需要再进行编译。
#cp /download/jakarta-tomcat-5.1.20.tar.gz /usr/local //tomcat直接复制到期/usr/local
#tar zxvf jakarta-tomcat-5.1.20.tar.gz //解包
#rm -f jakarta-tomcat-5.1.20.tar.gz //删除文件
#ln -s jakarta-tomcat-5.1.20 tomcat5 //做个tomcat的目录连接到jakarta-tomcat-5.1.20
#cd tomcat5
#cp common/lib/servlet-api.jar /usr/java/jdk/jre/lib/ext //把servlet包复制到jre的lib下ext下
添加环境变量:
# vi /profile
export CATALINA_HOME="/usr/local/tomcat5"
可以测试Tomcat能否正常启动了:
# cd /usr/local/tomcat5
# bin/startup.sh
你会看到这些东东:
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk
然后打开浏览器,输入http://localhost:8080,如果您能看到一只变态的小猫望着你的话,那么恭喜您
,tomcat也成了 。
3 安装PostgreSQL
设计人员为了安全考虑,PostgreSQL 不能以 root 用户运行,所以必须建立对应的用户和组。
# useradd postgre (自动建立 postgre 组)
安装的过程并不复杂和其他源码版本的安装方法类似:
解压到 /usr/local/src:
# tar xvfz postgresql-7.4.3.tar.gz
# cd postgresql-7.4.3
# ./configure --prefix=/usr/local/pgsql
# make
# make install
# chown -R postgre.postgre /usr/local/pgsql
这样安装完毕后,并不是万事大吉了,还有一些收尾工作要做:
# vi ~postgre/.bash_profile
添加:
#################################################
PGLIB=/usr/local/pgsql/lib
PGDATA=$HOME/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PGLIB PGDATA PATH MANPATH
#####################################################
以 postgres 用户登录,
# su - postgre
建立数据库目录:
$ mkdir data
启动数据库引擎:
初始化数据库
[postgre@www postgre]$ initdb
你会看到以下信息:
This database system will be initialized with username "postgre".
This user will own all the data files and must also own the server process.
Fixing permissions on pre-existing data directory /home/postgre/data
Creating database system directory /home/postgre/data/base
Creating database XLOG directory /home/postgre/data/pg_xlog
Creating template database in /home/postgre/data/base/template1
Creating global relations in /home/postgre/data/base
Adding template1 database to pg_database
Creating view pg_user.
Creating view pg_rules.
Creating view pg_views.
Creating view pg_tables.
Creating view pg_indexes.
Loading pg_description.
Vacuuming database.
Success. You can now start the database server using:
/usr/local/pgsql/bin/postmaster -D /home/postgre/data
or
/usr/local/pgsql/bin/pg_ctl -D /home/postgre/data start
起动数据库
$ postmaster -i -D ~/data &
[1] 22603
[postgre@www postgre]$ DEBUG: Data Base System is starting up at Thu Jan 31 02:00:44 2002
DEBUG: Data Base System was shut down at Thu Jan 31 01:57:58 2002
DEBUG: Data Base System is in production state at Thu Jan 31 02:00:44 2002
这样 PostgreSQL 使用位于 /usr/local/pgsql/data 的数据库,允许 Internet 用户的连接( -i ) ,并在后台运行。
建立数据库
$createdb mydb
PostgreSQL 会返回 “ CREATED DATABASE”的信息,表明数据库建立完成。
$psql mytest
进入交互 psql 工具,建立表:
CREATE TABLE aaa (
name varchar(20),
tel varchar(30));
建立完成后,会得到一条 “CREATED” 的信息,表示建立成功。现在插入一条数据:
INSERT INTO aaa values('wayne', '13186975732');
psql 返回 INSERT 18732 1,查询插入是否成功:
SELECT * FROM aaa;
退出 psql ,用 /q 命令。
要让网上别的机子都可以访问则要修改以下东西
$vi /home/postgre/data/pg_hba.conf
在底下加入
local all trust #允许通过本地的所有机子
host all 0.0.0.0 0.0.0.0 trust #允许网内所有机子
host all 192.168.0.96 255.255.255.255 trust #允许网内192.168.0.96的机子
$vi /home/postgre/data/postgresql.conf
#tcpip_socket = false 修改成 tcpip_socket = true
$ pg_ctl start #启动数据库
$ pg_ctl restart #重启数据库
$ pg_ctl stop #关闭数据库
4首先,我们先测试jsp.
#cd /usr/local/tomcat/webapps
#mkdir -p myapp/WEB-INF //注意大小写
#cp ROOT/WEB-INF/web.xml myapp/WEB-INF
#vi myapp/index.jsp
#########################
<html><body>
<%= new java.util.Date() %>
</body></html>
########################
这样通过http://localhost:8080/myapp/index.jsp是不能访问的,重新启动tomcat,在浏览器中输入http://localhost:8080/myapp/index.jsp
如果正常,那么恭喜您,这个也成功了
其次,测试servlet
先写一个最简单的servlet。
##############################################
package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
}
}
################################################
把上述文件存为Test.java,然后用javac进行编译,把产生的Test.class文件copy到/usr/local/tomcat/webapps/myapp/WEB-INF/classes/test/
#javac test/Test.java
修改myapp/WEB-INF/web.xml,改后大概是这个样子
#########################################################
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>
A application for test.
</description>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
#########################################################
重新启动tomcat5,
打开浏览器输入http://localhost:8080/myapp/Test,
应该是显示This is a servlet test.
若出现错误,404错误,表示没找到文件,应该是server.xml中没写Context,如果是500错误,那么是程序有问题:) 其他错误请自行解决。
5 连接数据库
这个需要postgresql的jdbc,
可以去http://jdbc.postgresql.org里下载一个pg72.jdbc2.jar文件
#cp pg72.jdbc2.jar pg72.jdbc2.jar.bak
#mv pg72.jdbc2.jar postgresql.jar
把该postgresql.jar放到/usr/java/jdk/jre/lib/ext/中,也可以添加到CLASSPATH中。
写一个简单的jsp脚本进行测试连接数据库
pgsql.jsp
#################################################
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://127.0.0.1:5432/mytest";
String user="postgres";
String password="12345";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from aaa";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString("name")%>
您的第二个字段内容为:<%=rs.getString("tel")%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
##############################################
把这个文件存到myapp/下,然后http://localhost:8080/myapp/pgsql.jsp,应该是没有问题,我都测试通过。
恭喜您,简单的一个开发环境搭建完毕 。