Struts2——简单使用和配置(一)

简介:

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

 

目录:

apps:
    Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以运行
    里面就是一个最简单的一个项目,有strust2所需要的jar包
docs
    Struts2的开发文档和API
lib
    Strtus2框架的开发的jar包
src
    Struts2的源码

创建一个Web工程:

 

加入相关的jar包

创建一个lib文件夹在WEB-INF下面(存放包)

包不用太多,多容易出错,亲身经历了一堆错误没有截图下来 大概需要的就是这些了

编写struts.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="struts" extends="struts-default">
        <action name="hello" class="com.Hello">
            <!--根据action返回的值时候跳转-->
            <result name="success">/login/login.jsp</result>
        </action>
    </package>
</struts>

编写WEB前端控制器(在web.xml中添加过滤器)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <filter>
        <filter-name>action2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>action2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

编写action类(编写excute方法反射)

public class Hello {
    public String execute(){
        System.out.println("12345");
        return "success";
    }
}

几个注意点:配置后记得重启tomcat服务器,有时候启动的时候找不到类的情况 ctrl+alt+shift+s调出Project Structure(IDEA的方法)选择Artifacts右边选中右击文件夹put into output root 把包添加到项目中

加载文件顺序

配置中的Package

配置Action

配置常量

web.xml中的

<!--<init-param>
    <param-name>struts.action.extension</param-name>
    <param-value>java</param-value>
</init-param>-->

struts.xml的

<struts>
    <constant name="struts.action.extension" value="php" />
    <package name="struts" extends="struts-default" namespace="/login">
        <action name="hello" class="com.Hello">
            <!--根据action返回的值时候跳转-->
            <result name="success">/login/login.jsp</result>
            <result name="error">/login/login.jsp</result>
        </action>
    </package>
</struts>

include的用法(多人同个项目的时候可以防止被改乱)

<include file="a.xml" />

猜你喜欢

转载自blog.csdn.net/qq_40632760/article/details/86544507