1 / 15
文档名称:

strust学习笔记(全).docx

格式:docx   大小:30KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

strust学习笔记(全).docx

上传人:s0012230 2018/7/11 文件大小:30 KB

下载得到文件列表

strust学习笔记(全).docx

相关文档

文档介绍

文档介绍:struts2
:先导入struts-,这是一个空的工程,把它作为模板进行开发
是不是用了struts就可以抛弃servlet? struts底层仍然是servlet,其实是用了一个Filter来进行分发()。

到底哪个请求分给给哪个类来处理,
<action name="hello" class="处理这个hello请求的类">

一、定义一个普通类,在其中定义一个public String execute()方法,在其中写上处理逻辑,这个方法会在对应的请求过来时自动回调。
二、除此之外还可以实现接口Action,但现在暂时没有必要
三、继承ActionSupport,但现在暂时没有必要


struts2中,XXXAction代表了C控制逻辑,,另外还有模型M
strut2完全可以不去理会HttpServletRequest和HttpServletResponse,让我们从这些繁杂的Servlet的api中解放出来。
如何取出请求中的参数呢?(("xxxx"))
Struts中只需要将Action类的属性定义为和请求参数同名即可(框架会自动读取请求参数,并自动注入到同名的属性中去),我们只需要在execute方法中将属性的值(也就是参数的值)取出来用就可以了。
如何在Action中往后面的jsp传值呢?(("xxx","xxxx"))
struts只需要把要传给后面的值,放在Action类的属性中,需要定义getter方法;然后在后面的jsp中用el表达式就可以取出来了
Action是MVC中的C,控制;Action中的那些接收参数的属性属于M,模型。
:
一、把要接受的参数属性直接写在Action中
方便,但是将C和M耦合起来了
二、专门定义一个模型类,把参数属性都定义在模型类中,然后在Action中定义一个这种模型类的属性。这样也能进行参数获取,
比如: 我们可以将name和age封装到一个User类中,在Action定义一个User属性user
在前端,我们就要这么写参数,=tom&=20
这第二种方式将M、V、C彻底分离,在需求变更的情况下往往只要对一个模块进行修改,避免污染原先正确的代码。
三、ModelDriven方式,需要让Action类实现ModelDriven接口,并实现getModel()方法;在前端就不需要加模型名字,仍然用name=xxx&age=xxx这种方式。这种方式不常用。
,也能处理post方式的。
后缀过滤,-pattern中配置要用struts2处理的路径,可以用
*.
*.do
,但其实可以一个Action处理多个url请求。方式就是在Action中定义多个方法,方法名随意,。
比如: <action name="test" class="...TestAction" method="test1">这样写就表示路径为test的url的请求会由TestAction的test1方法来处理
<action name="abc" class="...TestAction" method="test2">这样表示路径为abc的url的请求会由TestAction的test2方法来处理
DMI dynamic method invocation 动态方法调用
一个Action中定义多个方法,在配置文件中却只注册这个Action本身
<action name="xxx" class="....XXXAction">
在前端,使用url: xxx!方法名来调用对应的方法来处理请求
注意:这种方式比较危险,默认关闭,需要设置一个Constant去开启
<constant name="" value="true"></constant>
开启完就能使用动态方法调用了,比如,C