初识struts2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识struts2相关的知识,希望对你有一定的参考价值。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

配置struts2 

  

  1.下载struts2插件,网址:http://struts.apache.org/download.cgi#struts251

  2.解压压缩包,我的版本是struts-2.3.28.1-all

  3.根目录下有一个文件夹apps,该文件夹中有一个struts2-blank的文件夹,该文件夹是存储的一个struts2的示例程序

  4.WEB-INF下lib文件夹中的jar包就是一个基本struts2工程所要使用的jar包

 

struts2 HelloWorld

  1.新建web工程,将所需要用的jar包导入WEB-INF文件夹下的lib中

  2.配置web.xml

    

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<!-- 配置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>

</web-app>

  3.新建Action的java类,可以继承ActionSupport类,也可以不继承,对每一个变量设置getter()、setter()方法,此处的变量就是页面中出现的变量,struts2会通过setter()方法对这些变量自动的赋值

package com.test;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport{
    
    private static final long serialVersionUID = 1L;
    
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }
}

  4.配置struts.xml文件,action的name属性是作为url来使用的,一般写作helloworld.action或helloworld.do这个可以通过配置来改变

<?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="helloworld" extends="struts-default" >
        <!-- 配置Action,若Action不指定method,默认是execute()方法 -->
        <action name="hello" class="com.test.HelloWorld">
            <!-- 
                Action执行之后的返回结果,result不指定name属性,默认是SUCCESS
                不同的name值可以指向不同的结果    
            -->
            <result>/hello.jsp</result>
        </action>        
    </package>
</struts>

  5.请求页面,使用一个<a>标签去访问Action

<a href="hello.action?name=jack">Hello</a>

 至此struts2的HelloWorld已经搭建成功,其中web.xml配置是不变的,而struts.xml的配置是根据’需求改变的

以上是关于初识struts2的主要内容,如果未能解决你的问题,请参考以下文章

Struts2之初识

初识struts2

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Struts2

初识struts2框架