博客
关于我
struts2入门(一)struts2初识
阅读量:134 次
发布时间:2019-02-26

本文共 1667 字,大约阅读时间需要 5 分钟。

Struts 2 是 Struts 的下一代产品,基于 Struts 1 和 WebWork 技术进行了优化和整合,成为全新的 Struts 2 框架。相较于 Struts 1,Struts 2 的架构发生了重大变化,采用 WebWork 核心和拦截器机制,实现了与 Servlet API 的脱耦,使得业务逻辑控制器更具灵活性。值得注意的是,虽然 Struts 2 与 WebWork 有一定差异,但其变化相对较小。

Struts 2 是一个用于开发 MVC 应用程序的框架,提供了处理常见 Web 应用开发问题的解决方案。它通过拦截器机制和命令模式,简化了业务逻辑的实现。

创建 Struts 工程的步骤

  • 创建 Web 工程

    首先,创建一个标准的 Web 工程,通常使用 Maven 或其他构建工具。

  • 导入 Struts 相关 jar 包

    Struts 2 的核心依赖包主要包括:

    • asm-3.3.jar:提供字节码读写功能,是 Struts 2 的核心。
    • asm-commons-3.3.jar:支持基于事件的视图层。
    • asm-tree-3.3.jar:提供基于对象的视图层。
    • commons-fileupload-1.2.2.jar:文件上传组件。
    • commons-io-2.0.1.jar:文件操作依赖包。
    • commons-lang3-3.1.jar:对 java.lang 包的扩展。
    • freemarker-2.3.19.jar:用于 FreeMarker 模板引擎。
    • javassist-3.11.0.GA.jar:代码生成工具,用于动态扩展 Java 类。
    • ognl-3.0.5.jar:对象图导航语言,用于读写表单对象属性。
    • struts2-core-2.3.4.jar:Struts 2 核心类库。
    • xwork-core-2.3.4.jar:Command 模式框架,WebWork 和 Struts 2 的基础。
    • commons-logging.jar:ASF出品的日志包,支持 Log4J 和 JDK 1.4+ 的日志记录。
  • 配置 Struts 核心过滤器

    web.xml 中添加 StrutsPrepareAndExecuteFilter:

    StrutsPrepareAndExecuteFilter
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    StrutsPrepareAndExecuteFilter
    /*
  • 创建 Action 类

    实现 Action 接口并编写业务逻辑。例如:

    public class HelloWorldAction implements Action {  public String execute() throws Exception {    System.out.println("HelloWorldAction execute");    return "success";  }}
  • 创建 JSP 文件

    在 Web 根目录下创建 JSP 文件,例如:

    • /test/success.jsp
    • /test/test.jsp
  • 配置 Struts XML 文件

    struts.xml 中定义请求路径和对应的 Action:

    /test/success.jsp
  • 通过以上步骤,可以快速搭建一个 Struts 2 程序来实现简单的 Web 应用逻辑。

    转载地址:http://vhqy.baihongyu.com/

    你可能感兴趣的文章
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>
    NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
    查看>>
    NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
    查看>>
    Node JS: < 一> 初识Node JS
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用node-red-contrib-image-output节点实现图片预览
    查看>>
    Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>