Struts2_day01

一、内容大纲

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_day01

4 struts2版本

Struts2_day01

5 web层常见框架

(1)struts2

(2)springMVC

三、Struts2框架入门

第一步 导入jar包

Struts2_day01

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

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

Struts2_day01

Struts2_day01

第二步 创建action

Struts2_day01

第三步 配置action类访问路径

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

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

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

(2)引入dtd约束

Struts2_day01

(3)action配置

Struts2_day01

访问路径:

http://127.0.0.1/struts2_day01/hello.action

Struts2_day01

第四步 配置struts2过滤器

Struts2_day01

Struts2_day01

Struts2_day01

四、Struts2执行过程

画图分析过程

Struts2_day01

五、查看源代码

Struts2_day01

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

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

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

** struts.xml

** web.xml

六、Struts2的核心配置文件

Struts2_day01

1 名称和位置固定的

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

标签package

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

2 package标签属性

(1)name属性

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

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

(2)extends属性

Struts2_day01

- 属性值固定的,struts-default

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

(3)namespace属性

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

Struts2_day01

标签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_day01

(2)type属性

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

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

七、Struts2常量配置

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

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

Struts2_day01

3 修改struts2默认常量值

(1)常用的方式

- 在struts.xml中进行配置

Struts2_day01

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

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

- 在web.xml进行配置

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

Struts2_day01

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

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

- post提交直接设置编码

- get提交做编码转换

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

八、分模块开发

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

Struts2_day01

九、Action编写方式

1 action编写有三种方式

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

Struts2_day01

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

Struts2_day01

Struts2_day01

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

Struts2_day01

Struts2_day01

Struts2_day01

十、访问action的方法(重点)

1 有三种方式实现

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

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

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

2 演示错误

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

Struts2_day01

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

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

- 把方法写成void

- 让返回值,返回 ”none”

Struts2_day01

使用action标签method属性

1 创建action,创建多个方法

Struts2_day01

2 使用method配置

Struts2_day01

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

使用通配符实现(重点)

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

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

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

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

Struts2_day01

Struts2_day01

案例-客户列表

Struts2_day01

Struts2_day01

参考资料:

《黑马程序员》

上一篇:Sql分页代码示例


下一篇:HTML 样式兼容不同设备类型