Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
Struts的含义是”支柱,枝干”,它的目的是为了减少程序开发的时间,项目的创建者认为JSP,servlet的存在虽然可以帮助用户解决大部分问题,但是由于它们的编码对项目的开发带来了许多的不方便,可重用性也差,所以struts应运而生,帮助用户在最短的时间内解决这些问题。Struts框架提供如下服务:
(1)作为控制器的Servlet。
(2)提供大量的标签库。
(3)提供了用于国际化的框架,利用不同的配置文件,可以帮助用户选择合适自己的语言。
(4)提供了JDBC的实现,来定义数据源和数据库连接池。
(5)XML语法分析工具。
(6)文件下载机制
MVC模型:
V:显示界面,java中一般都是html、jsp、ftl等
C:控制器,承上启下
M:数据模型,一般都是service层提供的
现在的开发中很多项目都是采用Maven,那么本篇文档的代码也都是基于Maven进行的开发。
1、创建Maven项目
打包方式选择war
2、添加jar包依赖
pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.code404</groupId><artifactId>Struts2_1</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><description>Struts2的基本使用</description><dependencies><!--Strut2  --><!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.5.12</version></dependency><!--Servlet  --><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies><!--构建信息 --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.0</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build></project>

3、创建控制器类
Struts中的控制器就是Action


//控制器
public class HelloAction extends ActionSupport{public String hello(){System.out.println("欢迎访问控制器");return "index";//"success"}@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubreturn super.execute();}
}

4、创建全局配置文件
struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--约束文档 -->
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN""http://struts.apache.org/dtds/struts-2.5.dtd">
<!--1、基本使用&Action多种创建方式  -->
<struts><!--包的创建, name:名称 namespace:访问路径 extends:继承包名 --><package name="h1" namespace="/" extends="struts-default"><!--Action的第一种创建方式:继承 --><!--Action控制器 name:行为名称,访问名称 class:类的全称 method: 要执行的方法,如果省略,那么执行execute --><action name="hello" class="cn.code404.web.action.HelloAction"method="hello"><!--result:方法的返回值 name:返回值的内容 --><result name="index">/index.jsp</result></action></package>
</struts>

5、创建index.jsp页面
6、配置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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><display-name>Struts2_Day1</display-name><!--Struts2的前端控制器,是一个过滤器组成的,配置文件要求:路径:classes,名称:struts.xml  --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

7、启动
访问:hello或者hello.action即可访问对应的控制器

Struts2教程之一基本使用相关推荐

  1. Struts2教程3:struts.xml常用配置解析

    在本文中将详细讲述struts.xml文件的常用配置及注意事项. 1.        使用<include>标签重用配置文件 在Struts2中提供了一个默认的struts.xml文件,但 ...

  2. struts2教程_Struts 2教程– Struts2教程

    struts2教程 Welcome to Struts 2 Tutorial index post. Struts 2 is one of the mostly used Java Web Appli ...

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

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

  4. Struts2教程2:处理一个form多个submit

    在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,如下面的代码所示: <!--[if !supportLineBreakNewLine]--& ...

  5. Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法

    在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...

  6. struts2教程--标签库详解

    struts2 标签库 tag-reference.html 就是 struts2标签规范 一. 通用标签库 的学习 <s:property> 解析ognl表达式,设置默认值,设置内容是否 ...

  7. struts2教程(10)

    struts2 标签库 tag-reference.html 就是 struts2标签规范 一. 通用标签库 的学习 <s:property> 解析ognl表达式,设置默认值,设置内容是否 ...

  8. struts2教程(9)--OGNL表达式使用

    OGNL表示式使用和值栈 一.介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的 ...

  9. struts2教程--实现文件上传下载

    Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...

  10. struts2教程(8)--文件上传下载

    Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...

最新文章

  1. tkinter回调异常_使用matplotlib保存动画时Tkinter回调出现异常
  2. ICCV 2021|面向城市场景理解的大规模3D点云挑战赛
  3. 制打印如下所示的n行数字金字塔_一日一技:在Python中实现阿拉伯数字加上中文数字...
  4. 明日之后服务器维修会补偿什么,明日之后:服务器修复后官方发来补偿,玩家居然怀疑奖励不真实?...
  5. 最受欢迎中国技术博客? 我才狂写4周唉
  6. 掌握Android中的进程和线程
  7. 省选+NOI 第五部分 高级数据结构
  8. java泛型 之 入门(interface)
  9. UNIX高手的10个习惯之一
  10. 韩忠康mysql正则表达式_Go语言中正则表达式的处理
  11. 软件推荐┊最有效防止被聚生网管、P2P终结者等管理软件控制的小工具——ARP防火墙单机版...
  12. 基于机器学习的DGA域名检测
  13. RationalDMIS 2020 网络报表/网络编程连接设置
  14. b站《史上最全unity3D教程》笔记1-03
  15. [USACO09NOV]Job Hunt
  16. CMM 关键过程域
  17. MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒
  18. Tensorflow去掉warning
  19. 青海湖鸟岛上神气的蛋
  20. 如何通过外网环境访问本地的Web项目

热门文章

  1. 项目管理人员达到最高层所需的八大能力
  2. MD5加密算法的原理
  3. 碳足迹计算2021-02-06
  4. Python实现过采样和欠采样
  5. a标签的href属性长度限制
  6. 松下弧焊机器人 调电压_松下焊接机器人-基本操作篇.pdf
  7. 计算机上面的清除键是什么符号,电脑上删除键是哪一个
  8. Java ssm框架是什么?
  9. 自相关函数与互相关函数
  10. 【STM32】可变焦、聚焦摄像头驱动电路与驱动程序——两相四线步进电机驱动