当前位置: 首页 > 图文教程 > 网络编程 > JSP > 使用Ant和Tomcat创建Web应用

JSP
Servlet及JSP中的多线程同步问题
使用Ant和Tomcat创建Web应用
如何直接在浏览器内运行SQL命令
Servlet、Jsp中的多国语言显示
html与jsp开发分离技术
通过Jsp发送动态图像
Servlets和JSP Pages最佳实践
学习在JSP中使用JavaBeans
JSP显示内容缓存技巧
应用JDOM处理数据库到XML转换的JSP实现
JSP中tomcat的SQL Server2000数据库连接池的配置
用JSTL实现JSP应用程序快速开发
浅谈4种类型的JDBC驱动程序
怎样设置 JSP 的虚拟目录
Java 中对文件的读写操作之比较
javamail在jsp中调用
jsp中任意文字转Unicode的通用模块
JSP与SQL SERVER的留言本
jspSmartUpload上传下载全攻略
Tomcat5.x中的虚拟主机配置方法

JSP 中的 使用Ant和Tomcat创建Web应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 39 ::
收藏到网摘: n/a

  使用何种技术

  我使用Tomcat 4的Servlet/JPS容器技术实现一个Web应用程序。这个过程中仍然有许多不确定的事,在多种可行的技术中选一种可不是一件容易的事。这篇文章中,我选择尽量简单的解决方案,混合使用Java Server Pages(JSPs)以及Java。

  应当尽量避免使用JSPs实现复杂逻辑;那种程序也许容易写,但难以调试而且几乎不可能被理解和维护。好的解决方案是用JSPs负责Web页面的显示(这正是JSPs擅长的),把复杂逻辑的实现交给Java,如对数据库的访问。这样,程序不但比较容易实现和调试,而且易于理解和维护。

  这个Web应用程序可以运行在专用Web服务器或者是个人电脑上,操作系统可以是Windows,Linux,或者Mac OS。所需的软件包有Java运行时环境(JDK1.2或以上版本),Tomcat最新版本(Tomacat 4或以上版本),以及Ant开发工具(Ant 1.4或以上版本)。Ant用于创建Web应用程序包(WAR),以及在Tomcat上安装部署WAR文件,配置关系数据库接口javax.sql.DataSource。所有以上提到的软件包都可以通过Internet免费获得。

  这个Web应用程序还需要一个数据库。几乎所有支持SQL而且有JDBC驱动的关系数据库都可以。MySQL是一个符合条件的不错选择。从MySQL.com可以得到MySQL的最新版本以及它的JDBC驱动Connector/J。

  为了让Ant与Tomact管理软件协同工作,需要将catalina-ant.jar从Tomcat的server/lib目录拷贝到Ant的lib目录下。将你的数据库JDBC驱动程序复制到Tomcat的common/lib目录下使Tomcat和其上的Web应用程序可以访问数据库。最后,必须建立Tomcat的admin和manager角色(roles),及其用户名和密码,编辑Tomcat的conf目录下的tomcat-user.xml文件如下:

<?xml version='1.0'?> <tomcat-users> <role rolename="admin"/> <role rolename="manager"/> <user username="tomcatusername" password="tomcatpassword" roles="admin,manager"/> </tomcat-users>


我的开发环境是Apple Cube,运行Mac OS X 10.2.1操作系统,软件包JDK 1.3.1,Tomcat 4.1.12,Ant1.5.1,MySQL 3.23.52,及Connector/J 3.0.1-beta。操作系统升级到Mac OS X 10.2.2未出现任何问题。同样Tomcat升级到4.1.17也没出现问题。

Web应用程序

  本文通过一个叫做AddressBook的简单地址簿程序来说明如何应用将要介绍的技术。这个应用程序的目的不是建立一个地址簿的正式版本,它仅仅是一个例子。

AddressBook中的Java程序: AddressBook中包含三个Java程序。图1显示了他们在Tomcat中的是如何使用的。





AddressBook.ContextListener: AddressBook.ContextListener是一个servlet上下文监听器,它在AddressBook开始和关闭时被调用,可以使用AddressBook的部署描述文件web.xml配置。当AddressBook开始运行时,创建一个AddressesDB的实例并将它作为一个上下文属性保存;而当AddressBook运行结束时,从上下文属性中取出AddressesDB对象并关闭数据库连接。在运行过程中,当JSPs需要连接数据库,它们将访问上下文属性中的AddressesDB对象。细节请看ContextListener.java的完整的带有注释的源代码。

AddressBook. AddressesDB: AddressBook. AddressesDB用于操作地址数据库。它的构造函数建立一个数据库连接,这个会话可以被多个Web会话共享。这个类提供多个数据库连接函数:

getAddress(id)返回用id标识的地址,如果地址没找到则返回null。

addAddress(address)添加地址并返回改变的行数

deleteAddress(id)删除地址并返回改变的行数

getAddresses()返回数据库中所有地址的聚集,如果数据库无效返回null

close()关闭数据库连接

细节请看AddressesDB.java的完整的带有注释的源代码。

AddressBook. Address: AddressBook. Address是用于描述地址的类。在用JSPs编程时,用类集中描述数据仍不失为一个好的方法。在AddressBook中使用的就是这种方法。AddressBook. Address的构造函数将地址内容保存于对象中。这个类中包括取得单个地址域的普通get函数,两个获取合并的地址域的get函数,以及一个地址比较函数:

Address(id,surname,fisrtname,street,district,city,postcode)

getId()

getSurname()

getFirstname()

getStreet()

getDistrict()

getCity()

getP