struts2环境配置

struts官网:http://struts.apache.org/     其中,GA版本为稳定版本,是直接可以投入到企业生产中的版本

下载“Full Distribution”  ,这里面包含了struts的所有内容

解压之后看到这些内容:

打开lib文件夹,这里是我们要导入到我们工程里面的库的jar包,

但是并不是Ctrl+A直接全部导入的,因为各个包之间存在依赖关系,所以如果全部导入可能会导致一些问题

作为一般应用,我们开始导入一下几个基本的包:

commons-fileupload-1.3.jar  文件上传功能

commons-io-2.0.1.jar  commons-fileupload-1.3.jar 依赖的包

commons-logging-1.1.3.jar  关于日志处理的文件

ognl-3.0.6.jar  支持struts的表达式语言,ognl(Object-GraphNavigation Language

struts2-core-2.3.15.jar  struts的和心包

xwork-core-2.3.15.jar    struts的内核是基于xwork的

除以上,还要导入

Javassist.....jar

commons-lang3.....jar

把以上的包拷贝到工程目录lib目录下,struts的环境就配制完成了

下面通过一个小例子来完善配置

再导入freemarker-2.3.19.jar

 

新建一个web project

导入相关包

首先让程序的的所有请求都交由由struts2的filter来代理

配置web.xml文件

找到struts2中的filter类,将其配置到web.xml中

文件 :web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExcuteFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

配置struts.xml

  1.在src根目录新建一个struts.xml文件

  2.打开下载好的struts压缩包,在src里面找到一个示例程序,找到它的struts.xml文件,然后复制他的dtd声明到自己项目里面

  

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

  tips:在http://struts.apache.org/dtds/struts-2.3.dtd中可以看到struts.xml的写法

文件 struts.xml

<?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="struts2" extends="struts-default">
        
        <action name="login" class="com.test.struts2.LoginAction">
            <result name="successPage">/result.jsp</result>
        </action>
        
    </package>


</struts>

 文件 login.jsp

<body>
    
    <form action="login">
        username: <input type="text" name="username"/>
        password: <input type="password" name="password">
        <input type="submit">
    </form>

文件result.jsp

 <body>
    username: ${requestScope.username }<br>
    password:${requestScope.password }
  </body>

文件LoginAction.java

package com.test.struts2;

public class LoginAction {
    
    private String username;
    private String password;
    
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
    public String execute(){
        return "successPage";
    }
    
}
原文地址:https://www.cnblogs.com/simplty/p/3182213.html