暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

shh---Struts2学习总结(1)

大学生IT学习之家 2018-08-26
392

今天我们来讲解ssh另一个框架---Struts2框架

1.什么是Struts2?

Struts2 apache的一个开源项目,它是纯java开发,它是一个非常优秀的MVC框架,基于Model2 设计模型。

struts2取代jsp+servlet+javabean的开发模式

解决jsp+servlet+javabean中的问题:

1、将控制逻辑单独封装成通用的控制器

2、原控制逻辑中封装请参数、调用业务逻辑代码抽取出来。

3、支持多视图技术。

2.Struts2的执行流程

1、控制器

struts2提供前端控制器(Struts2PreparedAndExecutFilter),控制逻辑封装起来

         接收请求

 

2、模型

         封装请求参数,进行业务处理

         struts2提供了action接口,根据业务需求开发不同的action,比如:注册用户Action

 

3、提供Result接口,支持多视图技术

         Result将结果响应给用户

3.实现Struts2的使用

那下面我们给上面的流程表一个顺序

1、用户请求前端控制器StrutspreapredAndExecuteFilter

         它是一个 Filter,拦截用户的请求,根据用户请求的url调用Action

         提前在struts.xml配置文件将action类进行配置。

         urlaction对应关系。

2、前端控制器调用Action

         Action:封装请求参数,调用service

         Action:根据不同业务需求,需要程序员开发。   

3Action调用service获取数据,业务处理

4、前端控制器调用Result,响应结果

         Result:响应结果,支持不同的视图技术。

         struts.xml中配置Result

5Result根据用户的调用使用不同的视图技术,使用jsp

         struts.xml中配置Result转发到的jsp路径 

6Result响应结果

         底层通过servlet api进行响应。

整理好了顺序然后我们开始进行例子使用:

首先我们要导入Struts2的必备包

这是我们使用Struts2框架要导入的包。

然后我们新建一个web项目在web.xml中配置前端控制器,这个前端控制器实际上就是一个拦截器(fifter);

这就是我们配置好的前端控制器,关于控制器的路径配置,在注解中已经说明白了。

然后我们开始写Action

Action定义的规范:

1Action可以是一个pojo(不实现任何类和接口)

2Action可以继承Action接口或继承ActionSupport

3Action中定义的请求处理方法必须是public、且没有参数,方法名称不限制,方法的返回值可以是voidString

我们这里已继承ActionSupport的Action经行举例:

当然这个action并没有什么功能,如果在实际开发中action中可以根据需求写不同的功能。

下面我们要配置struts.xml

需要在classpath定义一个struts.xml(名称固定,位置固定)!!

 

struts2框架运行会按照以下顺序加载配置文件:

default.properties(框架提供):配置了struts运行的参数

struts-default.xml(框架提供)struts框架加载创建、Result、拦截器等,框架运行要用

struts-plugin.xml(插件提供):插件文件,比如:第三方插件,转json插件、struts2spring整合插件。。

struts.xml(程序员定义):它能配置的内容和struts-default.xml一样,重点要配置Action自定义运行参数、自定义的拦截器

struts.properties(程序员定义):可以配置struts运行的参数

 

实际开发中,建议配置struts.xml

所以我们这里也就直接配置struts.xml

在配置xml的是时候我们按照

常量->package->action->result这个顺序来配置。

首先我们要先配置struts.xml的运行参数:

struts框架提供default.properties,配置了很多常量。

struts.xml中自定义设置常量值。

 

哪些文件可以配置常量:

default.properties

struts-default.xml

struts-plugin.xml

struts.xml

struts.properties

web.xml

struts加载上边的配置文件,下边的常量覆盖上边同名的常量值。

我们就配置里几个我们需要用到的常量,如果还有其他需要可以在struts框架提供的struts-default.xml中自己查看。

开始配置package与action

最后就剩下配置resul了

如果action的方法是string,执行完成返回一个逻辑视图名

 

Struts2 根据逻辑视图名决定调用哪个result

 

通过<result>元素配置一个resultresult有两个属性:

               name  该属性指定配置逻辑视图名,框架提供了一些默认的successerror等逻辑视图名。

               type  该属性指定结果类型,常用的:

                          dispatcher:转发

                          redirect:重定向

要注意result的name要与action中返回值相同,然后执行重定向或者转发到你指定的前台界面。

下面前台我们写一个form表单提交到这个action

这样我们的一个小例子就写完了。struts2的简单应用你学会了吗?别忘记打赏哦!

文章转载自大学生IT学习之家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论