为了账号安全,请及时绑定邮箱和手机立即绑定

Struts2入门

真心觉得不懂,看了很多,也百度了很多,就是运行不了,心累。。。。。
@Andis,我跟你学。也看了五六遍,有看了不少博客教程,学了stru2的实战才算明白了怎么回事。

已采纳回答 / 我觉得有点菜
安装java ee插件   Help-->Eclipse Marketplace-->搜索eclipse for java ee(大致这名就能搜到...)-->install-->选Web项  
讲真,这个老师他可能讲得不是很基础,没有讲得很详细,但是如果自己再去百度查一下,弄清楚一些基础知识,在来看这个老师讲得,还是很不错的
老实说,老师对MVC的理解不够深。MVC的模式的分层设计的确是为了视图层和模型层的解耦而生。控制层起到一个隔离的作用,这样的设计是具有正交性的。如果有N个视图和M个模型的话,只要写N*M个控制器就可以生成N*M种模式(还没包括模型层的M * (M-1)的组合),这样重复的代码是可以控制到最低的,也是最易于控制的。
老师你这样讲我容易瞌睡
求PPT和文档
我来解释(逗逼)一下,错误信息的处理流程,仅供参考
1.Action类的父类ActionSupport中有一个收集错误信息的容器Map,错误信息是名称fieldName和描述信息errorMessage的键值对
2.struts框架把login.jsp中的表单数据传递给Action类的方法进行处理后,如果有错误则错误信息被添加到容器里,方法返回值INPUT
3.struts框架从处理结果中提取出错误信息,并注入到INPUT对应的jsp文件中,将该jsp返回给用户
4.用户得到jsp后,根据标签<s:fielderror>的属性name匹配错误信息fieldName,将错误信息显示在视图对应位置
我来解释(逗逼)一下,方法3中struts框架的数据处理流程
1.和方法2不同点:把User换成List其它流程一样
2.关键在于理解逻辑视图分离的思想,框架先提取视图中的表单数据,用action的属性name在xml中找到匹配的Action类,并实例化这个类的一个对象,用set方法把表单数据注入这个对象,执行xml中method指定的方法,用返回值匹配result返回对应视图
3.以上流程可以看出,视图不需要考虑怎么把数据传给逻辑,逻辑也不考虑怎么得到数据怎么把结果视图返回给用户,一切由MVC框架完成,逻辑视图控制器相互独立,这就是解耦,可以参考spring中“依赖注入”的概念,本质是一样的
我来解释(逗逼)一下,方法2中struts框架的数据处理流程
1.和方法1不同点:表单数据被注入了User对象,再把user注入LoginAction
2.从Login.jsp视图中得到表单数据后,用action="name1.action"的name1匹配xml中的<action>的name
3.匹配成功的是LoginAction,框架会实例化它的一个对象,由于这个对象有一个User属性,再实例化一个User对象,然后用set方法把表单数据注入user再用set方法把user注入LoginAction
4.执行login方法得到返回值,用返回值找到<result>中对应的jsp视图返回给用户
我来解释(逗逼)一下,方法1中struts框架的数据处理流程
1.用户在login.jsp提交表单数据后,提取<form>的属性action="name1.action"
2.用name1去匹配struts.xml中<action>的属性name,案例中是LoginAction
3.执行匹配成功的action对应的class对应的method,得到返回值
4.用返回值去匹配<result>的属性name返回对应jsp,name被省略了返回默认success.jsp
关键是步骤3中,Struts框架会先实例化class的一个对象,然后用set方法把表单数据注入到这个对象,所以必须先实现set方法
我来解释(逗逼)一下,案例代码的命名太具迷惑性了,不易理解struts执行流程
1.收到页面请求/HelloWorld/name1_name2_… .action后,用name1_name2_…匹配<action>的属性name="*_*_…",并用name1代替所有{1},name2代替所有{2}…以此类推
2.执行对应<action>的对应class的对应method,得到返回值value
3.用返回值匹配<result>的属性name,若精确匹配则返回对应视图jsp给用户;若匹配失败,如果返回值是SUCCESS则返回默认jsp,如果是NONE则返回空jsp,如果是ERROR则显示错误页面
课程须知
小伙伴们,学习本课程前需要具备Java Web基础,熟悉JSP和Servlet。
老师告诉你能学到什么?
1、能够对Struts2框架有更深入的了解 2、能够独立编写Struts2程序

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消