Struts2教程之一基本使用
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教程之一基本使用相关推荐
- Struts2教程3:struts.xml常用配置解析
在本文中将详细讲述struts.xml文件的常用配置及注意事项. 1. 使用<include>标签重用配置文件 在Struts2中提供了一个默认的struts.xml文件,但 ...
- struts2教程_Struts 2教程– Struts2教程
struts2教程 Welcome to Struts 2 Tutorial index post. Struts 2 is one of the mostly used Java Web Appli ...
- Struts2教程1:第一个Struts2程序
在本系列教程中我们将学习到Struts2的各种技术.在本教程中使用的工具和程序库的版本如下: 开发工具:MyEclipse6 Web服务器:Tomcat6 Struts版本:Struts2.0.11. ...
- Struts2教程2:处理一个form多个submit
在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,如下面的代码所示: <!--[if !supportLineBreakNewLine]--& ...
- Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法
在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...
- struts2教程--标签库详解
struts2 标签库 tag-reference.html 就是 struts2标签规范 一. 通用标签库 的学习 <s:property> 解析ognl表达式,设置默认值,设置内容是否 ...
- struts2教程(10)
struts2 标签库 tag-reference.html 就是 struts2标签规范 一. 通用标签库 的学习 <s:property> 解析ognl表达式,设置默认值,设置内容是否 ...
- struts2教程(9)--OGNL表达式使用
OGNL表示式使用和值栈 一.介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的 ...
- struts2教程--实现文件上传下载
Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...
- struts2教程(8)--文件上传下载
Struts2文件上传下载 一.Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截 ...
最新文章
- tkinter回调异常_使用matplotlib保存动画时Tkinter回调出现异常
- ICCV 2021|面向城市场景理解的大规模3D点云挑战赛
- 制打印如下所示的n行数字金字塔_一日一技:在Python中实现阿拉伯数字加上中文数字...
- 明日之后服务器维修会补偿什么,明日之后:服务器修复后官方发来补偿,玩家居然怀疑奖励不真实?...
- 最受欢迎中国技术博客? 我才狂写4周唉
- 掌握Android中的进程和线程
- 省选+NOI 第五部分 高级数据结构
- java泛型 之 入门(interface)
- UNIX高手的10个习惯之一
- 韩忠康mysql正则表达式_Go语言中正则表达式的处理
- 软件推荐┊最有效防止被聚生网管、P2P终结者等管理软件控制的小工具——ARP防火墙单机版...
- 基于机器学习的DGA域名检测
- RationalDMIS 2020 网络报表/网络编程连接设置
- b站《史上最全unity3D教程》笔记1-03
- [USACO09NOV]Job Hunt
- CMM 关键过程域
- MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒
- Tensorflow去掉warning
- 青海湖鸟岛上神气的蛋
- 如何通过外网环境访问本地的Web项目