基于JAVA的WEB系统与技术

基于JAVA的WEB系统与技术
基于JAVA的WEB系统与技术

基于JAVA的WEB系统与技术

摘要:通过本学期WEB系统与技术的课程学习,对WEB系统开发很多方面有了

更深入的了解,本文,通过对当今主流的几种web开发技术进行简要评价,并结合自己的设计作品谈谈基于java的web系统与技术,从而对这半学期的课程学习进行总结,并谈谈自己的看法。

关键词:WEB; JAVA;ASP

一.Web技术综述与对比

数据库是信息系统的核心。目前,Web与数据库连接的技术有很多 .其中JDBC 是 Java程序连接和存取数据库的应用程序接口,由一组用Java语言编写的类与接口组成。是执行SQL语句的Java API。在 Web系统中,在数据的存取方面.采用了 JSP/Servlet+JDBC的技术 ,即客户端不产生数据库查询命令。客户端上的浏览器通过URL和中间层的Web服务器建立连接,Web服务器主要负责接收本地或远程浏览器的HTTP数据请求.然后中间层的Servlet收到请求后,通过执行程序中的SQL语句 ,利用JDBC提供的标准API对数据库进行访问和相应的操作.Servlet 再将查询的数据传给JSP。最后生成标准的JsP页面将结果返回给提出请求的浏览器。这样 .不仅将客户端与数据库服务器端分开 ,同时提高了数据库的访问效率。

目前有三种比较主流的Web开发技术。它们就是ASP(ActiveX ServerPage ) 、PHP 、Java这三种技术。

ASP是一个服务器端的脚本环境。在站点的 Web服务器上解释脚本 ,可产生并执行动态的、交互式的、高效率的站点服务器应用程序。A S P内含于1lS 中。提供一个服务器端的脚本运行环境。W eb服务器会自动将开发者设计的Active SevrerPages的程序码解释为标准 HTML格式。在用户端的浏览器上显示出来,用户端要使用常规可执行HTML码的浏览器。即可浏览ASP借助Script脚本语言(Vbscript、Jscript)以及 ActiveX服务器组件来扩充功能。但ASP有一个缺点,安全性不好.使用者必须随时注意微软公司发布的补丁程序 ,以便及时更新统。

PHP是一种跨平台的服务器的嵌入式脚本语言,它大量地借用C、Ped语言的语法语言的语法,并结合PHP自己的特性。使Web开发者能够快速地写出动态生成页面。它支持目前大多数数据库。PHP可以支持具有与许多数据库相连接的函数。但 PHP提供的数据库接口支持不统一。比如对Oracle,MySQL、Sybase的接口.彼此都不一样。这也是PHP的一个弱点。

JsP是Sun公司推出的新一代站点开发语言。它完全解决了目前ASP,PHP的一个通病——脚本级执行。JsP可以在Servlet和JavaBean/ EJB支持下。构建功能强大的企业级Web应用平台。

JSP的最大特点是将内容的生成和显示进行分离。使用JsP技术 . Web页面开发人员可以使用HTML或者XML标记来设计和格式化最终页面。使用 JSP标记或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在JSP标记JavaBeans组件中 ,并捆绑在小脚本中。所有的脚本在服务器端运行。由于JSP 页面的内置脚本语言是基于Java编程语言的,拥有Java编程语言“一次编写 ,各处运行”的特点。而且所有的JSP页面都被编译成为 JavaServletClas,JSP

页面就具有 Java技术的所有好处 ,包括健壮的存储管理和安全性。

目前 ,ASP还主要运行于微软的服务器产品上。而 PHP可在多平台的Web服务器上正常运行,还支持IS.Apache等通用Web服务器 ,用户在更换平台时。需要对代码做一些改变。但PHP只能称为几乎与平台无关,例如:PHP函数库中的很多字符串函数在Unix平台下运行正常,但在Windows平台下根本不起作用。jSP几乎可以运行于所有平台。

目前在国内PHP与ASP应用最为广泛 ,但在国外,JSP已经是比较流行的一种技术,尤其是在电子商务类的网站 ,大多采用JSP。PHP本身存在很多缺点 ,首先 ,PHP缺乏多层结构支持。其次。PHP提供的数据库接口支持不统一 ,这就使得它不适合运用在电子商务中。ASP和JSP则没有以上缺陷 ,ASP可以通过Windows 的COMI DCOM获得Active规模支持。通过DCOM和MicrosofiTransaction Server 获得结构支持;JSP可以通过SunJava的JavaBean和EJB获得规模支持 . 通过众多厂商的ApplicationServer获得结构支持。

总体来说,JSP 是未来发展的趋势,事实上,世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。

JavaServerPages(JSP)和微软的ActiveServerPages(ASP)在技术方面都是为基于Web应用实现动态交互网页制作提供技术环境支持。

但仍然存在许多不同之处 .其中最本质的区别在于:两者是来源于不同的技术规范组织;其实现的基础:Web服务器平台要求不相同。

JSP 有以下几个方面的优点:

(1)平台与服务的独立性 :JSP技术依附于一处编写 ,处处运行。而A sp是基于ActiveX控件技术提供开发组件。其工作环境局限于微软操作系统的IS应用程序结构 ,不易实现跨平台工作。

(2)JSP技术 :开放的技术。JSP技术基于平台和服务器相互独立。技术支持来自广泛的、专门的各种工具包 ,由服务器的组件和数据库产品开发商所提供。相比之下。ASP技术主要依赖微软的支持。

(3)JPS标记可扩充:尽管A s P 和JSP都使用了标记与脚本技术.但JSP开发者能定制标记库来扩展JSP标记。所以网页制作者充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。

(4)开放的源代码:在开发JSP规范过程中.Sun公司与许多主要的Web服务器、应用服务器和开发工具供应商 .以及各种富有经验的开发团体进行合作开放源代码。而ASP技术仅依靠微软本身的推动。其发展是建立在独占的、封闭的开发基础之上。

(5)JSP跨平台的可重用性:JPS组件(企业JavaBean,JavaBean ,或定制的JSP标记 )都是跨平台可重用的。

(6)企业JavaBean :组件可以动态访问传统的数据库。并能以分布式系统模式工作于Unix和Windows平台。这种模式能够使开发人员快捷的利用子组件快速创建模板应用程序。然后在整合一些附加功能以后便可使用。像这样有效的方法在JSP中无处不在。并可将其打包成一个JavaBean或一个工业标准化的企业Java Bean组件。

在开发JSP规范过程中。Sun公司与许多主要的We服务器、应用服务器和开发工具供应商,以及各种富有经验的开发团体进行合作。其结果是找到了一种为页面开发人员平衡了可移植性和易用性的开发方法.JS技术在多个方面加速了动态 Web页面的开发 :

(1)将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或XML标记来设计和格式化最终页面。使用JSP标记或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在JSP标记和JavaBean/EJB组件中。并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在JSP标记和JavaBean/ EJB中,那么其他人 ,如 Web管理人员和页

面设计者。能够编辑和使用 JSP页面而不影响内容的生成。在服务器端JSP 引擎解释JSP标记和小脚本,生成所请求的内容.并且将结果以HTM L(或者

XML)页面的形式发送回浏览器。这有助于作者保护自己的代码。而又保证任何基于HTML的web浏览器的完全可用性。

(2)强调可重用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程。

(3)采用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言编程人员。JavaServerPage技术封装了许多功能 ,这些功能在易用的、与 JSP相关的 XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例JavaBean组件,设置或者检索组件属性.下载Java Applet.以及执行用其他方法更难于编码和更耗时的功能。

(4)通过开发定制化标识库, JSP技术是可以扩展的。今后 .第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得 web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

Servlets是Java小服务器程序,一般来说 ,Serv1ets是由服务器端调用和执行的 Java类 ,浏览器端运行的Java程序叫Applet,Web服务器端运行的Java 程序则叫Servlets。例如 ,一个Servlet可以从一个 HTML订单表中获取数据 ,然后用一些商业上的算法来更新公司相应的订单数据库。也就是说 .servlets 能够像CGI脚本一样扩展 Web服务器功能 .但是Sevlets占用很少的密集资源。同时由于Servlets是用Java编写的 ,因此是跨平台的。实际上,Servlets是电子商务的真正开始 .JSP在Servlets基础上有了更进一步的发展。

二.Java项目分析

通过此次课程学习,对web技术有所了解的基础上,结合自己的学习方向,选择了java+servlet的一套理论框架来开发web系统,以下就我自己做的超市管理系统进行相关的介绍。

1.项目概述

1.1业务需求概述

超市账单管理系统主要用于对超市的交易账单进行管理,如账单录入、账单修改、账单删除,以及和超市商品相关的供应商、用户的管理

等。所谓账单,就是超市与供应商进行交易的凭据。超市采购部的职员、超市的部门经理是该系统的目标用户。

要求:

(1)使用 jsp、servlet、jstl、html、jdk 特性(如抽象类或者接口)功能实现该系统。

(2)使用 oracle 数据库。

(3)必须按照 b/s 结构完成系统。

1.2项目功能说明

2.项目结构分析

如上图所示,在开发java程序时,将CLASS,BEAN分包存储,src放置源代码,biz是具体的执行事务代码,dao负责和数据库的底层连接以及相关的数据处理,servlet则是负责具体的浏览器和服务器中间的桥梁作用,具体的jsp网页则都放置在webroot文件夹下。其他则是加载的类库文件。

这是biz包的展开图,罗列了需要处理的具体事件,包括账单处理,登陆处理,供应商处理以及用户信息处理。

这是dao包的展开图,包括最基础的负责和数据库连接的connection,以及具体的负责在数据库执行操作的bill,provider,user等分类sql。

这个则是entity类的展开图,罗列的是和数据库一一对应的对象,从而便于java的处理。

这是webroot的展开图,其中放置的是具体的网页和负责网页映射关系的web文件,里面具体罗列servlet和网页映射关系的语句。

3.项目代码解析

由于代码非常丰富,这里选取其中的和数据库连接的代码进行相关的介绍,使用数据库为oracle。

private final String driver;

private final String url;

PreparedStatement pstmt=null;

Connection con=null;

这四句定义语句体现了连接数据库的精髓,即首先加载驱动,然后确定数据库url,其次是数据库操作语句,至此,即完成相关的功能。

driver="oracle.jdbc.driver.OracleDriver";

url ="jdbc:oracle:thin:@localhost:1521:orcl";

这两句话,基本在网站开发过程中需要记忆下来,驱动不会有变化,url则是说明了地址和端口号。

Class.forName(driver);

con=DriverManager.getConnection(url, "system", "ok");

通过这两句话,则完成了驱动的加载和数据库操作的准备工作。接下来,则可以通过具体的数据库操作语句对其进行操作,比如:

String sql="insert into users

(id,name,age,address)values(?,?,?,?)";

pstmt=con.prepareStatement(sql);

pstmt.setInt(1, us.getId());

pstmt.setString(2, us.getName());

pstmt.setInt(3, us.getAge());

pstmt.setString(4, us.getAddress());

int num=pstmt.executeUpdate();

通过以上代码,则可以完成向users表中插入信息的操作,并且对代码实现的结果进行了返回判断。

三.JAVA项目实现

1.登陆页面

需要先通过登录才能访问系统,输入时用户名、密码不能为空,用户名密码匹配错误,则需要返回提示信息。

登陆出错窗口:

2.主页面

系统内部整体使用 IFRAME 布局。主窗口显示当前的欢迎信息和登录用户名称,左侧是操作区域,包括账单管理、供应商管理、用户管理、退出操作,

右侧为公共数据区域。注意根据用户权限不同,左侧菜单树展示的内容也不相同,普通用户只有账单权限,经理及管理员账户才能进行供应商管理和用户管理,普通用户只能修改自己账户的信息而不能修改其他用户信息。

3.账单页面

账单管理数据列表页面支持组合查询功能,根据条件可以进行组合搜索;单击‘添加数据’ 按钮,进入添加账单页面,单击‘提交’将数据加入到账单列表中,在添加的过程中需要验证信息(红色的*)。

单击‘商品名称’进入到账单详细页面,单击‘修改’进行数据更新,单击‘删除’删除此条信息,单击返回,返回到上一层。

删除成功、修改成功等。

4.供应商页面

供应商管理数据列表页面支持组合查询功能,根据条件可以进行组合搜索;单击‘添加数据’ 按钮,进入添加供应商页面,单击‘提交’将数据加入到供应商列表中,在添加的过程中需要验证信息(红色的*)。

单击‘供应商名称’进入到供应商详细页面,单击‘修改’进行数据更新,单击‘删除’删除此条信息,单击返回,返回到上一层

删除成功、修改成功等。

5.用户页面

用户管理数据列表页面支持按用户名称查询功能,根据条件可以进行用户查询;单击‘添加数据’按钮,进入添加用户页面,单击‘提交’将数据加入到用户列表中,在添加的过程中需要验证信息(红色的)。

单击‘用户名称’进入到用户详细信息页面,单击‘修改’进行数据更新,单击‘删除’删除此条信息,单击返回,返回到上一层

单击修改密码,进入到修改密码页面,这里要对密码进行相关的验证

在修改和删除过程中要有必要的信息提示,如确认删除吗?、确认修改吗?、删除成功、修改成功等。

四.总结

通过此次课程学习,自己获益匪浅,不仅对主要的WEB技术有了深刻的了解,并且促使在这方面深入学习,自己制作了一个web系统,并获得成功。

在这个过程中,遇到了许多的问题和难题,但是通过查阅资料和不断的调试,问题一一获得了解决,为以后的学习和深造打下了坚实的基础。

在项目案例中,我所制作的超市管理系统是目前java技术在web上应用的较成熟的商业模式 .这种商业模式的web应用对于一个系统设计人员来说仍然有很大的难度 ,在此对开发java技术的过程中,使用jsp以javabean和数据库来开发一个超市管理系统来作为开发商业模式的入门,jsp技术作为一项新的动态网页设计技术,可以用java语言开发javabean组件,封装相同的代码。进行相关的复杂的计算。从而在开发的时候可以减轻动态面的程序的编写。同时还可以简化相关的逻辑处理。

对于javaweb技术的学习还有许多需要深入的地方,需要继续努力。

相关主题
相关文档
最新文档