基础应用:javaweb三层架构配置入门
2008-01-05 18:53:44 来源:WEB开发网核心提示:一、软件下载:1、java这里使用的是jdk1.4.2,下载地址:http://dlc.sun.com/jdk/j2sdk-1_4_2_07-windows-i586-p.exe;2、tomcat这里的tomcat的版本是5.0的,基础应用:javaweb三层架构配置入门,安装版或是解压版都是可以的,下载地址:http
一、软件下载:
1、java
这里使用的是jdk1.4.2。
下载地址:http://dlc.sun.com/jdk/j2sdk-1_4_2_07-windows-i586-p.exe;
2、tomcat
这里的tomcat的版本是5.0的,安装版或是解压版都是可以的。
下载地址:http://apache.linuxforum.net/dis ... a-tomcat-5.0.28.exe
3、数据库
推荐使用MySQL,but暂时找不到下载地址,由于此次偶们班有课程设计要用sqlserver的,所以下面实践会使用sqlserver(找张安装盘安装)
注:连接sqlserver需要三个jar文件(文件名ms开头),可从这里下载:
http://www.softhouse.com.cn/Html ... 11250300001646.html
上面包括完整的配置方法
二、软件安装:
1.双击安装jdk。装完后在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
(假设你的JDK安装在c:/jdk)
JDK_HOME=C:\jdk
classpath=.;%JDK_HOME%\lib\dt.jar;%JDK_HOME%\lib\tools.jar
在PATH(原来就已存在)中添加:%JDK_HOME%\bin
这样jdk环境配置成功。
2.双击安装你的Tomcat。(建议安装在D:/tomcat)
注:tomcat5.0.x版本不需配置环境变量就可以使用,但假如需要编译Servlet则必须将tomcat的两个jar文件也放到环境变量中,具体方法如下:
在我的电脑->属性->高级->环境变量->系统变量中添加:
TOMCAT_HOME=D:\tomcat
修改classpath变成:.;%JDK_HOME%\lib\dt.jar;%JDK_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%TOMCAT_HOME%\common\lib\jsp-api.jar;
这样已经完整安装完Tomcat了。
建议:在PATH中再添加:%JDK_HOME%\bin;%TOMCAT_HOME%\bin
这样做的目的是在虚拟dos中可以使用tomcat的工具
最后顺便把第一步下载回来的三个jar文件放到tomcat目录下的common/lib目录中
3.测试:
打开开始菜单中的tomcat(小猫图案)的monitor工具,点击start server,显示绿色三角形即为启动,打开浏览器在地址栏输入:http://localhost:8080/可以看到小猫图案说明已经配置成功。
4.安装数据库(sqlserver)
Windows xp下必须安装个人版或开发版(个人推荐个人版)。
一直next就可以(微软的东西就是方便),这里注重到域帐户那里选择本机帐户,到验证那里选择混合验证(这点很重要,若选择系统认证以后在程序中就连接不上数据库),为你的sa用户输入一个密码(假如练习用就不用考虑安全性啦,选择“空密码”就可以)
三、正式编程:
1.建立数据库
打开开始菜单找到sqlserver的快捷方式组里面的企业治理器,点开左边的树一般有个localhost连接,假如有个绿色三角形符号证实数据库连接成功。点击邮件新建数据库,在你新建的数据库中再新建个数据表(例如叫test),数据表建立若干字段。
补充:提供另一种建表方法是使用sql脚本建表。首先创建如下文件:
test.sql
create database test
USE test
create table test
(
id int not null identity(1,1),
mark varchar(255),
name varchar(255),
sex varchar(255)
)
然后打开开始菜单中sqlserver快捷方式组中的查询分析器,点击“文件”-》“打开”,选择test.sql,点击运行即可。
2.建立tomcat虚拟目录
在任意你喜欢的地方建立一个文件夹(例如e:/wool),在文件夹中建立WEB-INF文件夹(注重必须大写),WEB-INF文件夹中再建立classes和lib两个文件夹,将第一步下载的三个jar文件(连接数据库用)放入lib文件夹中。(有人可能问:这里为何没有web.xml这个文件,不急,后面会说到)
3.配置文件与连接池
这次班里做课程设计这步难倒不少同学,我这里有最简单方法(俺老师建议去http://localhost:8080/admin中去配置,我个人觉得那样麻烦而且轻易出错),好,下面介绍步骤:
首先,按下面内容建立好两个文件:
wool.xml
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="E:\wool" path="/wool" reloadable="true" workDir="E:\wool\WEB-INF\classes">
<Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
<ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sqlserver">
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost;DatabaseName=test</value><!--这里test是第三点中第一小点建立的数据库名-->
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>passWord</name>
<value></value>><!--安装sqlserver时用空密码的话这里什么都不用填(注重连空格都没有)-->
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
</Context>
注重:在帮同学配置的过程发现一个问题,就是上面的配置文件必须把注释部分删除才可以成功运行。暂时不了解什么原因,理论上xml文件中这样的注释是答应的,郁闷。
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<resource-ref>
<description>connectDB</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
建立完两个文件后,把wool.xml放到tomcat目录下的\conf\Catalina\localhost中;web.xml文件放到E:\wool\WEB-INF目录中。
4.写段程序测试连接
test.jsp
<!--测试数据源-->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/sqlserver");
if(ds!=null)
{
out.PRintln("已经获得DataSource!");
out.println("<br/>");
Connection conn = ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from test");//这里的test是表名
out.println("以下是从数据库中读取出来的数据");
%>
<table width="100%" border="2" cellspacing="0" cellpadding="0">
<tr bordercolor="#FF0000" bgcolor="#CCCCCC" class="style1">
<th>名字</th>
<th>性别</th>
<th>分数</th>
</tr>
<%
while(rst.next())
{%>
<tr bgcolor="orange">
<td><%=rst.getString(1)%></td>
<td><%=rst.getString(2)%></td>
<td><%=rst.getString(3)%></td>
</tr>
<%
}
%>
</table>
<%
conn.close(); //这里很重要,俺们老师给的实例中没有这句。没有这句会导致连接池枯竭
}
else
out.println("连接失败!");
}
catch(Exception ne)
{
out.println(ne);
}
%>
将test.jsp文件放到E:\wool即可。
5.启动sqlserver和tomcat,在浏览器输入:
http://localhost:8080/wool/test.jsp
四、写在最后
以上方法是偶最近帮同学配置工程练习(web三层架构)的时候使用的方法,是偶以前参考网络上大虾们的经验后觉得最好的方法。通过以上步骤,对于未做过java或者其他基于web编程的同学来说可以迅速入门(其实最主要可以完成本次烦人的工程练习)。