zoukankan      html  css  js  c++  java
  • struts2深入浅出(一)

    开始框架总结

    框架
     * 框架就是一个半成品的软件,在这个基础之上进行业务逻辑的书写简化开发

    今天内容
    1. struts2概述
    2. struts2入门
    3. struts2底层执行过程
    4. struts2相关配置
    5. struts2的action创建
    6. struts2的action方法访问

    1. struts2概述
    1)struts2框架应用于JavaEE三层架构的web层
    2)struts2框架在struts1和webwork基础之上发展的一个全新的框架
    3)struts2可以解决的问题:

      

    4)web层常见框架:struts2 springMVC

    2. struts2入门

    1. jar包
    2. 在web.xml文件中配置一个Filter(只有配置了它才可以使用)
    3. 创建action并配置
    4. 访问最好是 login.action,可以适配不正规的浏览器问题

    3. struts2执行过程

    struts2的工作流程
    * 在客户端输入一个url地址
    * url地址通过http请求发送给tomcat
    * tomcat根据url找到对应项目的web.xml文件
    * 在web.xml发现有struts2的配置
    * 找到struts.xml配置,找到需要调用的Action类和方法
    * 调用完通过result跳转到响应页面完成响应

    struts2配置文件的加载顺序

    1. default.properties
    2. struts-default.xml
    3. struts-plugin.xml
    4. strtus.xml
    5. web.xml

    4. struts2相关配置
    1) struts2核心配置文件
      * 名称和位置固定 src下 struts.xml
      * 在配置文件中主要有三个标签package、action、result
        > 标签package:类似于包,区别不同的action,要配置action必须先写package标签
        > name属性:区分不同的package,任意取名
        > extends属性:固定的 struts-default,有了才具有action功能
        > namespace属性:"/",与下方的action name共同构成访问路径 .../hello.action 可以不写

        > action标签配置action访问路径
        > name属性:与上方namespace构成访问路径,一个package里可以写多个不同的action但name不能相同
        > class属性:action的全路径
        > method属性:让action里面多个方法执行,使用method进行配置

        > result标签根据action的方法返回值,配置到不同的路径里面
        > name属性:和方法返回值一致
        > type属性:配置如何到路径中去 默认值是转发
    2)修改默认常量值
      struts.xml中:<constant name="" value=""></constant>
      还有两种不常用:src下创建struts.properties配置 web.xml中配置
    3)介绍最常用常量
      struts.i18n.encoding=UTF-8 可以解决post提交表单乱码
    4) 分模块开发
      * 单独写配置文件,最后引入到核心配置文件中
      <include file="action/hello.xml"></include>

    5. Action编写方式
    1)action编写有三种方式
    * 创建普通类,不继承任何类 不实现任何接口
    * 创建类,实现接口 Action
    * 创建类,继承类 ActionSupport(一般用这个)

    6. struts2的action方法访问(重点)
    1)使用action标签的method属性,在这个属性里面写执行的action方法
    2)使用通配符方式实现

      name="user_*" class="action.UserAction" method="{1}"
      {1}可以取到*,可以有多个* 写几就取第几个

    3)动态访问方式(一般不用)

      http://localhost:8080/day01_struts/struts!show
      要在配置把DynamicMethodInvocation=true //不建议

  • 相关阅读:
    centos7 centos-home 磁盘空间转移至centos-root下
    CACTI优化-流量接口统计total输入和输出流量数据
    shell管理前台进程
    Rancher中ConfigMap使用实例
    Rancher调试微服务
    ssh配置免密登录异常处理
    漏洞复现:ActiveMQ任意文件写入漏洞(CVE-2016-3088)
    ubuntu更新源
    Vulnhub实战靶场:CH4INRULZ: 1.0.1
    CVE-2019-15107 Webmin远程命令执行漏洞复现
  • 原文地址:https://www.cnblogs.com/stefan95/p/7862284.html
Copyright © 2011-2022 走看看