把重复性的繁琐的代码封装起来。使程序员在编码中把更多的精力放业务需求的分析和理解上面。
特点:封装了很多细节,程序员在使用的时候会非常简单。
三大框架:Struts2、Spring、Hibernate
二、三层架构与Struts2表现层:M model V view C control
业务层:Service
持久层:Dao data access object
Struts2在三层架构中的位置是处于表现层。注意它只是一个表现层框架。
三、MVC与Struts2 M:Model 模型,封装数据。javabeanV:View 视图,展示界面。jsp
C:Controller 控制器,控制程序流程。Servlet
控制器:Servlet
init(ServletConfig config)
destroy()
service(ServletRequest req, ServletResponse resp)
过滤器:Filter 它也可以作为控制使用。
init(FilerConfig filterConfig)
destroy()
doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
Servlet能做的Filter都可以做,并且比Servlet功能更强大,它多了一个放行的功能。即:过滤器同样也适合做控制器。
注意:Struts1的核心就是一个控制器,Struts2的核心就是一个过滤器。
四、案例中存在的一些问题
规律:
获取请求正文,用户要做什么事情。
根据不同的请求,做出不同的判断。
执行具体的方法代码(动作)。
转向页面,展示给用户。
缺陷:
重复性劳动太多,具体的执行代码也有冗余代码。
全是硬编码,像用户要做什么事情,对应执行什么代码,可以写在配置文件中。
具体的代码方法放到了控制器中,过于臃肿。
五、Struts2简介 1、Struts2概述Struts2是Apache发行的MVC开源框架。注意:它只是表现层(MVC)框架。
2、Struts2的来历
Struts1:也是apache开发的一套mvc的开源框架。在2005年之前非常流行。
弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。
Struts2:在long long ago,有一个设计超前的框架XWork,后来推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony组织合并开发出来。
Struts2里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1没有任何关系了。
六、搭建开发环境
Struts2的下载和安装
开发包目录结构
搭建开发环境
拷贝必要jar包到classpath中(即拷贝jar包到WebRoot/WEB-INF/lib中),原则是:用哪个拷贝哪个。注意:新老版本的区别:
旧版本的struts2
新版本的struts2
建立Struts2的配置文件
at the top of classpath(在最顶层的构建路径),建立一个默认名称为struts.xml的配置文件。
注意:
文件名大小写。
创建位置。
该文件名称允许修改,但是我们一般不改。
在web.xml中配置控制器
a、配置位置:在web.xml中
b、配置什么: struts2已经写好了的一个过滤器。
结论:struts2比struts1优秀的一个体现就是:它用了更为强大的过滤器作为控制器。
验证是否搭建环境成功
部署应用后,启动Tomcat,不报错表示搭建成功。