Struts2是一个WEb端的MVC框架。
- MVC模式:
- 模型:分为业务模型和数据模型
- 视图:负责显示页面,渲染模型
- 控制器:接收用户请求,调用模型处理用户请求,选择视图
- 目前在Model2中我们使用Servlet作为控制器:
- Servlet作为控制器的过程
- 接收用户请求
- 将参数封装为java中的对象
- 调用service来处理业务逻辑
- 根据service返回的结果选择视图
- Filter作为控制器比Servlet更强
- 同时filter还多了filefilterChina
Servlet仅仅解决了底层问题很多东西需要手动(封装、验证访问数据、呈现表示层(返回一个页面、Servlet提供转发和重定向))
编写Struts的hello
- 解压apps目录下的Struts2-blank.war包
- 创建动态web工程
- 将包导入lib
- 在项目中添加Struts2的核心控制器,接管发送的所有请求(Struts核心控制器就是过滤器只需在web.xml中引入该过滤器)
- 创建自己的Action类,Struts2中的Action就是一个POJO(java的的普通类)
- 配置文件放在SRC下
因为有俩个控制器一个action 一个filter.StrutsPrepareAndExecuteFilter
filter找文件名之间有对应关系
有全类名访问
public class Hello { public String execute() { System.out.println("你好"); return "success"; } }
配置文件
<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>