锁定老帖子 主题:struts2
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-22
Struts2浅谈 Struts2是基于struts 和WebWork的技术基础上的服务于Web的一种MVC框架 ,Struts 2以WebWork为核心 ,采用拦截器的机制来处理用户的请求 ,业务逻辑控制器能够与Servlet API完全脱离开 。
Struts2框架的大概处理流程如下: 1、加载类(FilterDispatcher) 2、读取配置(struts配置文件中的Action) 3、派发请求(客户端发送请求) 4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action ) 5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证) 6、处理业务(回调Action的execute()方法) 7、返回响应(通过execute方法将信息返回到FilterDispatcher) 8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面) 9、响应用户(jsp--->客户浏览器端显示)
Struts2优点: 相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大 Struts1的Action依赖于Servlet API,比如Action的execute方法的参数就包括request和response对象。Struts2中的Action不再依赖于Servlet API。 ActionSupport基类: ActionSupport基类实现了Action等其它一些接口。其中定义了五个标准的返回值 ,当然我们可以自己随意定义返回的名字 String SUCCESS = "success"; //默认是 SUCCESS 类型 String NONE = "none"; String ERROR = "error"; String INPUT = "input"; String LOGIN = "login";
Mvc模型: Struts2是基于mvc开发模式的,那什么是mvc模式: 模型(M): Model层实现系统中的业务逻辑,通常可以用JavaBean来实现 视图(V):View层用于与用户的交互,通常用JSP来实现 控制器(C):Controller层是Model与View之间沟通的桥梁,它分派用户的请求并选择恰当的视图以用于显示
Struts配置:
1.新建web工程 2.下载struts-2.3.3-all.zip,解压,将里面的相关包copy到WEB-INF的lib目录下 3.在src目录下新建struts.xml文件,代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "HTTP://struts.apache.org/dtd/struts-2.0.dtd"> <struts> </struts> 4.在web.xml文件中添加如下代码: <filter> <filter-name>Struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>Struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5.运行项目。如若不报错这配置成功可以开始做项目。 注意: 1.刚开始测试时会出现很多问题 那是因为该导入的包没有导入 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar commons-logging-1.1.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.jar ognl-3.0.5.jar struts2-core-2.3.3.jar xwork-core-2.3.3.jar 试着将这些包都导入 如果还不行再导入其他包
2.报错:The markup in the document following the root element must be well-formed. 检查一下web.xml文件中所有的标签是否都放到<web-app></web-app>里面了
3.struts.xml要求必须在WebRoot下WEB-INF的classes目录下。我们可以在src下建立 struts.xml文件,在src根目录下建立的文件eclipse都会自动编译到classes目录下, 系统运行时解析的是classes目录下的文件而不是src下的文件。
4.报错 Could not find action or result There is no Action mapped for namespace [/] and action name [login] associated with context path [/Struts2]. - [unknown location]
如果struts.xml文件位置没错的话 那就是因为文件的内容有误 仔细检查每个单词 每个字母 肯定能找出错误。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 3170 次