用Servlet开发企业级三层Web应用(一)
黄微、申刚玉
随着Web技术的深入发展,传统的客户机/服务器结构的企业级应用系统已逐渐为浏览器/中间层/后台数据库服务器的三层结构所代替,这种结构的改变无论是在Microsoft的Windows DNA中还是在以Java技术为核心的应用中都得到了具体的体现。Servlet技术的出现推动了以Java为核心技术的企业级三层Web应用的发展,它最适合于开发与Web服务器紧密相关的中间层。
1.利用Servlet技术的三层结构解决方案
企业级Web应用通常包含Web浏览器、中间层和后台数据库服务器三个层次。
(1)Web浏览器
Web浏览器是三层结构中的第一个层次,利用Web浏览器作为客户端,使客户面对一个统一的应用界面。
(2)Servlet中间层
中间层是指运行在服务器中的,联系Web浏览器与后台数据库服务器的软件。目前可用于实施中间层的技术包含CGI、Java及Servlet等。由于Servlet由Web服务器进行加载,利用Java语言进行开发,它在性能、可靠性以及可移植性等方面均比CGI有了长足的进步,因此Servlet是目前最适合实现中间层的技术。
(3)后台数据库服务器
后台数据库服务器是用户存放数据信息的地方,中间层可以通过ODBC(对CGI中间层)或是JDBC(对Servlet中间层)来访问后台数据库。
2.规划一个三层Web应用
下面用一个简单的Web三层应用的例子说明如何利用Servlet技术构造中间层。这里我们实现一个最简单的图书管理系统。
(1)用户可以通过Web浏览器将图书信息提交给中间层,由中间层将图书数据入库。
(2)用户可以通过Web浏览器查询图书信息,由中间层取得图书数据交给浏览器显示。
系统是一个采用三层结构的Web应用,数据库服务器采用Microsoft Access,中间层是一个Servlet,系统的流程包含四个步骤∶
* 用户在HTML页面中输入图书信息,输入的数据提交给中间层的Book??Servlet;
* 中间层BookServlet构建一个SQL语句,将SQL语句提交给JDBC;
* 后台数据库服务器执行SQL语句并将结果返回给中间层BookServlet;
* 中间层BookServlet根据数据库返回的结构建一个HTML返回给客户端浏览器。
对系统的软件结构了解之后,我们给出整个系统的设计规划:
* 设计数据库结构
为简化起见,图书数据库仅包含一个表BookTable,在该表中包含以下字段:
列名称 |
类型 |
长度 |
说明 |
bookname |
string |
50 |
书名 |
isbn |
string |
50 |
图书统一书号 |
* 设计浏览器HTML页面
用户可以在该页面中查询已入库的图书,或输入新的图书信息。
(3)设计中间层BookServlet
用Servlet技术实现的中间层在浏览器和数据库服务器之间完成“粘合”作用(我们将其命名为BookServlet),它根据浏览器HTML传递的参数创建合适的SQL语句,将SQL语句提交给后台数据库服务器,然后根据SQL语句执行的结果产生一个HTML页面传递给浏览器。