一、Struts2概述
1.Struts2框架应用JavaEE三层结构中的web框架(显示层)
- 三层架构是javaee规范中的推荐架构,传统意义上是分为表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。在javaee的开发中,三层架构具体分为表示层(web层)、业务逻辑层(service)、数据访问层(dao层)
- web层:与客户端交互,包含获取用户请求,传递数据,封装数据,展示数据。
- service层:复杂的业务处理,包含各种实际的逻辑运算。
- dao层:与数据库进行交互,与数据库相关的代码在此处实现。
2.Struts2框架在Struts1和webwork基础之上发展全新的框架
3.Struts2解决的问题
- 如果我们想设计用户管理功能的系统,并执行CRUD操作(创建、读取、更新、删除)
原始做法:创建servlet
- 该做法的缺点:如果功能很多,会创建很多servlet,造成维护特别不方便。
web阶段解决方案:创建BaseServlet解决(原理servlet继承):写到底层反射代码实现
- 该做法缺点:虽然初步解决问题,但编写麻烦,功能也不是很强大。
用Struts2来解决:过滤器拦下请求
*Struts2里面的action中的不同方法
4.Struts2 版本:Struts-2.3.16.3-all.zip(我的是这个)
5.web层常见框架:Struts2 + springMVC
二、入门案例
首先学习Struts2的运用步骤
第一步,导入jar包:
解压Struts-2.3.24-all.zip(可能版本不同),找到lib【不能把这些jar包都导入(会报错,里面有涉及spring的,但现在还没有用spring,只需Struts2)】——》所以到apps的目录里面找到示例程序,任选一个把它压缩成一个压缩包并打开(根据你电脑上有的压缩软件,我是zip,但是文件是war,我就把文件后缀名给改成zip)——》找到WEB-INF——》找lib,打开,复制里面的jar包;再到MyEclipse创建好的项目里找到WEB-INF的lib,复制进lib——》完成!
【也可以选择把全部的实例程序压缩到一个文件里面,再解压,再来找lib的jar包。】
(apps:示例程序;docs:文档;lib:jar包;src:源代码)
第二步:创建action:
创建一个Java类
- 如何创建servlet:写一个类去继承HTTPServlet,重写类里面的方法。然后在web.xml中配置servlet访问路径
- 还有一种更简单的方法:创建了的包,右击——>servlet即可完成配置
第三步,配置action类访问路径
1)创建一个Struts2核心配置文件——>核心配置文件的名称和位置是固定的!——>位置必须在src下面,名称struts.xml
2)引入dtd约束(会找就行):去apps文件找到刚才的压缩包,点开,找到WEB-INF——>src——>java——>struts.xml,用一个软件打开,复制 <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
粘贴到刚才新建的struts.xml文件
3)action 配置
- 访问路径:http://localhost:8080/Struts2_day01/hello.jsp
- (记得去配置Tomcat)可以访问
- 访问路径:http://localhost:8080/Struts2_day01/hello.action
- 结果出现404的错误
原因:没有配置过滤器(或者服务器启动失败)
第四步:配置Struts2的过滤器
- web.xml中配置过滤器(会找即可——>apps、压缩文件、WEb-INF——>web.xml,用记事本或其他软件打开,复制相关部分到web.xml里面
再来访问路径——》成功!
未完待续...