struts2

Posted 菜渣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2相关的知识,希望对你有一定的参考价值。

 控制反转 就是: 以前自己控制 现在 让别人控制,简称 控制反转

取得Map类型 request,session,application 真实类型,HttpServletRequest,Httpsession,ServletContext的引用

1:前三者 依赖于容器

2:前三者 IOC

3:后三者: 依赖于容器

4:后三者:ioc

 就用第二个 ioc

现在 做一个项目 小程序

在struts.xml  里有一个配置  叫 

<include file="login.xml" />  这个是有一个叫login.xml

文件 放在 struts。xml 里 意思 就是你可以把另外的login。xml

当成 struts。xml 包含在这里。。这个就是 包含的意思  不会 可以 上谷歌 搜 struts

 

他的意义 是 模块  包含。。  如果大伙都开发 struts  在不同的机器上 ,这小子负责这个

那小子负责 那个模块 。。而且都不好调。我的依赖你的  你的依赖他的 。。一个有经验的项目经验。会搞模块。。会把 公用的 配置 配到struts。xml里 然后 我们用包含 

最后一包含。吧所有的 人都包含进来就可以了 ,这个东西 简单 但是意义重大

 

总结方法:  学习方法说明

1;先阅读 老师的代码

2; 在建立 自己的项目进行手动学习

Action

1:实现一个Action的最常用 方式:从ActionSupport 继承

2:DML 动态方法调用

3:通配符配置* {1}{2}。。。

a *_*

4: 接收 参数的方法(一般用属性或者DomainModel 来接收)

5:简单参数验证 addFieldError

6:访问web 元素

a)map类型

i: LOC 

li:依赖struts 2

原始类型

i:loc

li:依赖struts2

配置 struts2.0 你的 包是 2.1 的 你就会报错 有漏洞

 

Pesult 类型

1;dispatcher      最长用到的是 前面俩个

2;redirect            客户端跳转 这个 

3:chain    跳转

4:redirectAction      跳转

 

做来个程序 项目  第一个动态项目

 

用一个属性来保存一个结果,

第二个:这个里面的属性结果可以用我们动态确定

 

第三个:在struts.xml 里用这种表达式 给取出值!

<result>${r}</result> 这个是专门放在配置文件里的

public String execute() throws Exception{

    if(type==1) r="/user_successjsp";
        
    else if(type==2) r="/user_error.jsp;

    return "SUCCESS";
}
}

MVC  模式:用户模式 Controller 讲用户输入的指令和数据传递给业务模型

进行业务逻辑判断 数据库 存取      Model 数据库 ----进行业务选择不同的视图
---------View 讲结果 反馈给用户!!!


struts2 是  wordwork 和 struts1 的结合 大大的保证了他的强大功能


struts2  的环境变量要求:

Servlet ApI 2.4

jsp API  2.0

java5
  2: 搭建Struts2  环境步骤
一: 下载相关的 jar 包
2: 创建web 项目
3: 创建并完成相关配置文件

4:创建Action 并 测试成功

Apache struts
官方网站  免费 开源的框架

写第struts2的 程序 先 写 web.xml     第一步 先写 过滤器:过滤器 就是

<filter> 过滤器的名字 自己定但是要跟 下面  映射器一直
  <filte-name>struts2</fite-name>
     
      <fitlte-class></filte-class>
</fiter>

<filter--mapping>映射器 
        <filter-name>  struts2 </tilter-name>
          <url-pattern></url-pattern>      
    
  </fitler-mapping>
    

 

以上是关于struts2的主要内容,如果未能解决你的问题,请参考以下文章

struts2怎么防止sql注入

struts2请求过程源代码分析

struts2 s2-062 ONGL远程代码执行

[struts2学习笔记] 第五节 编写struts2的action代码

Struts2 s2-032远程代码执行分析

S2-053:Apache Struts2远程代码执行漏洞(中危)