Struts2_Day01

时间:2022-12-26 21:59:22


文章目录

  • ​​一、Struts框架的概述​​
  • ​​1. 什么是struts2​​
  • ​​2. 常见的web框架​​
  • ​​3. WEB层的框架都会基于前端控制器的模式:​​
  • ​​二、Struts框架入门案例​​
  • ​​1. 导入jar包​​
  • ​​2. 创建action包、类​​
  • ​​3. 配置action类的访问路径(.xml文件)​​
  • ​​3.1 创建struts核心配置文件(struts.xml)​​
  • ​​3.2 进行访问路径​​
  • ​​4. 配置struts2过滤器(web.xml文件)​​
  • ​​4.1 查看源代码​​
  • ​​4.2 在web.xml里面配置过滤器​​
  • ​​三、Struts2底层执行过程​​
  • ​​1. struts2的执行流程​​
  • ​​四、Struts2相关配置​​
  • ​​1. Struts2的配置文件的加载顺序​​
  • ​​2. struts的核心配置文件介绍(struts.xml)​​
  • ​​1.1 标签package​​
  • ​​1.2 标签action​​
  • ​​1.3 标签result​​
  • ​​3. Action的配置​​
  • ​​4. 修改struts默认常量配置​​
  • ​​方式一:在struts.xml文件中通过​​

一、Struts框架的概述

1. 什么是struts2

Struts2_Day01

2. 常见的web框架

  • struts2框架应用javaee三层结构中web层框架
  • struts2 框架在struts1和webwork基础上发展全新的框架
  • struts 解决的问题
  • Struts2_Day01

  • struts2版本
  • Struts2_Day01

  • web层常见框架
struts1
webwork
spring MVC

3. WEB层的框架都会基于前端控制器的模式:

Struts2_Day01

二、Struts框架入门案例

建立web项目,因为用在web层的框架

Struts2_Day01

1. 导入jar包

Struts2_Day01


struts2 安装包结构

Struts2_Day01


Struts2_Day01


在lib中有100多个jar包,不能把这些jar包都导入到项目中去我们到apps里面去,找到示例程序,从实例程序中复制相关jar包

Struts2_Day01


这是一个war包(创建一个web工程引入相应 jar包)

Struts2_Day01


Struts2_Day01


Struts2_Day01

2. 创建action包、类

Struts2_Day01

Struts2_Day01


Struts2_Day01


Struts2_Day01

3. 配置action类的访问路径(.xml文件)

3.1 创建struts核心配置文件(struts.xml)

  • 配置文件名称和位置是固定的
位置:必须在src下面
名称:struts.xml
  • 引入dtd约束
  • Struts2_Day01


  • Struts2_Day01

  • action基本配置
  • Struts2_Day01


  • Struts2_Day01

3.2 进行访问路径

​http://127.0.0.1:8080/struts2_day01/hello.action​​ 直接访问会报错

Struts2_Day01

  • 问题一:服务器没有正常启动
  • 问题二:没有配置过滤器

4. 配置struts2过滤器(web.xml文件)

4.1 查看源代码

导入struts的src文件夹(也可以直接导入struts的zip安装包)方便直接查看源代码。

Struts2_Day01


Struts2_Day01


Struts2_Day01


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

  • 在init方法中主要加载配置文件,包含自己创建的配置文件和struts自带的配置文件

4.2 在web.xml里面配置过滤器

Struts2_Day01


可以正常访问了

Struts2_Day01

三、Struts2底层执行过程

1. struts2的执行流程

Struts2_Day01

Struts2_Day01

四、Struts2相关配置

1. Struts2的配置文件的加载顺序

Struts2_Day01


Struts2_Day01

2. struts的核心配置文件介绍(struts.xml)

Struts2_Day01

  • 名称和位置是固定的

Struts2_Day01

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

1.1 标签package

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

package标签属性

  1. name属性

    name属性值和功能本身没有关系的,在一个配置文件中可以写多个package标签,但是name属性值是不能相同的

  2. extends属性

    属性值是固定的:struts-default
    写了这个属性之后,在package里面配置的类具有action功能

  3. namespace属性

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

1.2 标签action

action标签配置action访问路径

action标签里面的属性

  1. name属性

    和namespace属性值构成访问路径 /hello

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

  2. class属性

    action类的全路径

  3. method属性

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

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

1.3 标签result

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

result标签属性

  1. name属性

    和方法返回值一样

  2. type属性

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

    type属性默认值 做转发操作

3. Action的配置

Struts2_Day01


Struts2_Day01

4. 修改struts默认常量配置

Struts2的这些常量大多在默认的配置文件中已经配置好,但根据用户需求的不同,开发的要求也不同,可能需要修改这些常量值,修改的方法就是在配置文件对常量进行重新配置。

Struts2_Day01

方式一:在struts.xml文件中通过<constant》元素配置常量(重点)

Struts2_Day01


Struts2_Day01

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

  • 表单提交数据有中文,有乱码

    解决方式:
    post提交直接设置编码
    get提交做编码转换
  • 如果在action获取表单通过post方式提交中文,中文乱码问题帮解决,不需要自己处理问题
  • Struts2_Day01

  • 之前我们就已经介绍过了Struts2的配置文件的加载顺序,后加载的配置文件的常量的值会覆盖先加载的配置文件中常量的值。

方式二:在struts.properties文件中配置常量

在src下面常见struts.properties

Struts2_Day01

方式三:在 web.xml文件中通过初始化参数配置常量

Struts2_Day01

5. 分模块开发配置

Struts2_Day01


Struts2_Day01

五、Struts2的action编写方式

在 Struts2的应用开发中,Action作为框架的核心类,实现对用户请求的处理,Action类被称为业务逻辑控制器。一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元。也就是说,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理。简而言之,Action就是用来处理一次用户请求的对象。

action编写有三种方式

1. 创建普通类(POJO),这个不继承任何类,不实现任何接口

Struts2_Day01


Struts2_Day01

2. 创建一个类,实现Action接口

Struts2_Day01


Struts2_Day01

3. 创建一个类,继承ActionSupport(最常用)

Struts2_Day01


Struts2_Day01

六、Struts2的action方法访问

Action 的访问不是难题,因为之前已经访问过了,但是出现一个问题一次请求现在对应一个Action,那么如果请求很多对应很多个Action.现在要处理的问题就是要让一个模块的操作提交到一个Action 中。

解决action访问问题有三种方式:

1. 通过action标签的method属性,在这属性里面写执行的action方法

步骤一:创建action,在action里面创建多个方法

Struts2_Day01

步骤二:在Struts.xml配置action的访问

Struts2_Day01


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

2. 使用通配符方式实现(最常用)

Struts2_Day01


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

  • *理解:表示匹配到任意内容
  • Struts2_Day01


  • Struts2_Day01


  • Struts2_Day01


3. 动态访问实现(不用)

Struts2_Day01


Struts2_Day01


Struts2_Day01


Struts2_Day01

4. 常见错误

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

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

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

    把返回值设为void

    返回none
六、Struts2的国际化

Struts2的国际化参考




相关文章