- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
企业商用项目总结企业商用项目总结
Struts部分
Struts工作原理:
之前MVC开发的流程(执行的流程),以登录为例:
先编写JSP的登录表单 ( Servlet(接收参数,整合或验证参数,调用DAO进行处理,跳转) ( JSP信息提示等操作
使用Struts后的流程:
先编写登录表单(使用Struts标签完成) ( Action(接收参数,整合或验证参数,调用DAO进行处理,跳转) ( JSP信息提示操作
Struts的工作原理
谈到Struts,我们就不得不提到MVC设计模式。MVC即Model-View-Controller的缩写,它是web应用当中的常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts是MVC的一种实现,它很好的结合了Jsp,Java Servlet,Java Bean ,Taglib等技术。那么我们来看看Struts框架的工作原理:
控制:在Struts中,ActionServlet起着一个控制器(Controller)的作用。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action Form(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。所有这些控制逻辑利用Struts-config.xml文件来配置。
视图:主要是由Jsp来控制页面输出的。它接收到Action Form中的数据,利用html,taglib,bean,logic等显示数据。
模型:在Struts中,主要存在三种bean,分别是:Action,ActionForm,EJB或者Java Bean。ActionForm用来封装客户请求信息,Action取得ActionForm中的数据,再由EJB或者Java Bean进行处理。
2.Struts的组织
struts.xml里的分发配置
可以通过路径来分发不同的方法:
action=dept_insert
s:form action=dept_insert namespace=/pages/dept method=post
dept表示进入的Action,insert表示Action中要执行的方法名。
在forward.jsp中,可以加入自动跳转功能。
center
${message },span id=time_span5/span秒后自动跳转!br
如果没有跳转,请点a href=${path }这里/a!br
/center
Struts2中自动处理中文乱码,只要编码使用的是UTF-8,就不会出现乱码。其原理就是Filter过滤器。
过滤器可以实现编码过滤,以及登录过滤功能
Action中的validate验证方法,也支持分发操作。
可以针对某一个方法来进行验证。
public void validateInsert() {
if (dept.getDname() == null || dept.getDname().trim().equals()) {
super.addFieldError(dname, 部门名称不能为空!);
}
}
struts
package name=root namespace=/ extends=struts-default
action name=login class=edu.buaa.action.LoginAction
result name=suc/pages/suc.jsp/result
result name=input/index.jsp/result
/action
/package
package name=dept namespace=/pages/dept extends=struts-default
action name=dept_* class=edu.buaa.action.DeptAction method={1}
result name=input/error.jsp/result
result name=forward/forward.jsp/result
result name=list/pages/dept/dept_list.jsp/result
result name=update/pages/dept/dept_update.jsp/result
/action
/
文档评论(0)