基于 JSP 技术企业动态网站系统设计与实现

2014-08-07 13:21薛倩
微型电脑应用 2014年2期
关键词:列表数据库客户

薛倩

基于 JSP 技术企业动态网站系统设计与实现

薛倩

为了宣传企业产品,拓展业务往来,从而提升企业业绩,树立企业品牌,进行企业动态网站系统设计与实现。在比较目前较流行的 Web 开发技术的基础上,选择基于 JSP 技术进行系统开发,重点分析了系统开发所涉及的 B/S、JSP、Web应用服务器和数据库连接技术要点。根据企业需求分析,详细设计了系统功能结构和数据库,以系统产品模块实现为例,最终完成企业动态网站系统的建设。系统提供企业展示及信息交流平台,对于企业宣传具有良好的效果。

JSP;企业宣传;企业网站;B/S 结构;JDBC 技术

0 引言

网站可以树立企业形象,宣传企业产品,提高企业的知名度和品牌。企业建立网站,是企业在网络时代展现自身实力和寻求发展的重要途径[1]。企业利用 Internet 通过网站把产品或服务的信息发向全世界的每个角落,具有成本低廉、快速方便、信息丰富、形象生动、更新及时、视觉效果突出等特点。

同时网站还可以帮助企业拓展业务往来,进一步挖掘潜在客户,从而提高企业业绩。由于网站不受时空限制,一方面能够及时、全面地向客户提供信息查询,使客户了解公司的业务范围和最新产品,吸引潜在客户,主动抢占商机。另一方面企业通过网站与客户建立实时的沟通交流渠道,及时帮助客户解决产品使用过程中遇到的问题,提升客户满意度,使更多的客户愿意购买和使用该企业的产品。

网站对企业的宣传具有重要的意义,为此研究企业动态网站系统的设计与实现。

1 开发技术选择及介绍

1.1 开发技术选择

企业网站要提供信息查询、在线聊天和留言板等与客户交流互动的服务,其中包含客户私人信息的注册登录等环节,这就需要系统具有高效的运行速率和高度的安全可靠性。如今比较流行的 web 应用开发技术主要有:ASP(Active Sever Pages)、ASP.NET、PHP(Hypertext Preprocessor)和 JSP(Java Server Pages)。其中 JSP 技术是当前较为热门的Web 开发技术[2],主要用于实现动态交互网站建设和开发服务器端的脚本程序设计。同 ASP 比较,JSP 具有的运行效率高、安全性高、扩展性强等特点。相比 ASP.NET,JSP 具备不受跨平台限制的优势,且易于维护和管理。同时不像PHP因缺乏多层次结构,数据库接口支持不统一,使得程序移植性较差,只适用于中小型网站的开发,相反 JSP 是一款备受企业级的公司及银行金融机构关注的大型商务网站开发技术。因此,选择基于 JSP 技术进行企业网站系统的开发。

1.2 系统开发技术介绍

1.2.1 B/S(Browser/Server)结构

B/S 结 构 是 随 着 Internet 技 术 的 发 展 , 在 C/S(Client/Server)结构的基础上应用拓展的一种结构。B/S结构借助于广域网进行工作,极少部分事务逻辑通过前端浏览器来实现,结构的核心部分集中在服务器上,浏览器端与服务器端采用请求/响应模式进行交互。基于 B/S 结构开发的网站可以动态输出,在线更新网页内容,同用户进行实时交互。采用 B/S 结构开发的系统具有开发简单、客户端操作容易、系统维护升级方便、软件重用性高等优点,B/S 结构已成为 Web 应用开发的主流模式[3]。

1.2.2 JSP 技术

JSP 技术是由 Sun 公司发布的一种开放的,跨平台的用于开发动态 Web 应用的一项技术,以 B/S 结构为基础,由应用服务器中的 JSP 引擎来编译和执行来自浏览器客户端的请求,访问数据库,将响应的结果生成页面信息返回给客户端。其技术特点是开发的程序能够在任何 Web 或应用程序服务器上运行,且 Web 服务器、平台及其他的组件升级或切换较容易[4],同时开发和测试周期短,简化了开发基于Web 的交互式应用程序的过程。JSP 工作过程如图1 所示:

图1 JSP 工作过程

1.2.3 Tomcat服务器

Tomcat服务器是一个免费的开放源代码的 Web 应用服务器,实现了 JSP 及其相关组件的规范,是开发和调试 JSP程序的首选。因其技术先进、性能稳定,而且免费,成为目前较流行的 Web应用服务器。

1.2.4 JDBC(Java Data Base Connectivity)技术

JDBC 技术是 Java 与数据库互连技术,通过定义一组API(Application Programming Interface)的对象和方法同数据库进行交互,具体过程为 JDBC API 接口通过 java.sql包中的 java.sql.DriverManager 来载入针对各种不同数据库的驱动,对数据库连接提供支持,并通过底层不同的 JDBC 驱动程序来连接各种不同的数据库。进而实现与数据库建立连接、发送数据库操作语句到数据库中、处理数据并得到结果集。JDBC 工作原理如图2 所示:

图2 JDBC 工作原理

JDBC驱动由各类数据库厂商提供,驱动的方式有两种:一种是适用于个人开发与测试的 JDBC-ODBC 桥连方式,另一种是多用于生产型开发的纯 Java 驱动方式。纯 Java 驱动由 JDBC 驱动直接访问数据库,其优点是速度快而且可跨平台,前提是访问不同的数据库需要下载专用的 JDBC 驱动。

2 系统总体设计

2.1 系统功能结构设计

系统在功能结构设计中立足于企业宣传这一核心,分析该类企业的需求,针对企业广泛存在业务扩展及客户聚增的特点,急需开发一个企业展示及交流平台,以便客户了解公司业务范围和最新产品,及时反馈产品使用情况,达到产品宣传、拓展客户、提升业绩、打造品牌的作用。因此,设计的功能模块主要包含以下5个方面:产品模块、聊天模块、管理模块、发帖模块、新闻模块。网站系统功能结构如图3所示:

图3 网站系统功能结构

产品模块:包含产品列表和产品详情。产品列表用于分页罗列每个产品的概要信息,并能链接至产品详情。产品详情详细介绍了产品的功能、型号、价格、特点、技术应用、使用说明等。

聊天模块:实现会员注册、登录和聊天功能。对于新客户需要注册会员,注册信息保存至数据库,会员经身份验证登录后方可进入聊天室。

管理模块:用于后台信息维护,主要实现对客户、产品、新闻信息的增、删、改、查功能,包含客户管理、产品管理和新闻管理。

发帖模块:包括发帖浏览、新增贴、回帖3个子项。发帖浏览用于分页显示所有帖子列表,通过帖子标题可以链接到回帖子项。新增贴用于客户留言。回帖用于显示一条帖子的标题和内容,以及所有有关该帖的回复内容,并提供回帖界面和提交功能。

新闻模块:同产品模块功能类似,包含新闻列表和新闻内容。新闻列表可以从发布时间最新的开始分页显示每条新闻的标题,并能链接至新闻内容。新闻内容显示当前新闻的详细信息。

2.2 系统数据库设计

数据库设计是将数据库中的数据实体以及这些数据实体之间关系,进行规划和结构化的过程[5]。首先,进行需求分析,收集企业宣传网站业务和数据处理信息,得到网站系统涉及的实体有客户、产品、新闻、发的留言帖和回复留言的帖子。其次,根据每个实体需要存储的详细信息确定其属性,标识各实体之间关系,得到 E-R(Entity-Relationship)实体-关系模型,进而转化设计出 5 张表,分别为客户信息表、产品信息表、新闻表、发帖表和回帖表。数据库5张表的结构如图4所示:

图4 数据库表结构设计图

3 系统实现

3.1 开发环境

系统采用 B/S 结构,以 Apache Tomcat 7.0 作为应用服务器,SQL Server 2005 作为数据库服务器,使用集成开发工具 MyEclipse8.0,基于 JSP 技术进行网络应用程序的开发,以 JDBC 的纯 Java 方式直接连接访问数据库。

3.2 根据数据库创建实体类

根据系统数据库设计出的客户信息表、产品信息表、新闻表、发帖表和回帖表分别创建对应的实体类。实体类的作用是依据面向对象的原则描述一个业务实体,其中封装了实体的各项属性[6]。其中产品表对应的实体类部分代码如下所示:

public class Product {

private int productID;

private String name;

private String model;

private String characteristic;

public int getProductID() {

return productID;

}

public void setProductID(int productID) {

this.productID = productID;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getModel() {

return model;

}

public void setModel(String model) {

this.model = model;

}

public String getCharacteristic() {

return characteristic;

}

public void setCharacteristic(String characteristic) {

this.characteristic = characteristic;

}

3.3 数据库访问公共类的实现

数据库访问公共类是系统自定义的数据库底层操作类,主要用来提供获取数据库连接对象方法、数据库增、删、改、查操作方法、关闭结果集、声明和连接等方法。由于网站系统需要访问多张数据库表,这样就需要为每张表提供一个访问操作业务类,如果提前写好一个数据库访问公共类,并将数据库访问的常用基本操作方法包含其中,让每张表的业务类都继承这个基类,就可以省略很多相同的数据库底层操作代码,从而减少程序的冗余,使得业务类更加规范、可扩展性也更强。系统采用纯 Java 驱动方式的 JDBC 技术直接访问数据库,数据库名称 enterpriseDB,数据库用户名和密码均为 sa。系统数据库访问公共类部分代码如下所示:

public class BaseDao {

public final static String DRIVER = "com.microsoft.sqlserv er.jdbc.SQLServerDriver";

public final static String URL = "jdbc:sqlserver://localhost: 1433;DataBaseName=enterpriseDB";

public final static String DBNAME = "sa";

public final static String DBPASS = "sa";

public Connection getConn() throws ClassNotFoundExcepti on, SQLException{

Class.forName(DRIVER);

Connection conn = DriverManager.getConnection(URL,DBN AME,DBPASS);

return conn ;

}

public void closeAll( Connection conn, PreparedStatement

pstmt, ResultSet rs ) {

if(rs != null){

try { rs.close();} catch (SQLException e) {e.printStackTrac

e();}

}

if(pstmt != null){

try { pstmt.close();} catch (SQLException e) {e.printStackT

race();}

}

if(conn != null){

try { conn.close();} catch (SQLException e) {e.printStackT race();}

}

}

3.4 网站系统产品模块的实现

由于篇幅所限,下面仅以系统产品模块为例加以实现。企业网站是企业在互联网上进行网络营销的重要平台,因此产品宣传是构建企业网站的最基础内容,也是企业宣传的核心。系统主要通过产品列表展示和产品详细介绍来进行产品的宣传。

3.4.1 产品列表实现

(1)创建产品的业务类

产品的业务类继承自数据库访问公共类,在其中建立查询并返回所有产品信息的方法 findAllProduct(),通过产品列表页面,分页显示所有产品列表。产品的业务类除了包含查询所有产品信息方法外,还建立根据产品 ID 查找相关产品信息、实现产品分页显示、根据产品 ID 删除相关产品信息、添加产品信息等方法。产品业务类中查找所有产品信息的代码如下所示:

public ListfindAllProduct() {

List list = new ArrayList();

String sql = "select * from product ";

try {

conn = this.getConn();

pstmt = conn.prepareStatement(sql);

rs = pstmt.executeQuery();

while (rs.next()) {

Product product = new Product();

prod

uct.setProductID(rs.getInt("productID"));

prod

uct.setCharacteristic(rs.getString("characteristic"));

product.setName(rs.getString("name"));

product.setPrice(rs.getDouble("price"));

prod

uct.setTechnology(rs.getString("technology"));

product.setModel(rs.getString("model"));

product.setPhoto(rs.getString("photo"));

prod

uct.setApplication(rs.getString("application"));

list.add(product);

}

catch (Exception e) {

e.printStackTrace();

} finally {

this.closeAll(conn, pstmt, rs);

}

return list;

(2)创建产品列表页面

产品列表页面中显示产品的简要信息,使用超链接传递productID 值,当点击产品名称时可以根据产品的 ID 查询出产品的详细信息,并由产品详情页面显示,产品列表 JSP 页面中超链接代码如下:

href="Productdetails.jsp?productID=<%=product.getProductID ()%>">

<%=product.getName()%>

3.4.2 产品详情实现

使用产品业务类中根据产品 ID 查找产品的方法,查询数据库,并返回封装了产品信息的产品对象,在产品详情JSP 页面中显示产品的详细信息,产品详情页面部分代码如下:

<%

String productID = request.getParameter("productID");

ProductDao productDao = new ProductDao();

Product product = productDao.findProductByID(productID); %>

<%=product.getName()%>

<%=product. getModel()%>

产品特点

<%=product.getCharacteristic()%>

4 总结

系统以 B/S 结构为基础,采用 Tomcat作为应用服务器,使用纯 Java 驱动方式的 JDBC 技术直接访问数据库,根据企业需求分析,详细进行系统功能结构设计和数据库设计,最终基于 JSP 技术完成了企业动态网站系统的设计与开发。系统能够提供产品展示、信息查询、会员注册、登录、后台信息维护和在线聊天、留言板等交流互动服务,且具有访问速度快,安全可靠,易于维护和管理的特点。

[1] 陈爽.何兰.关于企业网络营销的有效手段——网络广告的研究[J].中国商贸,2012,11:21-22.

[2] Ruhul Sarker, Mohd Omar, S.M. Kamrul Hasan, Daryl Essam.Hybrid Evolutionary Algorithm for job scheduling under machine maintenance[J].Applied Soft Computing 2013(13):1440–1447.

[3] 关淳,王培军,成岳鹏.基于 B/S 模式的实验室设备维修[J].实验技术与管理,2012,29(6):221-223.

[4] 刘江平,倪小刚,李艳.基于 MVC 模式的 ERP 资源管理系统[J].内蒙古农业大学学报.2013,34(2):171-172.

[5] 祁新安,候清江.SQL Server 数据库运用研究[J].制造业自动化.2010,32(12):30-32.

[6] 陈望挺,林满足,陈建,章跃,傅奇佳,竺乐庆.基于 JSP 和Android 的 C/S 结 构 问 卷 系 统 [J]. 计 算 机 应用.2013,33(3):886-889.

Design and Implementation of Enterprise Dynamic Website Based on JSP Technology

Xue Qian
(Shaanxi College of Communication Technology, Xi’an 710018,China)

In order to promote enterprise products and expand the business, so as to improve the corporate performance and set up the enterprise brand,enterprise dynamic website system was designed and implemented. Based on comparison of current popular Web technology,JSP technology was selected to develop system ,then analysing the technical key points relating to system development was laid special stress on, which included B/S, JSP, Web application server and database connection. According to the analysis of enterprise demand,the system function structure and database was designed in great detail, next product module implementation process was taken as an example, finally the construction of enterprise dynamic website was completed. The system provides enterprise display and information exchange platform, and has a good effect on the enterprise publicity.

JSP; Enterprise Publicity; Enterprise Website; B/S Structure; JDBC Technology

TP311

A

1007-757X(2014)02-0014-04

2014.01.15)

国家自然科学青年基金项目(41102107)

薛 倩(1978-)女,陕西交通职业技术学院信息工程系,讲师,工学硕士,研究方向:交通信息工程,地形处理与模式识别,西安,710018

猜你喜欢
列表数据库客户
学习运用列表法
扩列吧
为什么你总是被客户拒绝?
如何有效跟进客户?
数据库
数据库
数据库
做个不打扰客户的保镖
数据库
列表画树状图各有所长