0
点赞
收藏
分享

微信扫一扫

Struts2笔记

快乐与微笑的淘气 2022-04-04 阅读 72

Struts2笔记

                    马占峰

                                            微信:13231750121

首先下载struts-2.5.29   https://struts.apache.org/

如果使用的工具为idea时

1.先下载插件:点击文件->设置->插件->搜索插件Struts2 点击下载

2.创建项目:点击文件->新建项目->javaEE->将 web应用程序打勾,将struts2打勾,看下方 点击使用库->选择你刚刚下载的stauts2的jar包->点击下一步 完成

3:点击文件 项目结构 工件  右击可用元素下的 你的项目名称  之后 点击第一行  什么什么Root 点击应用 完成!!

4.找到web/WEB-INF/web.xml

 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter>

   将黄色区域删除即可!!!

5.如果报错 即在项目结构中 部署 Struts2添加到工件即可

正文:

比较传统的开发模式和框架开发的区别:

创建完成项目后 会有 Struts2.xml文件 以及 web.xml文件

在Struts2中编写代码

在上述代码片段中

Demo01为自取名称在多个package中不能相同

struts-default为拦截器

namespace 和 action中的name中的值 组合起来能访问本Action

例如:http://localhost:8089/MyProject02_war_exploded/A01.action

Class值为你编写的Action的路径

Result name值 为你要接受的返回值  然后要跳转的页面

----------------------------------------------------------------------

在web.xml中编写过滤器

接下来就是编写一个Action

一定要继承 ActionSupport

Struts2执行流程

总结来说就是

客户端发送请求->过滤器执行默认(自定义)拦截器->执行目标Action->得到一个返回值->适配Result中的name值 然后跳转页面

ActionContext是Action执行的上下文对象,在ActionContext中保存了Action执行所需要的对象,包括parameters,request,session,application等

向request中存入数据:

              Request.setAttribute(String name,Object Value)

向session中存入数据:

              Request.getSession().setAttribute(String name,Object Value)

或者

              Session session=request.getSession();

              Session.SetAttribute(String name,Object Value);

向application中存入数据

              This.getServletContext().setAttribute(String name,Object Value)

通过ServletActionContext访问

由Struts2提供

重要!!!!!!!!!

Static HttpServletRequest getRequest();获取web应用的HttpServletRequest对象

Static HttpServletResponse getResponse();获取web应用的HttpServletResponse对象

Static ServletContext getServletContext();获取web应用的ServletContext对象

Static PageContext getPageContext();获取web应用的pageContext对象

例子!!!!!!!:获取到Request对象

HttpServletRequest request=ServletActionContext.getRequest();

总结就是 调用ServletActionContext静态方法调用getRequest来获取HttpServletRequest对象

Struts2的数据封装

一.属性驱动

       1.在Avtion中提供属性(表单属性)的Set方法!

       2.页面表达式方法  需要在Action中新创建表单属性对象  然后在页面JSP

中调用 且必须提供对象的get方法!例如:

             

                    

模型驱动方式

1.Action类必须实现ModelDriven接口 并且要重写getModel()方法

这个方法返回的就是Action所使用的数据模型对象

例如:

拦截器的配置

             

             

   

举报

相关推荐

0 条评论