struts学习笔记

传统的mvc模式

.

Struts开源架构很好的实现了MVC模式,MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

实现一个简单的struts案例

实现步骤

创建一个javaweb工程,并选中struts2,

创建jsp页面(创建视图)

创建action类(Action 类是 Struts 2 应用程序的关键,并且我们在 action 类中实现大部分的业务逻辑)

配置文件

创建一个javaweb工程,并选中struts2,

.

在idea中创建好之后,会自动导入struts相关的核心包,并在web.xml中初始化配置一些相关的文件

完整项目路径

.

创建index.jsp页面

.

成功时,会在jsp中显示一句话hello!

创建action类 UserAction

.

1.Action映射:

action映射是Struts2框架中的基本” 工作单元”,action映射就是将一个请求URL(即action的名字)映射到一个action类,当一个请求匹配某个action的名字时,框架就使用这个映射来确定如何处理请求。

.

2.使用method属性

在配置action时,我们可以通过action元素的method属性来指定action调用的 方法,所指定的方法,必须遵循与execute方法相同的格式。

配置文件

在web.xml中需要如下配置

.

  • 在action包下需要再次创建一个struts.xml

.

常量配置:用到 constant 标签 ,name 和 value 两属性

命名空间: namespace=”/user”,http://localhost:8080/user/login.action 查找条件是优先到指定命名空间寻找对应的action,如果找到就用不再继续找,如果找不到,则到默认的命名空间找,否则报错。

在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。

在src根目录下面找到struts.xml,这个文件称为总配置文件,作用是引入其他所有配置文件

.

struts2的工作流程

客户端提起一个(HttpServletRequest)请求,在浏览器中输入http://localhost:8080/user/login就是提起一个(HttpServletRequest)请求。其中user就是namespace="/user",login<action name="login" class="action.UserAction" method="login">

在web.xml文件中定义核心Filter拦截用户请求。

通过post或get提交请求。

定义处理用户请求的Action类。在MVC框架中,控制器C实际上是由拦截所有用户请求,处理请求的通用代码两个部分共同组成的,实际的业务逻辑则由Action来处理。

成功时的截图

UserAction中打印的字符串

struts.xml中常用到的标签

1、<include>

利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。

3、<package>

1、包

在Struts2框架中是通过包来管理action、result、interceptor、interceptor-stack等配置信息的。包属性如下:

.

.

2、extends

当一个包通过配置extends属性继承了另一个包的时候,该包将会继承父包中所有的配置,包括action、result、interceptor等。

由于包信息的获取是按照配置文件的先后顺序进行的,所以父包必须在子包之前被定义。

通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。

.

3、namespace

namespace主要是针对大型项目中Action的管理,更重要的是解决Action重名问题,因为不在同一个命名空间的Action可以使用相同的Action名的。

.

4、<action>与<result>

.

举报
评论 0