基于Struts框架简易计算器的实现
2016-06-14石家庄职业技术学院电气与电子工程系石家庄050081
李 鑫(石家庄职业技术学院电气与电子工程系,石家庄 050081)
基于Struts框架简易计算器的实现
李鑫
(石家庄职业技术学院电气与电子工程系,石家庄050081)
Struts框架是MVC模式的经典开源框架,它通过定义中央处理器(ActionServlet),利用核心配置文件隔离了模式和视图,并用Action类的方法统一定义用户请求,并且还提供了标签库以及ActionForm类自动将用户提交的数据填充到Bean中等简化代码的工具。使用Struts框架实现简易计算器,开发过程简单,代码量小,功能实现完善。
Struts;MVC;简易计算器
0 引言
Struts 是一个基于Sun JavaEE平台的MVC开源框架,它不仅具有MVC的各项特性,而且还在其基础之上做了相应的改进,它主要采用Servlet和JSP技术来实现。Struts开源框架能充分满足Web程序员的需求,简单易用,敏捷迅速,广受开发人员喜爱。目前世界上很多的网站,包括企业内部应用和外部的Internet网站都是基于Struts框架来实现的,当然这与它开源、可扩展性、支持国际化、强大的标签库、轻量级等众多优点是分不开的。
1 Struts框架的工作流程
在Struts框架中,担任中央控制器(Controller)工作的是ActionServlet,系统中所有的请求都会自动发给中央控制器ActionServlet。需要注意的一点是:无论是GET请求还是POST请求,在系统看来都是没有区别的,因为在ActionServlet中,doGet()和doPost()都会调用过程方法。当中央控制器接收到某个请求时,会根据发送请求的URI路径来决定使用哪个Action方法处理请求。
Action中包括一个execute方法,它负责执行相应的业务逻辑。在Action中,要处理的客户端提交的数据是由特殊的JavaBean提供的,JavaBean特殊之处就在于它必须是ActionForm的子类。当每次用户提交数据时,中央处理器和Action都会根据请求的路径来指定其对应的ActionForm,同时中央处理器会把用户输入的值绑定到ActionForm中。Action执行完业务逻辑后,返回一个ActionForward对象,中央处理器通过ActionForward对象进行消息的转发和Web的重定位。
2 框架组件及配置
2.1Struts框架主要组件
中央处理器(核心处理器)通过判断URI的值来决定使用哪个Action类处理业务逻辑,并且转发所有的Action请求。Action的主要功能就是进行业务逻辑的处理,它是用户请求和业务逻辑之间沟通的媒介。ActionForm属于一种实体类,用于在View层和Control层之间传递表单数据和用户请求。核心配置文件struts-confi g.xml将Struts框架中的各个常用组件集合在一起,协同工作,完成用户的需求,是Struts组件的集成器。
Struts将这些信息绑定在一个ActionMapping对象中,一个ActionMapping对应一个请求URI,当请求路径到达的时候,ActionServlet就会查询ActionMapping对象,ActionMapping对象将告诉ActionServlet哪个Action类会被调用、哪个ActionForm类被用于传递页面数据以及哪些ActionForward将被用于转向。
2.2配置文件中
Action Bean对应的是配置文件struts-confi g.xml中的子元素
①path:和当前Action类对应的request页面的相对路径,该相对路径通常定义为以“/”开头。
②type:指定当前Action 类的包含完整路径名的类名。
③name:指定和当前Action关联的ActionForm 的名字,该ActionForm Bean名字必须在
④scope:规定ActionForm 的存在范围,可接受值为:request和session,默认值为session范围。
⑤input:表单验证出错时要转向的错误处理页面。
⑥className:指定在调用Action Bean时要用到的ActionMapping类,通常省略。
⑦validate:表明是否首先调用ActionForm类的验证方法进行验证,true表示是。
⑧forward:指定目标响应页面。当不想使用Action Bean处理请求,而是直接转到目标响应页面时,可使用此方式。只有当前
3 简易计算器的实现
新建项目后,根据系统功能分析和输入数据的特点,建立CalActionForm对象,并自动生成get()和set()方法。根据Struts框架运行机制,ActionForm对象能够自动收集用户输入信息,交由事物类CalAction处理,处理过程为:
(1)实例化CalActionForm,并收集计算器的操作数;
(2)执行判断语句,根据操作符,执行不同的运算;
(3)存储结果,并转发到显示页面
(4)系统调试。
完成代码的编写、并确认正确。使用Eclipse中的调试功能,分析程序运行结果,结果符合预期要求,即用户端输入的数据和显示的结果一直,程序运行成功,功能实现。
[1]武宝珠,梁声灼,牛德雄著.基于Struts2+Spring+Hibernate架构构Web应用系统[J].计算机与现代化,2009(08).
10.16640/j.cnki.37-1222/t.2016.10.141
李鑫(1982-),女,河北石家庄人,讲师,研究方向:计算机应用技术。