maven struts整合搭建

1.在pom文件中添加依赖

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.15.1</version>
</dependency>

2.web.xml中配置一下这个filter 

Struts1的入口点是一个Servlet,而Struts2的入口点是一个过滤器(Filter)

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.FilterDispatcher            
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

3.编写Action

Struts1.x中的动作类必须从Action类中继承,而Struts2.x的动作类需要从com.opensymphony.xwork2.ActionSupport类继承。

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

    private String user;
    private String password;
    public String getUser() {
        return user;
    }
    public void setUser(String user) {
        this.user = user;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String execute()
    {
        if(getUser().equals("admin")&&getPassword().equals("123456"))
                return SUCCESS;
        else
            return ERROR;
    }
}

4.配置Action

struts1.x中的配置文件一般叫struts-config.xml(当然也可以是其他的文件名),而且一般放到WEB-INF目录中。而在struts2.x中的配置文件一般为struts.xml,放到WEB-INF"classes目录中。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="strusts.il8n.encoding" value="UTF-8" />
    <package name="fdyg" extends="struts-default">
        <action name="login" class="com.fdyg.LoginAction" method="execute">
            <result name="success">/index.jsp</result>
            <result name="error">/login.jsp</result>

        </action>
    </package>

</struts>

<struts>标签中可以有多个<package>,第一个<package>可以指定一个Servlet访问路径(不包括动作名),如namespace=/mystruts”。extends属性继承一个默认的配置文件“struts-default”,一般都继承于它,大家可以先不去管它。<action>标签中的name属性表示动作名,class表示动作类名。

    <result>标签的name实际上就是execute方法返回的字符串,如果返回的是“success”,就跳转到index.jsp页面,如果是“error”,就跳转到login.jsp页面。在<struts>中可以有多个<package>,在<package>中可以有多个<action>。我们可以用如下的URL来访问这个动作:

http://localhost:8080/fdyg/mystruts/sum(方法名).action

Struts1.x的动作一般都以.do结尾,而Struts2是以.action结尾。

5. 编写用户录入接口(JSP页面)

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="s"  uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>login</title>
</head>
<body>
<s:form action="login.action">
<s:textfield name="user" key="username"/>
<s:textfield name="password" key="password"/>
<s:submit key="login"/>
</s:form>
</body>
</html>

详情参考http://www.blogjava.net/nokiaguy/archive/2008/04/15/193229.html

原文地址:https://www.cnblogs.com/weiwoduhigh/p/3365603.html