传智播客-struts1.3.8项目的具体实现流程

前言:这篇文章只是大致讲述了struts1.3.8的特点及创建struts项目的过程--struts1.3.8是冯威老师教的,冯威老师声音洪亮,讲课条理清晰,由浅入深(据说是某某培训机构最好的老师,现在来传智播客了,足见传智的号召力了吧~),详细内容请下载传智播客的网上免费视频http://www.itcast.cn/itcast_static/StrutsVideo.htm,或亲自聆听传智播客老师的讲解:)

 

正文:

struts是现在流行的ssh组合框架之一,ssh是指struts,spring和hibernate。这三个框架的侧重点分别是显示层,业务层和数据持久化层。

 

struts框架引入了MVC设计模式,角色清晰,分工明确。下图(课件截图)较好的说明了一个struts框架项目的主要结构。

struts开发框架

--Controller部分是通过专门的Servlet来实现的。
--Model部分一般由ActionForm和JavaBean组成 。
--View部分一般采用JSP实现。此外,Struts还提供了丰富的自定义标签库。

 

开发struts项目的具体实现步骤有:
1、新建项目
传智播客的老师讲项目时,建议学员在建立每个web项目时,在项目的webroot建立一个readme.txt文件,概述该项目的具体业务和实现步骤--webroot是指myeclipse,如果是其他开发工具,则是在对应的目录下。我个人觉得这个方式很好,至少对还在学习阶段的开发新手是很有帮助的,俗话说的好,好记性不如烂笔头,小项目可能很多东西一目了然,但是项目内容较多的时候,当我们做完这个项目,某天需要查找相关内容的时候,这个文档就可大显身手了,而且,写这个文件的同时,也有助于理顺开发思路。


2、添加Struts相关的jar包
如果采用的是servlet2.4及其以上的版本,则不需要再引入struts的标签库,会自动在/WebRoot/META-INF下生成。


3、准备视图组件
目前多为jsp页面。


4、创建javaBean组件
struts里的javaBean组件除了业务bean之外还有一类重要的formbean,这类bean需要继承org.apache.struts.action.ActionForm类。Formbean的主要职责就是负责前后端参数数据的交互(请求/响应)。例如,使用struts的html标签时,property属性值必须在对应的formbean中也有该对象的属性值,主要是必须同时存在该属性的get和set方法;但是formbean中的属性则不一定要求html页面中有对应显示;直接在formbean中给属性赋值可在页面初始化时即显示。
项目较大时,可以创建一个继承ActionForm的baseform,在该baseform中定义页面所需的共享数据的属性方法,例如分页所需的总页数,当前页,上传下载文件所需的文件类型验证等。


5、创建控制器组件
struts里的控制器(C)主要是指继承了Action/DispatchAction的类。继承了Action类和DispatchAction类的控制器区别再于,前者只能负责一个业务功能,而后者是多个。两者都有execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)方法,区别的根源在于DispatchAction类的execute方法实现中,有一部分是通过ActionForward接收XXX(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)方法的处理结果并将其转发(XXX是指自己定义的方法),这样DispatchAction就可以处理多个业务功能了。因此,实际项目开发中,可以建立一个继承DispatchAction类的BaseAction类,对继承了BaseAction类的Action类做一个预处理,再通过execute分派。
在控制器里可能要用到的其他知识点:
――属性值之间的复制:如果从formbean里得到的值过多,一个一个set至对应的业务bean里,这个体力活的工程量大了点,而且这样的实际情况也不少,因此struts很体贴地为我们设计了一个BeanUtils.copyProperties(businessBean,formBean)方法。具体使用请参见doc文档或自行google百度。
――转换器:先自定义一个转换器类(implements Converter),再注册该转换器,ConvertUtils.register(自定义转换器类,要转换的数据类型)。
――同步令牌机制(Token):解决多次刷新一次提交的问题。
――本地化:准备资源文件(默认的是resource.properties),jsp导入标签(可通过bundle属性单独绑定资源文件),struts-config.xml文件配置,action确定使用资源文件否及如何使用。
――文件上传:可以利用File.separator根据当前操作系统提取文件路径的分割符,便于代码移植。
等等。。。


6、准备配置文件
默认是struts-config.xml文件,部署在类路径根目录下,开发时在src目录下创建该文件即可。当然web.xml也要配置一下,详情请自行google百度。


7、发布并运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值