JavaWeb----Struts2

视频内容来自于极客学院的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中的方法名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值