使用Idea+Maven进行struts2的搭建和运行

创建项目

使用Idea+Maven进行struts2的搭建和运行_第1张图片
Create New Project
使用Idea+Maven进行struts2的搭建和运行_第2张图片
Maven With Nod Archetype
使用Idea+Maven进行struts2的搭建和运行_第3张图片
Add GroupId And ArtifactId
Add Project Name And Location
Add FrameworkSupport
使用Idea+Maven进行struts2的搭建和运行_第4张图片
You Will See Some file Created

  • struts.xml






  • web.xml


    
        struts2
        org.apache.struts2.dispatcher.FilterDispatcher
    
    
        struts2
        /*
    

  • index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    $Title$
  
  
  $END$
  

添加maven的依赖包:pom.xml



    4.0.0

    helloweb
    helloweb
    1.0-SNAPSHOT

    
        
            junit
            junit
            3.8.1
            test
        
        
        
            org.apache.struts
            struts2-core
            2.2.3.1
        
        
            javax.servlet
            javax.servlet-api
            3.0.1
        
    

Jetty发布容器的使用

  • pom.xml project节点下加入以下内容

    
        
            org.mortbay.jetty
            maven-jetty-plugin
            6.1.7
        
    

  • 将左侧项目栏中的web文件夹重命名为webapp,并将其移动至src/main文件下
使用Idea+Maven进行struts2的搭建和运行_第5张图片
目录结构
  • 不知道为什么jetty无法找到structs.xml文件的位置,所以我们需要在web.xml中手动初始化一下配置参数


    
        struts2
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        
            config
            struts-default.xml,src/main/java/struts.xml
        
    
    
        struts2
        /*
    

其他源码

  • User.java
import java.io.Serializable;

public class User implements Serializable {
    private String mUsername;
    private String mPassword;

    public String getUsername() {
        return mUsername;
    }

    public void setUsername(String username) {
        mUsername = username;
    }

    public String getPassword() {
        return mPassword;
    }

    public void setPassword(String password) {
        mPassword = password;
    }
}
  • UserAction.java
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.rtfsc.model.User;

public class UserAction extends ActionSupport implements ModelDriven {
    private User mUser = new User();

    public User getModel() {
        return mUser;
    }

    @Override
    public String execute() throws Exception {
        String username = mUser.getUsername();
        System.out.println("username = " + username);
        String password = mUser.getPassword();
        System.out.println("password = " + password);
        if (username == null || password == null || username.isEmpty() || password.isEmpty()) {
            return ERROR;
        }
        if (username.equals(password)) {
            return SUCCESS;
        } else {
            return ERROR;
        }
    }
}
  • struts.xml





    
        
        
            /index.jsp
        
        
            /success.jsp
            /error.jsp
        
    

  • 运行项目
使用Idea+Maven进行struts2的搭建和运行_第6张图片
jetty:run
  • jetty实例url:localhost:8080/{projectname}/{action}
org.mortbay.jetty:maven-jetty-plugin:6.1.7:run
-Djetty.port=8081

你可能感兴趣的:(使用Idea+Maven进行struts2的搭建和运行)