Struts2之入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011301372/article/details/84961720

Struts2以Webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为Webwork的更新产品。
Struts2是一个基于MVC设计模式的Web层框架。

MVC 和JavaEE的三层结构

  • MVC设计模式,是由一些网站的开发人员提出来的
  • JavaEE三层结构:SUN公司为EE开发划分的结构

环境准备

创建web项目,编写jsp的页面,编写超链接,点击超链接发送请求,请求服务器,让服务器的方法去执行。

在这里插入图片描述在这里插入图片描述

下载Struts2的开发包

  • hettp://struts.apache.org/—官网地址

解压Struts-2.3.24-all.zip包

  • apps----Struts2 框架提供了一些应用
  • libs----Struts2框架开发的jar包(xxx.war—>(修改后缀名)xxx.zip解压后,查找web-inf下lib中的jar包)
  • docs----Struts2 框架开发文档
  • src----Struts2框架源码

引入需要开发的jar包

  • Struts2 框架的开发jar包非常多,并不是所有都是必须要引入的,有一些必须要导入的jar包,这些jar包可以从Struts2提供的应用中查找,
  • 资料中apps目录,找到Struts-blank.war应用,war包和zip包的压缩格式是一样的,手动修改后缀名后解压。
  • 找到解压后的应用,打开web-INF/lib目录下所有的jar包,复制到工程就可以了。

需要配置Struts2的前端控制器,注意:这一步必须要做,是Struts2的核心控制器。

  • Struts2的前端控制器就是一个过滤器,需要在web.xml中进行配置。
  • 前端控制器的类的路径和名称:arg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    在这里插入图片描述
  • 具体配置如下
<filter>
    <filter-name>struts2</filter-name>
    <!--选中StrutsPrepareAndExecuteFilter右键,Copy reference-->
    <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>

Struts的配置

配置文件名称是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-->
        <!--/hello.action-->
        <action name="hello" class="com.zst.action.HelloAction" method="sayHello"/>
    </package>

</struts>

跳转页面

public class HelloAction {

//Action中的方法签名是有要求的:
    //public共有的
    //必须有返回值,必须是String类型的
    //方法的名称可以任意的,但是不能有参数列表
    public String sayHello(){
        System.out.println("hello Struts2");
        //页面跳转
        //1 返回字符串
        //2 struts.xml中配置
        return "ok";
    }    
}
 <!--配置Action-->
        <!--/hello.action-->
        <action name="hello" class="com.zst.action.HelloAction" method="sayHello">
            <!--选中suc.jsp 右键 Copy relative path 复制路径-->
           <!--路径的写法:在struts2框架中,不管是转发还是重定向,都不用写项目名-->
            <result name="ok" type="">demo1/suc.jsp</result>
        </action>

执行的流程

启动服务器的时候,核心过滤器会被创建,init()方法初始化会执行,会加载配置文件。

引入约束与导入源代码

先找到struts.xml的配置文件,复制http://struts.apache.org/dtds/struts-2.3.dtd(不要双引号)
选择window—首选项—搜索xml—选择xml Catalog
选择添加按钮

  • key type 选择URI
  • key 的位置就是复制的路径
    http://struts.apache.org/dtds/struts-2.3.dtd
  • Location要在本地能找到struts22-2.3.dtd的真实文件,点击File System 去资料中查找
    如果想查看源代码,就选择资料 /struts2/struts-2.3.24-all.zip

猜你喜欢

转载自blog.csdn.net/u011301372/article/details/84961720
今日推荐