开发工具:Eclipse Struts版本:2.3.24
最近在学SSH框架,SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
那么,如何来搭建一个struts环境呢?一共分为四步。
第一步:导入jar包,官网地址:http://struts.apache.org/。导入jia包如下图:
第二步:创建Action,在src下创建一个package,package中再建一个class。这个class要继承ActionSupport 。ActionSupport类是一个工具类,它已经实现了Action接口。除此之外,它还实现了Validateable接口,提供了数据校验功能。通过继承该ActionSupport类,可以简化Struts 2的Action开发。继承ActionSupport 可以实现默认方法execute(必须有返回值,String数据类型)。
package com.action;
import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { @Override public String execute() throws Exception { System.out.println("进来了"); return SUCCESS; } }
这个方法中返回的SUCCESS是一个枚举值。你也可以返回其他的常量。
第三步:action配置,在src文件夹下面创建一个struts.xml,xml文件要引用一个规范xml文件的dtd文件。这个文件在struts2-core-2.3.24.jar包下面的struts-default.xml中的引入copy到你的
struts.xml中。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
导入规范之后,就可以配置xml文档了。
当你配置xml文档的时候,你可能会出现没有自动提示的情况
当你配置xml文件的时候,你可能会出现没有自动提示的情况,如果你不想纯手写xml文件,你就需要配设置它的自动提示。在window-->Preference-->xml-->xml catalog
这个时候点击Add,就会出现
注意:
key是自己copy上去的,是你引入的dtd文件路径,把路径copy进来之后,再点File System...
你再把struts2-core-2.3.24.jar解压,然后选中dtd文件,点击OK就行了;
我配置的struts.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--extends="struts-default" 需要走拦截器 --> <!-- result type默认值是转发 --> <package name="mypackage" extends="struts-default"> <action name="login" class="com.action.LoginAction"> <result name="success" type="redirect"> /index.jsp</result> </action> </package> </struts>
第四步:配置struts2的过滤器,在web.xml中配置好过滤器,这就是struts环境搭配的四步。
<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>*.action</url-pattern> </filter-mapping>