Struts2的的开发入门

来源:互联网 发布:大学入伍体检 知乎 编辑:程序博客网 时间:2024/06/05 05:36

Struts环境的搭建

1.下载Struts2的开发包

https://struts.apache.org/ -- 官网地址
2. 解压struts-2.3.24-all.zip包
解压后会看到有包和一些文件,大家需要掌握包相关的信息 * apps -- Struts2框架提供了一些应用 * libs -- Struts2框架开发的jar包 * docs -- Struts2框架开发文档 * src -- Struts2框架源码
3. 引入需要开发的jar包
Struts2框架的开发jar包非常多,但是不是所有都是必须要引入的,有一些必须要导入的jar包,这些jar包可以从Struts2框架提供的应用中找到。 * 大家可以打开apps目录,然后找到struts2-blank.war应用。war包和zip包的压缩格式是一样的,所以可以自己修改后缀名,解压。

找到解压后的应用,打开WEB-INF/lib目录下所以的jar包。复制到工程中,就可以了。

4.需要配置Struts2的前端控制器,玩Struts2这一步是必须要做的操作,这是Struts2核心的控制器。

Struts2的前端控制器就是一个过滤器,那么过滤器相关知识咱们都学习过,需要在web.xml中进行配置。 * 前端控制器的类的路径和名称:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter * 具体配置如下,名称一般为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>

配置核心过滤的作用

      Struts2框架的核心是StrutsPrepareAndExecuteFilter过滤器,该过滤器有两个功能
         Prepare -- 预处理,加载核心的配置文件
         Execute -- 执行,让部分拦截器执行

         

 在服务器启动时web配置文件被加载,然后StrutsPrepareAndExecuteFilter过滤器被加载,然后依次加载

init_DefaultProperties(); -- 加载org/apache/struts2/default.properties  
init_TraditionalXmlConfigurations(); -- 加载struts-default.xml,struts-plugin.xml,struts.xml  
init_LegacyStrutsProperties(); -- 加载自定义的struts.properties.
init_CustomConfigurationProviders(); -- 加载用户自定义配置提供者
init_FilterInitParameters() ; -- 加载web.xml

然后这几个配置文件的主要作用我们要了解下

default.properties 在org/apache/struts2/目录下,代表的是配置的是Struts2的常量的值
      struts-default.xml在Struts2的核心包下,代表的是Struts2核心功能的配置(Bean、拦截器、结果类型等)
     struts.xml         重点中的重点配置,代表WEB应用的默认配置,一般我们所要做的配置都是在这个配置文件中做的
     web.xml   配置前端控制器(可以配置常量)

如果在配置文件中对同一个属性配置了值,那么后加载的配置文件会覆盖前面所加载的配置文件

编写Action的类

public class HelloAction extends ActionSupport{ public String sayHello(){        System.out.println("Hello Struts2!!");        return null;  }}
   

Action类是动作类,是Struts2处理请求,封装数据,响应页面的核心控制器。需要自己编写,访问修饰符要为public,必须要有返回值,并且返回类型为String,可以实现Action接口也可以继承Action接口的实现类ActionSupport,一般我们继承ActionSupport,这个类还实现了其他的接口,编写完Action类之后就开始编写struts的配置文件


编写struts2的类

   配置文件名称是struts.xml(名称必须是struts.xml)
在src下引入struts.xml配置文件(配置文件的路径必须是在src的目录下)

配置如下

<?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>        <package name="default" namespace="/" extends="struts-default">            <action name="hello_*" class="com.ll.HelloAction" method="{1}">
<result name="" type="">跳转的路径,都是以内部路径的形式</result>//这个就是name为Action中返回的字符串的名称,type设置跳转的方式            </action>        </package>    </struts>


其中包名可以随便取,namespace就是我们在jsp前端页面中要输入的路径名称通常是${pageContext.request.contextPath}/xx.action

所以我们这里一般配 / 就行了,extends继承的是struts-default核心功能的配置文件,action的name就是jsp前端中所输入的名称,这里是

以统配符的访问方式写的,在前端的href中配置这个${pageContext.request.contextPath}/hello_sayHello.action就能访问到我们刚刚编写的

Action类并执行了sayHello方法

<a href="${pageContext.request.contextPath}/hello_sayHello">测试</a>
点击这个便签,就能访问了



原创粉丝点击