什么是Struts2?
- Struts2是一个基于MVC设计模式的WEB层框架
常见的web层框架
- Struts2
- Struts1
- SpringMVC
- Webwork
Web层框架基于前端控制器模型设计
Struts2入门程序
- 下载Struts2的开发包(http://struts.apache.org/)
- 解压Struts2的开发环境
- 创建web项目,引入jar包
- 编写一个jsp页面
- 编写Action类
- 配置Action类
- 配置核心过滤器(web.xml)
(2). 解压Struts2的开发环境
(3). 引入jar包
apps/ struts-blank项目下找jar包
(4).编写jsp页面
- demo01.jsp
点击链接访问hello.action
- success.jsp
(5)编写Action类
控制台打印输出,并跳转到"success"页面
(6)配置Action类
在src下创建名称叫做struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- Struts2为了管理Action的配置,通过包进行管理 -->
<!-- 配置Struts2的包 -->
<package name="hello" extends="struts-default" namespace="/">
<!-- 配置Action -->
<action name="hello" class="com.by.struts2.demo.HelloAction">
<!-- 配置页面的跳转 -->
<result name="success">/demo01/success.jsp</result>
</action>
</package>
</struts>
(7)配置核心过滤器
在web.xml中配置
<!-- 配置struts2核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
发布项目,访问demo.jsp
Struts2执行流程:
当用户访问某一个Action的时候—>,
先经过核心过滤器(StrutsPrepareAndExecuteFilter),—>
在核心过滤器中执行一组拦截器(这组拦截器实现部分功能)—>
执行目标Action,根据Action的返回值,进行页面跳转。
Struts2的常见配置
配置文件的加载顺序
Action的配置
常量的配置
在Struts2的框架中,提供了非常多的常量:(在default.properties)
- struts.i18n.encoding=UTF-8 ----Struts2中所有的post请求的中文乱码不用处理。
- struts.action.extension=action, ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。
分模块开发的配置
include的配置