视频内容来自于极客学院的wahoo1234老师的视频,以及自己的实践
一、Struts2
它是一个用于开发JAVAEE网络应用程序的网络应用框架,提高了开发效率和规范性,更好的实现了MVC结构。
1.自动的封装了表单提交数据
2.便捷的实现上传文件上传
3.通过配置完成表单的验证
4.国际化的规范
5.强大的标签库 struts2标签库,OGNL标签库
6.使用xml文件管理程序文件
7.安全测线程机制。
http://blog.csdn.net/wang9258/article/details/20370693
二、Struts2 环境搭建
1.去网上下载Struts2的相关jar包
asm包,反射的替代方案,字节码操控框架,动态的改造java代码
lang:基础文件包
freemark:生成各种文本的包
javaassist:编译java字节码类库
ognl:struts的标签库
struts2-core:核心包
xwork:xwork的包
2.在src目录下创建struts.xml,一般可以复制示例代码的xml文件。
3.在web.xml中配置核心的过滤器
<!-- 配置核心的过滤器文件 -->
<filter>
<filter-name>filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 默认拦截所有的请求 -->
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.在struts.xml文件,如果发现不能自动提示出标签,需要进行手动配置。配置的文件是你下载的Apache官方提供的包中的dtd文件,具体位置在:src-core-src-main-resource中的dtd文件
在编译器中 打开window-preferences-xml catalog—-add—-public id选url:复制struts.xml的header部分的地址:
location:选择本地的 struts-2.3.dtd
http://struts.apache.org/dtds/struts-2.3.dtd
二。使用MyEclipse对项目添加struts2的配置,右键项目—MyEclipse—install struts2即可
三、Struts的标签
<!-- bean 标签 用于创建一个JavaBean实例-->
<!-- constant标签 用于Struts2 默认行为标签-->
<!-- package标签 包标签,用于区分不同的请求文件的标签,比方说
网站前台请求 网站后台请求-->
<!-- include标签 用于引入其他的xml配置文件-->
<!-- 配置web默认编码集,相当于 HttpServletRequest.setChartacterEncoding用法 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 默认我们Struts2的请求后缀是.action,也就是说我们不配置该元素,action/do都可以 -->
<constant name="struts.action.extension" value="action,do"></constant>
<!-- 设置浏览器是否缓存静态内容,默认值为true,在我们开发阶段建议关闭,防止修改后测试不到 -->
<constant name="struts.serve.static.browserCache" value="false"></constant>
<!-- 当struts 配置文件修改后,系统是否自动重新加载该文件,默认为false -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<!-- 开发模式下使用,这样可以打印出更加详细的错误信息 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 默认视图主题 -->
<constant name="struts.ui.theme" value="simple"></constant>
四、Struts的流程走向
1.一个Http请求首先进入经过在web.xml配置的过滤器
2.根据action进行匹配
3.前置过滤器过滤
4.找到对应的类
5.后置过滤器
6.struts.xml
五、Struts2数据封装机制
1.属性驱动和模型驱动帮助我们完成数据的自动获取和封装
属性驱动:
1.继承ActionSupport
2.编写页面中对应的bean,提供get set方法。
模型驱动
创建一个实体的bean类
创建一个类继承ActionSupport继承ModelDriven《T》
实例化实力类对象
T:传入你要将数据封装到那个类中
在struts.xml中在该类对应的action标签下配置拦截器
<interceptor-ref name="modelDriven">
<interceptor-ref name="defaultStack">
六、Sturts2遇到的问题 there is no action mapped:
关于这个问题的几种可能性:1.struts.xml放错了地方,应该放到src下
2.action中name定义错误
3.没有给action 指定对应的method方法,mehtod为你定义的action中的方法名