第一个Struts项目

Struts简介

Struts2概述

Struts2是Apache发行的MVC开源框架。注意:它只是表现层web(MVC)框架。

Struts2的来历

Struts1:
Struts1也是apache开发的一套mvc的开源框架。在2005年之前非常流行。
弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。
Struts2:
在long long ago,有一个设计超前的框架XWork,后来推出了XWork1和WebWork2。
Struts2就是apache和OpenSymphony组织合并开发出来。
里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1没有任何关系了。

Struts的环境搭建

下载Struts2开发包


下载2.3.33的版本

官网下载

解压后的目录结构

解压zip后的目录结构如下图

目录

apps 官方提供的案例Demo
docs 官方提供的文档
lib 官方提供的jar包,需要用到哪个才导入哪个
src 源码  

struts jar包介绍

  • 在apps目录中,提供了一个struts2-blank.war 包
  • 初始学者在项目集成中,导入lib下的所有包即可
  • jar的介绍
    jar介绍

第一个Struts项目

第一步:创建Web工程

  • 创建一个Web工程,名为_Struts2

第二步:导jar包

  • 把struts2-blank.war中的lib下所有的包导入自己创建的工程

第三步:添加配置文件

  • 把struts2-blank里classes目录下的struts.xml配置文件拷贝到自己创建工程的src中
  • 然后删除struts标签的所有内容

第四步:配置struts的过滤器

  • 在web.xml中,配置Filter
    <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>

配置的目的是用于拦截请求,由Struts的规则去处理请求,而不是用以前的servlet去处理

第五步:Tomcat运行Web工程

  • 如果tomcat运行没有报错,就代表配置成功

Struts 的Action配置

第一步:

  • 在struts中配置package和action,写如下代码
<struts>

    <package name="p1" extends="struts-default">
            <!--
            name:请求路径,没有后缀
            class:处理请求的action类
            method:对应的执行方法
            -->
        <action name="hello" class="com.wxy97.web.action.HelloAction" method="sayHello">
            <result name="success">/success.jsp</result>
        </action>
    </package>

</struts>

第二步:

  • 写一个HelloAction的类,需要写个sayHello方法
package com.wxy97.web.action;

/**
 * Created by WXY on 2019/2/26 0026 下午 12:47
 */
public class HelloAction {

    public String sayHello(){
        System.out.println("sayHello方法被调用了");
        return "success";
    }
}

第三步:

  • 添加一个success.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>hello</title>
    <p>第一个struts2程序</p>
</head>
<body>

</body>
</html>

第四步:

浏览器访问下面三个路径
http://localhost:8080/hello 【能正常访问】
http://localhost:8080/hello.action 【也能正常访问】

http://localhost:8080/hello.act 【不能正确访问】

因为struts默认是处理.action的请求,或者不带action也可以,其它后缀的都不会拦截,会放行,如jsp

执行

struts2执行流程图:

流程图

最后修改:2019 年 02 月 26 日 07 : 31 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论