优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

IP地址管理系统的设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

2.1.2 JSP组件
在传统的HTML文件中(如:*.htm或者*.html)中嵌入JAVA代码和JSP的标签就形成了JSP网页。JAVA程序片段可以操纵数据库、重新定向网页以及逻辑处理等等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给用户端的仅为输出的结果。JSP技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持Java,也可以访问JSP网页。
当JSP容器接受到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成Javaservlet源文件,然后对其编译。一般情况下,Serlet源文件的生成和 编译仅在初次调用JSP发生。如果原始的JSP文件被更新,JSP容器将检测所做的更新,在执行它之前重新生成Servlet并进行编译。
JSP在本质上也是Servlet,但两者创建的方式不一样。Servlet完全由Java程序代码构成,擅长于流程控制和事务处理,而通过Servlet来生成的动态网页就很不直观,不能通过其它的工具来进行设计页面。JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中,采用Servlet来控制业务流程,而采用JSP来生成动态网页。在Struts框架中,JSP位于MBC设计模式的视图层,而Servlet位于控制器层[2]。
2.1.3 Javabean组件
JavaBean是一中符合特定规范的Java对象,在JavaBean中定义了一系列的属性,并提供了访问和设置这些属性的公共方法。JavaBean可以作为共享数据,存放与page、request、session或application范围内。在JSP文件中,可以通过专门的标签来定义或访问JavaBean。可以在不同的范围内定义JavaBean对象,具体的语法如: [资料来源:http://THINK58.com]
 定义个一page范围内的JavaBean对象
<jsp: useBean id=”bean的名在页面引用”  scope=”page” class=”类名”>
同时也可以设置bean的具体的属性。
当JSP和JavaBean搭配使用时,JSP可侧重于生成动态网页,数据或逻辑JavaBean来提供,这样能充分利用JavaBean组件的可重用性特点,提高开发望站的效率[3]。

[版权所有:http://think58.com]

2.1.4 客户化JSP标签
SP标签技术是在JSP1.1版本中才出现的,它支持用户在JSP文件中自定义客户化标签,这些可重用的标签能够出来复杂的逻辑运算和事务,或者定义JSP网页的输出内容和格式。自定义JSP标签可以使JSP代码更加的简洁,有助于将JSP文件中的Java程序代码分离出去,使JSP文件侧重于提供HTML表示层数据。
 使用客户化标签具有很多的优点如:
  1.由于标签具有可重用性,因此可以提高开发效率。
 2.可以在JSP页面以静态或动态的方式客户化设置自定义标签的属性。
 3.标签可以访问JSP网页中的所有对象,如Httpservlet和HttpServleResponse等。
4.标签可以相互嵌套,来完成复杂的逻辑。
 5.标签可以使JSP页面变的更加的简洁,提高可读性。
2.1.5 XML语言
XML,即可扩展标记语言,是一种用来创建自定义标记的标记语言。XML在Web应用中以及Web服务开发中的到了广泛的应用,可用来描述结构化的数据。XML的标记通常包含一对起始和结束标签,在标签之间插入相应的数据。
XML文件常用做各种软件的应用的配置文件。在基于Struts框架的Web应用中,有两个重要的配置文件:web.xml和struts-config.xml。还有上面所说的自定义标签的的.tld文件。 think58

[来源:http://www.think58.com]


2.2.1 MVC设计模式概述
MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图、和控制器,它们分别担负不同的任务[5]。
其中视图是用户看到并与之进行交互的界面。视图向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何的实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
其中模型是应用程序的主体部分。用来表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
其中控制器是接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交数据的按钮来发送HTML表单时,控制器接受请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据[6]。
2.2.2 Struts实现MVC设计模式
Struts很好的实现了MVC框架。在Sstruts框架中,模型由实现业务逻辑的JavaBean组件构成,控制器由AtionServlet和Action来实现,视图由一组JSP文件构成。
其中的视图就是一系列的JSP文件。在这些文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或客户化标签。通常我们都把Struts框架中的ActionFormBean也划分到视图模块中。ActionForm Vean也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struts框架利用ActionFormBean来进行视图和控制器之间的表单数据的传递。 think58.com [资料来源:http://www.THINK58.com]
模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个试图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
控制器接受用户的输入并调用模型和视图去完成用户的请求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接受请求并调用相应的模型组件处理请求,然后调用相应的视图来显示模型返回的数据[7]。
2.2.3 改写Struts中的ActionServlet
在使用struts的大多数的情况下都不需要对ActionServlet进行改写,但许多应用需要访问它们特定的资源,为了使Struts更容易初始化特定的资源,你可以注册一个插件Action 到控制器中。然后控制器在启动时调用Action的init 方法,在退出时调用destroy 方法。Action 能够访问调用的servlet,并能够用来做一切常规servlet 能做的所有事情。
Struts提供了三个扩展点—RequestProcessor, ExceptionHandler, 和PlugIn Action—并没有给ActionServlet留下太多的工作要做。事实上,ActionServlet在运行时要做的所有事情仅仅是为相应的应用模块选择相应的RequestProcessor而已[8]。
先说Procesor,当一个请求到达时,ActionServlet选择应用模块并将请求转给相应的请求处理器。每个模块都可以载入其自己的RequestProcessor子类,或者使用框架提供的默认请求处理器。请求处理器的子类可以通过Struts配置文件向控制器注册,其配置元素可以是这样配置: [资料来源:THINK58.com]
<controller processorClass="myApp.MyRequestProcessor"/>
其中需要改写的方法分别为:Prosess 和ProessRoles方法。Process 方法负责处理HttpServletRequest并创建相应的HttpServletResponse。请求处理器的扩展最有可能被完全覆写的方法可能是processRoles。该方法负责检查是否某个用户具有访问某个action 的权限许可。
再说ExceptionHandler,Action对象大多数情况下是ActionServlet的代表,并可以包括例外处理。另外,你也可以让Actions 将所有或者部分检测到的例外传递给ActionServlet,因为它可以捕捉所有例外。如果servlet 没有捕捉到例外,它就会检查看是否为某个例外或者其超类注册了例外处理。它首先检查ActionMapping 的局部例外处理器,然后是全局例外处理。
如果Servlet发现一个例外,它就会使用例外的详细信息调用处理器。如果没有,Servlet就会重新抛出一个例外,并且可能会中止在一个声名狼藉的“白屏”,因为它没有什么信息。在Struts中通常的异常处理是根据Forward跳转到错误页面并且打印具体的出错的信息。可以自己去配置具体的信息去完成一些特殊的属性的设置。
关于PlugInaction,许多应用都需要访问特定的资源。它们可能是数据访问组件,属性文件,或者其他大量的业务层组件。许多开发人员扩展了Struts,比如菜单系统,可选的校验器,数据转换器,XLS转换器等等。这些组件都需要解析自己的配置文件并创建它们自己的控制器对象。

[来源:http://think58.com]


在一个常规的Java web应用中,这些对象通常在Servlet的 init 方法中初始化并在destroy方法中销毁。我们可以子类化ActionServlet,并做同样的事情,但在开发人员使用第3方扩展组件的时候可能会造成冲突。
因为在大多数情况下,Action已经是Servlet的代表了,框架提供了一个PlugIn 接口(org.apache.stuts.action.PlugIn)以允许Action实现 init 和destroy 方法,就像在Servlet中一样。因为Action 可以作为成员变量访问Servlet ,那么一些可以在Servlet中初始化和释放的资源也可以在PlugIn Action中进行处理。

copyright think58

[资料来源:http://THINK58.com]

[资料来源:http://www.THINK58.com]