简单理解struts1和struts2
来源:互联网 发布:matlab 随机字符串数组 编辑:程序博客网 时间:2024/06/15 06:50
比较
没有系统的学习过,仅凭借一个Struts实验和一个struts2实验过程比较,阐述个人对着俩种框架的看法。
Struts2作为后来者,必然相对于struts有进一步的改进,个人感觉俩者之间的区别
1. struts严重依赖与servlet,struts中的action类依赖于servlet的API,直观的将,需要在servlet标签中设置对应的action,当action被调用时,如下,excute()方法需要使用HttpServletRequest和HttpServletResponse作为参数,而struts2不需要参数,
public class RegisterAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{ return mapping.findForward("success"); }
- Struts1使用ActionForm对象捕获输入数据,类似Action,所有的Actionform必须扩展基类,因为javabean不能在actionform或action中使用,还需要其他的多余的类来辅助存储输入信息,进行消息传递,而struts2可以直接通过
<struts:property value="userName"/>
在jsp页面中获取action中的成员变量 - struts1模块中所有Action共享一个生命周期,而Struts2支持通过拦截器堆栈,为每一个Action创建不同的生命周期
Struts流程
- 客户端发送.action请求
- 过滤器筛选,路径匹配,跳转到struts.xml
- struts.xml进行action对应的匹配,创建实例
- 调用action的excute方法,执行用户的相关操作,业务逻辑
- 根据action的返回结果,在struts.xml中找到相应的返回信息
问题
研究了一晚上的问题,web.xml到struts-config.xml或struts.xml的映射问题,个人理解,假设你用了struts或struts2框架,web.xml会默认去寻找struts-config.xml或struts.xml文件,可以理解为,已经存在.xml文件的属性,我们只需要设置好对应路径,甚至,在struts2中不需要设置路径,只需要把struts.xml放在src文件夹下面,struts运行时先找struts.xml读取里面的配置,目前,我认为是不能修改这个文件名,就老老实实按照框架要求实验。
实验测试
对于struts中web.xml中
<init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value></init-param>
任意改变<param-name>config</param-name>
中config的值,对于结果无影响,但同时改变<param-value>/WEB-INF/struts-config.xml</param-value>
中struts-config.xml的文件名,以及其对应在文件夹中的名字,网页无法访问,得到结论,struts-config.xml名字需固定不变
同时struts2中web.xml中压根没有struts.xml的映射,可以认为也是框架内部已经默认固定会有这个struts.xml文件,而且路径位置固定在src文件夹中,通过实验验证确实,当struts.xml改个名字或放在WEB-INF文件架下面是,网页会无法访问,猜想正确
总结
struts-config.xml是struts1的配置文件,用来配置struts1的form,action等。
struts.xml 是struts2的配置文件,用来配置struts2的action等。
- 简单理解struts1和struts2
- struts2和struts1的理解
- MVC和struts1和struts2的理解
- 关于Struts1、Struts2和Webwork的理解
- struts的理解(struts1和struts2的区别)
- Struts1和Struts2区别
- struts1和struts2对比
- struts1和struts2比较
- struts1和struts2区别
- struts1和struts2区别
- Struts2 和Struts1对比
- struts1 和 struts2 区别
- Struts1和Struts2比较
- Struts1 和 Struts2
- 区别struts1和struts2
- struts1和struts2区别
- Struts1 和 Struts2 比较
- struts1和struts2比较
- STL list
- 【清单】 ---算法竞赛入门经典第二版 【例题+习题】【持续更新中..】
- Google kotlin 支持资料
- Kotlin: Java 6 废土中的一线希望
- 单元测试概述
- 简单理解struts1和struts2
- 异常及重写equals、toString方法
- C#高效插入sql数据库数据
- Spark性能优化:开发调优篇
- css之outline
- POJ_1990_MooFest_树状数组
- 关于Oracle数据库(PL/SQL)的登录问题的解决-总结
- sql语句case when使用和date_formate()的使用,DATEDIFF(字段1,字段2)获取天数,常用的MYSQL的函数
- javaweb自动登录(cookie)