第一个 struts2 程序

一、struts2 概述

  • Struts2 是 Apache 软件组织推出的一个基于 MVC 模式的轻量级 Web 框架,以理解为 WebWork 的更新产品

struts2的特点

  • 项目开源,使用及拓展方便。
  • 通过简单、集中的配置调度业务类,使配置和修改都非常容易。
  • 提供简单、统一的表达式语言访问所有可供访问的数据。
    -提供标准、强大的验证框架和国际化框架。
    -提供强大、可以有效减少页面代码的标签。
  • 提供 Exception 处理机制,并且具有良好的 Ajax 支持。
  • Result 方式的页面导航,通过 Result 标签很方便地实现重定向和页面跳转。
  • 拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置就可以完成大多数项目程序开发所需要的功能

二、Struts2目录结构和基础JAR包介绍

1、目录结构

  • structs2 下载地址:
名称 作用
apps 用于存放官方提供的 Struts2 示例程序,这些程序可以作为学习者的参考资料。各示例均为 war 文件,可以通过 zip 方式进行解压。
docs 用于存放官方提供的 Struts2 文档,包括 Struts2 的快速入门、Struts2 的文档,以及 API 文档等内容。
lib 用于存放 Struts2 的核心类库,以及 Struts2 的第三方插件类库。
src 用于存放该版本 Struts2 框架对应的源代码。

2、基础JAR包

  • 最快速的开始方式就是解压官方提供的示例程序,可以提取里面的 jar 和 配置文件复制到自己的工程中开始使用
文件名 说 明
asm-3.3.jar 操作 Java 字节码的类库
asm-commons-3.3.jar 提供了基于事件的表现形式
asm-tree-3.3.jar 提供了基于对象的表现形式
struts2-core-2.3.37.jar Struts2 框架的核心类库
xwork-core-2.3.37.jar Web Work 核心库,Struts2 的构建基础
ognl-3.0.6.jar 对象图导航语言(Object Graph Navigation Language),Struts2 框架通过其读/写对象的属性
freemarker-2.3.22.jar Struts2 标签模板使用的类库
javassist-3.11.0.GA.jar JavaScript 字节码解释器
commons-fileupload-1.4.jar Struts2 文件上传组件依赖包
commons-io-2.2.jar Struts2 的输入/输出,传文件依赖的 JAR
commons-lang-2.4.jar 包含一些数据类型工具,是对 java.lang 包的增强
log4j-api-2.2.jar Struts2 的日志管理组件依赖包的 API
log4j-core-2.2.jar Struts2 的日志管理组件依赖包

三、第一个 struts2 程序

1、导入基础 jar

2、web xml 配置过滤器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><!-- 配置Struts2核心过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

3、书写 Action 类

package com.stan.action;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction extends ActionSupport {@Overridepublic String execute() throws Exception {return SUCCESS;}
}

4、struts.xml配置action

<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定 Struts2 配置文件的 DTD 信息 -->
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- Struts2配置文件的根元素 -->
<struts><!-- Struts2的Action必须放在指定的包空间下定义 --><package name="hello" namespace="/" extends="struts-default"><!-- 定义 action,该 action 对应的类为 com.mengma.action.HelloWorldAction 类--><action name="helloWorld" class="com.stan.action.HelloWorldAction"><!-- 定义处理结果和视图资源之间的映射关系 --><result name="success">/success.jsp</result></action></package>
</struts>

5、创建必须的 jsp 页面

  • index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>首页</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/helloWorld.action">第一个 Struts2 程序!
</a>
</body>
</html>
  • success.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>成功页面</title>
</head>
<body>
您的第一个小程序执行成功,欢迎来到Struts2的世界!
</body>
</html>

6、开启 tomcat 显示

  • 注意 idea 的 tomcat 配置
  • 需要 jsp 的实时修改生效的话,需要如下配置

7、基本流程分析

struts2 快速入门(01)第一个 struts2 程序相关推荐

  1. (转)Struts2快速入门

    http://blog.csdn.net/yerenyuan_pku/article/details/66187307 Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架, ...

  2. 一、SpringMVC基础入门,创建一个HelloWorld程序

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  3. 微信小程序快速入门+四个实战小程序(一)——入门准备

    一)系列达成目标介绍 二)小程序创建的准备 1)注册开发者账号 2)下载编译器 ------------------------------------------------------ 一)系列达 ...

  4. 在docker中构建普通java程序_Docker入门-构建第一个Java程序

    原标题:Docker入门-构建第一个Java程序 定制镜像 准备一个没有第三方依赖的java web项目,可能参考示例maven结构项目: session-web.war 把该war上传到安装有doc ...

  5. cuda入门——改良第一个 CUDA程序

    cuda入门--改良第一个 CUDA程序 在上篇中,我们做了一个计算一大堆数字的平方和的程序.不过,我们也提到这个程序的执行效率并不理想.当然,实际上来说,如果只是要做计算平方和的动作,用 CPU 做 ...

  6. 入门的第一个C++程序。从键盘输入学生姓名,然后输出指定格式的内容。

    PTA 作业罢了,仅供参考. 入门的第一个C++程序.从键盘输入学生姓名,然后输出指定格式的内容. 输入格式: 学生姓名. 输出格式: Hello, C++! My name is <学生姓名& ...

  7. 第一个java程序书_Java入门(4) 第一个Java程序

    Java入门(4) 第一个Java程序 摘要 通过本章的学习,读者应了解Java语言的两种程序:应用程序.小应用程序的基本结构,能够编译.运行Java应用程序和小应用程序. (2002-09-16 1 ...

  8. Struts2快速入门实例代码教程

    Struts2是基于MVC设计模式的流行和成熟的Web应用程序框架.Struts2并不只是Struts 1下一个版本,但它是一个完全重写的Struts架构. WebWork框架开始了与Struts框架 ...

  9. Struts2教程1:第一个Struts2程序

    在本系列教程中我们将学习到Struts2的各种技术.在本教程中使用的工具和程序库的版本如下: 开发工具:MyEclipse6 Web服务器:Tomcat6 Struts版本:Struts2.0.11. ...

最新文章

  1. 查询提升200倍,ClickHouse你值得拥有!
  2. SQL—已更新或删除的行值要么不能使该行成为唯一行。。。
  3. 【分析】腾讯年终总结:微信用户一天到晚都在干啥
  4. boost::gregorian模块实现测试时钟的测试程序
  5. ZOJ POJ题目分类
  6. Leetcode-998 Maximum Binary Tree II(最大二叉树 II)
  7. 【bzoj3224】普通平衡树——treap
  8. 多项目加载顺序修改_React推出并发模式:可中断渲染、指定加载顺序、并行处理多状态...
  9. springmvc为什么不能拦截jsp页面?
  10. 云图说|DAS表结构对比与同步,实现您多个数据库管理心愿
  11. 桂电计算机实训报告总结,桂林电子科技大学信息科技学院
  12. linux oracle 10g dataguard 实施详细记录
  13. python基础: 序列
  14. 瑞萨RH850F1L用户手册(UM)CAN接口部分中文翻译(Section 19 CAN Interface (RS-CAN))
  15. ios睡眠分析 卧床 睡眠_在HealthKit中用 Swift 进行睡眠分析
  16. 网站域名服务器 地址查询,查看网站dns域名服务器ip地址查询
  17. 智能创新引导工具软件——工作量分配和里程碑安排
  18. 【哪些年,我们一起追的女孩】第五章
  19. directx.sys和svchost.com
  20. 33-Jenkins-修改插件源

热门文章

  1. 孔氏格物篇1--世界是递归的
  2. 阿里技术专家:日活5亿的淘宝技术发展历程和架构经验分享!18页ppt详解
  3. 2022-3-19 fcl库 error while loading shared library fcl.so.0.7 no such file or directory
  4. 免费的安卓手机投屏工具盘点:手机声音传输到电脑竟然如此简单?
  5. can总线不加末端电阻_细说汽车电子通信总线之CAN 2.0 总线协议详解
  6. 倾角传感器用于通信铁塔、高压电塔长期监测
  7. HTML5+CSS网页设计作业——传统节日-春节(8页) 学生网站模板
  8. 键盘F1到F12功能键的组合使用
  9. php计算用户实际付的金额,复盘微信支付金额不正确问题—PHP浮点型计算
  10. powershell 下汉字转拼音