Struts2学习笔记1

学习方法:

特点:内容多,比较散。做好笔记

多做实验,证明你的结论。或者查看Struts2自带的文档。增加印像

实际开发时:用得相对较少。

 

一:模型:

 

二:MVC 理解

MVC

M:模型。封装数据

V:视图。展现结果。之前用的是JSP

C:控制器。接收用户的请求,根据不同的请求执行不同的代码,转向不同的页面。之前用的是Servlet

规律:用户什么请求?-----------执行哪个方法?--------------方法执行完转向哪个视图?

三:Servlet  VS Filter  比较

Servlet可以作为控制器,Filter也可以作为控制器,而且功能比Servlet要强大,强大在Filter能根据条件决定是否放行。

四:Struts2优点:

允许POJOPlain Old Java Objects)对象作为Action

Actionexecute方法不再与Servlet API耦合,更易测试

支持更多视图技术(JSPFreeMarkerVelocity

基于Spring AOP思想的拦截器机制,更易扩展

更强大、更易用输入校验功能

五:开发所需要的包

小技巧:从Struts2发行包\apps\struts2-blank\WEB-INF\lib

核心控制器

web.xml

 

 

建立Struts2的配置文件:指挥过滤器如何工作

小技巧:从Struts2发行包\apps\struts2-blank\WEB-INF\classes\struts.xml拷贝

 

 

验证是否成功,加载到Tomcat  启动 没报错则成功。

 

六 :执行过程

 

七:Struts.xml配置文件详解

package元素:

作用:方便分模块化开发

属性:

name:必须有。唯一。作用标示一个包。最好有一定的含义。

extends:继承。一般要求必须继承struts-default的包。不继承该包,将无法使用struts2提供的一些核心功能。struts-default包在

              struts-default.xml中有配置,加载自己的struts.xml文件之前,框架就已经加载了struts-default.xml配置文件,

              所有我们可以使用。

abstract:是否是抽象包。让别人继承用的。没有任何action子元素的包就可以声明为抽象包。

namespace:名称空间。默认值是"",称之为默认名称空间。(很多其他的都讲错了,默认的名称空间是/)。取值一般以/开头

重点:namespace和动作的name共同组成了用户访问的URI

action元素:

action:定义一个动作。

name:动作名称。对应着用户的请求名称,默认的后缀是action或没有后缀。

class:框架要实例化的动作类名称,全名称。默认值是com.opensymphony.xwork2.ActionSupport。在struts-default.xml中有定义。

method:执行的动作类的动作方法。默认值是execute

八:多个struts配置文件

九:在动作类中使用Servlet的API

方式一:特简单,记住。建议使用的

使用ServletActionContext。可以在任何地方都可以获取到

 

方式二:了解

实现原理:Struts2的拦截器。servletConfig做的。

 

十:结果视图

result元素:

         作用:配置逻辑结果视图。一个动作可以对应多个逻辑视图。

         属性:

          name:逻辑视图名称,和动作类方法的返回值对应。默认是success

          type:转向实际视图的方式。默认是dispatcher,转发,目标是一个页面。

type的取值:从struts-default.xml

 dispatcher:目标是一个页面,请求转发。

 redirect:目标是一个页面,请求重定向。

 chain:目标是另外一个动作,请求转发。

 redirectAction:目标是另外一个动作,请求重定向。

如何设置参数

 

和下面写法一样

 

 

转发的目标动作不在同一个包下,而且包有着不同的namespace

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值