struts2 如何跳转html5,Struts2 入门介绍(一)

一、什么是Struts2

1、Struts2是一个开发框架,应用于JavaEE三层架构中的web层。

2、Struts2框架是在Struts1和webwork基础上发展的一个全新的框架。

3、Struts2解决的问题:在servlet中,每一个操作都要对应于一个servlet类,这样当操作非常多的时候,需要写非常多的类

这样就在维护时带来了许多的不变;而使用Struts2后,只需要一个类,所有的操作对应于类中的每

一个方法,这样就减少了代码文件,便于维护。

4、本文中使用的Struts2版本为2.3.24.

5、web层常见的操作除了Struts2框架,常见的还要springMVC框架。

二、如何搭建一个Struts2项目

由于Struts2是一个应用于web层的框架,因此必须是web项目,才可以使用此框架。下面就一步步介绍如何使用Struts2框架

进行简单的项目搭建。

1、首先创建一个动态web项目。

779703-20170607161805809-1196499609.png

6739e0d0b47385e410d11903ff0a8988.png

2、导入依赖

要使用struts2框架,必须要导入struts2依赖的jar包,在WEB-INF目录中的lib文件夹下导入需要的jar包。jar包下载地址:jar包

f9a05dfe9009c33b9d3e12c490f37881.png

3、创建一个Action类

Action类是struts2中的操作类,相当于servlet。

在Action的编写中有以下的点要注意:

Action类中的方法可以没有返回值,也可以有返回值。

如果方法有返回值,则返回值类型必须是String类型。

没有返回值的方法可以声明返回值为void,也可以返回none字符串。

如果有返回值,并且返回值不是none,就必须要在配置文件中配置该返回值。

当action类被访问时,会默认执行execute方法(类似于servlet中的service方法)。

action的编写有三种方式:(1)直接写一个普通类 (2)实现Action接口 (3)继承ActionSupport类。

示例代码:

(1)第一种:直接写一个普通的类。

public classHelloAction1 {/**

* 1、当访问action时,struts2会默认执行execute方法。

* 2、action里面的方法可以没有返回值,如果有返回值,则返回值类型必须为String。

* 3、当action没有返回值或者返回值为none时,在struts.xml文件中不用配置result标签。

* 4、当action有返回值时,在struts.xml中必须要配置result标签,

* 标签中的name的属性值必须要和返回值一致。*/

/**

* 该方法在Action被访问时默认执行*/

publicString execute(){

System.out.println("execute被执行");return "success";

}/**

* 该方法没有返回值。*/

public voidtest1(){

System.out.println("test1被执行");

}/**

* 该方法返回的值为none,相当于void,没有返回值*/

publicString test(){

System.out.println("test被执行");return "none";

}/**

* 该方法有返回值

* 该返回值必须要配置,不然会出现404*/

publicString hello(){

System.out.println("hello被执行");return "ok";

}

}

(2)第二种:实现Action接口

public class HelloAction2 implementsAction{/*** 1、当访问action时,struts2会默认执行execute方法。

* 2、action里面的方法可以没有返回值,如果有返回值,则返回值类型必须为String。

* 3、当action没有返回值或者返回值为none时,在struts.xml文件中不用配置result标签。

* 4、当action有返回值时,在struts.xml中必须要配置result标签,

* 标签中的name的属性值必须要和返回值一致。*/

/*** 继承Action接口,需要重写execute方法

* 在Action接口中提供了五个常量可以使用,分别为:

* (1)SUCCESS:相当于字符串success。

* (2)NONE:相当于none字符串。

* (3)ERROR:相当于字符串error。

* (4)INPUT:相当于字符串input。

* (5)LOGIN:相当于字符串login。*/@Overridepublic String execute() throwsException {returnSUCCESS;

}/*** 该方法没有返回值。*/

public voidtest1(){

System.out.println("test1被执行");

}/*** 该方法返回的值为none,相当于void,没有返回值*/

publicString test(){

System.out.println("test被执行");returnNONE;

}/*** 该方法有返回值

* 该返回值必须要配置,不然会出现404*/

publicString hello(){

System.out.println("hello被执行");return "ok";

}

}

(3)第三种方法:继承ActionSupport类。

public class HelloAction3 extendsActionSupport{/*** 1、当访问action时,struts2会默认执行execute方法。

* 2、action里面的方法可以没有返回值,如果有返回值,则返回值类型必须为String。

* 3、当action没有返回值或者返回值为none时,在struts.xml文件中不用配置result标签。

* 4、当action有返回值时,在struts.xml中必须要配置result标签,

* 标签中的name的属性值必须要和返回值一致。*/

/*** 该方法在Action被访问时默认执行*/

publicString execute(){

System.out.println("execute被执行");return "success";

}/*** 该方法没有返回值。*/

public voidtest1(){

System.out.println("test1被执行");

}/*** 该方法返回的值为none,相当于void,没有返回值*/

publicString test(){

System.out.println("test被执行");return "none";

}/*** 该方法有返回值

* 该返回值必须要配置,不然会出现404*/

publicString hello(){

System.out.println("hello被执行");return "ok";

}

}

4、编写struts2的核心配置文件。

struts2框架类似于Hibernate框架,也需要一个核心的配置文件,该文件有以下主要特点

位置和名称固定

位置:在src目录下。

名称:struts.xml

该文件的详细编写和说明见代码:

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

/hello.jsp

5、编写简单的测试jsp页面

由于hello方法有一个返回值,在接受到该返回值后需要重定向到一个路径,示例中为一个jsp页面。

Insert title here

Hello Struts2

6、配置struts2的过滤器

要使用struts2必须要在web.xml中配置struts2的过滤器,该代码是固定的。

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

7、测试示例项目

访问地址:http://ip:端口号/项目名称/配置中action的name值,本示例为:http://127.0.0.1:8080/Struts2_01/hello.action

测试结果:

99bcdd11557a1feed5ba0a204abd20e8.png

a79ae9590cabb8458d2ab38bb3051c6c.png

至此,我们就完成了一个简单的struts2框架的项目。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值