第一个 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. 10 款 VS Code 插件神器,第 7 款超级实用!
  2. 【cocos2d-x】游戏构成要素②----使用多个层
  3. 还在为Linux入门发愁?
  4. 学习Python技术有哪些优势?
  5. 电赛推迟了,回家吗?
  6. Java基本数据类型和String类型的转化
  7. Python迭代列表
  8. ieda使用 在jsp页面中,有时候会出现不能智能显示方法 idea pageContext.setAttribute...
  9. Ubuntu E: Sub-process /usr/bin/dpkg returned an error code (1)
  10. 合并传闻是真是假?ofo摩拜之争是否继续?(产品)
  11. 安卓模拟器按键_逍遥安卓模拟器PC版-逍遥安卓模拟器下载v7.2.8.0
  12. WPS实现公式居中同时编号对齐
  13. Druid源码分析--整体结构
  14. Scratch少儿编程案例-算法练习-存款收益计算
  15. 跨境电商多商户系统怎么选
  16. Python函数 — 类型提示和存根文件
  17. 小百合海外站 lilybbs.us or woft.net 教育网 paradiso.cn:10078
  18. matplotlib的plt.ion()没用/不能交互
  19. shell脚本一步完成多层ssh跳转时的文件传输:Multi-layer scp
  20. thinkphp 页面静态化

热门文章

  1. Pad居然可以写代码了?研究完我惊了,居然是中国创业公司的产品
  2. Ubuntu20.04交叉编译Vlc3.0.16,并添加录像接口
  3. c语言构造合式公式真值表,构造任意合式公式的真值表.doc
  4. 解决问题黄金三步:定义问题—分解问题—归类分组
  5. 港科夜闻|香港科大与中国医药创新促进会共建创新研究平台,推动大湾区医药创新发展...
  6. EasyX颜色+绘制彩虹色天空
  7. C_char*、char[]、中文字符
  8. 虚拟化技术 hyper-v
  9. android 横向竖排文字,Android TextView 横排文字变竖排的简单方法
  10. pandas 多条件筛选DataFrame