您的位置:首页 > 编程语言 > Java开发

JavaWeb----Struts2

2016-02-22 20:41 387 查看
视频内容来自于极客学院的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中的方法名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts