Struts2入门

 

.

今天内容

 

1 struts2概述

(1)应用在web层

2 struts2入门案例

3 struts2底层执行过程

4 struts2相关配置

(1)struts.xml配置

- package、action、result标签

(2)常量配置

(3)分模块开发

5 struts2的action创建

(1)有三种

(2)一般使用继承类 ActionSupport实现

6 struts2的action方法访问

(1)使用action标签method属性,method属性值写执行的方法名称

(2)使用通配符方式,使用*匹配任意内容,method里面写*值,写法固定 {1}                                                     

 

Struts2概述

1 struts2框架应用javaee三层结构中web层框架

2 struts2框架在struts1和webwork基础之上发展全新的框架

3 struts2解决问题:

 Struts2入门                             

4 struts2版本

 Struts2入门

5 web层常见框架

(1)struts2

(2)springMVC

 

Struts2框架入门

第一步导入jar包

Struts2入门

(1)在lib中有jar包,不能把这些jar都导入到项目中

(2)到apps目录里面,找到示例程序,从示例程序复制jar包

 Struts2入门

Struts2入门

第二步创建action

 Struts2入门

第三步配置action类访问路径

(1)创建struts2核心配置文件

- 核心配置文件名称和位置是固定的

- 位置必须在src下面,名称 struts.xml

(2)引入dtd约束

 Struts2入门

(3)action配置

 Struts2入门

访问路径:

http://127.0.0.1/struts2_day01/hello.action

 Struts2入门

第四步配置struts2过滤器

 Struts2入门Struts2入门

Struts2入门

 

Struts2执行过程

画图分析过程

Struts2入门                     

 

查看源代码

 Struts2入门                               

1 过滤器在服务器启动时候创建,创建过滤器时候执行init方法

(1)在init方法中主要加载配置文件

- 包含自己创建的配置文件和struts2自带配置文件

** struts.xml

** web.xml

 

Struts2的核心配置文件

Struts2入门

1 名称和位置固定的

2 在配置文件中主要三个标签 package、action、result,标签里面的属性                                                             

 

标签package

1 类似于代码包,区别不同的action,要配置action,必须首先写package标签,在package里面才能配置action

2 package标签属性

(1)name属性

- name属性值根功能本身没有关系的,

- 在一个配置文件中可以写多个package标签,name属性值不能相同的

(2)extends属性

Struts2入门

- 属性值固定的,struts-default

- 写了这个属性之后,在package里面配置的类具有action功能

(3)namespace属性

- namespace属性值和action标签里面的name属性值构成访问路径

Struts2入门

 

标签action

1 action标签配置action访问路径

2 action标签属性

(1)name属性

- namespace属性值和action标签里面的name属性值构成访问路径

- 在package标签里面写多个action标签,但是action的name属性值不能相同的

(2)class属性

- action全路径

(3)method属性

- 比如在action里面默认执行的方法execute方法,但是在action里面写其他的方法                                               

- 让action里面多个方法执行,使用method进行配置

 

标签result

1 根据action的方法返回值,配置到不同的路径里面

2 result标签属性

(1)name属性

- 和方法返回值一样

 Struts2入门                                                                                       

(2)type属性

- 配置如何到路径中(转发或者重定向)

- type属性默认值做转发操作

 

Struts2常量配置

1 struts2框架,帮我们实现一部分功能,struts2里面有常量,在常量里面封装一部分功能                                   

2 struts2默认的常量位置(记住)

 Struts2入门

3 修改struts2默认常量值

(1)常用的方式

- 在struts.xml中进行配置

Struts2入门

(2)还有两种方式(了解)

- 在src下面创建 struts.properties,进行修改

- 在web.xml进行配置

 

4 介绍最常用常量(明天演示)

Struts2入门

(1)表单提交数据到action里面,在action可以获取表单提交数据,

(2)表单提交数据有中文,有乱码问题,解决:

- post提交直接设置编码

- get提交做编码转换

(3)如果在action获取表单通过post方式提交中文,中文乱码问题帮解决了,不需要自己处理问题

 

分模块开发

1 单独写配置文件,把配置文件引入到核心配置文件中

Struts2入门                                                   

 

Action编写方式

1 action编写有三种方式

第一种创建普通类,这个不继承任何类,不实现任何接口

 Struts2入门

第二种创建类,实现接口 Action

 Struts2入门                                                                           

Struts2入门

第三种创建类,继承类 ActionSupport(一般使用)

Struts2入门

Struts2入门

Struts2入门

 

访问action的方法(重点)

1 有三种方式实现

第一种使用action标签的method属性,在这个属性里面写执行的action的方法

第二种使用通配符方式实现

第三种动态访问实现(不用)

2 演示错误

(1)如果action方法有返回值,在配置文件中没有配置,出现错误

 Struts2入门            

(2)在action里面的方法有返回值,如果有返回值时候类型必须是String

(3)action里面的方法可以没有返回值,没有返回值时候,在result标签不需要配置

- 把方法写成void

- 让返回值,返回 ”none”

Struts2入门

 

使用action标签method属性

1 创建action,创建多个方法

 Struts2入门

2 使用method配置

 Struts2入门

缺陷:action每个方法都需要配置,如果action里面有多个方法,配置很多的action

 

使用通配符实现(重点)

1 在action标签里面name属性,name属性值里面写符号 *  星号

(1)*理解:表示匹配任意内容

- 比如访问hello,*可以匹配到

- 比如访问add,*可以匹配到

Struts2入门

Struts2入门

 

案例-客户列表

Struts2入门

Struts2入门