Struts2.5环境搭建

来源:互联网 发布:vb控件随窗体变化 编辑:程序博客网 时间:2024/06/07 20:45

struts2.5开发环境搭建步骤


1.下载相应的jar包:官方网址(http://struts.apache.org/),我下载的是最新版struts-2.5.10.1-all.zip。



全资源的包解压缩后有四个文件夹,apps是war files的示例包;docs是各种html文件,算是解释文档;
lib是所有的jar资源,但里面没有xwork-core这个jar;src是所有struts文件的源码,如果确实有需要,可以
看看。当然,这些在github上一样能看到。

2.创建动态web项目,并在lib目录下导入相应的jar包。先给出项目目录:



先介绍各个包的用途(2.5版本一定要导入log4j-api-2.7.jar):
1.struts2-core-2.5.10.1.jar                    struts核心包(struts2.5版本的xwork-core.jar合并到struts-core.jar里了)
2.freemarker-2.3.23.jar                      freeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具
3.commons-logging-1.1.3.jar             Jakarta的通用日志记录包
4.ognl-3.1.12.jarognl表达式所需包
5.commons-lang3-3.4.jar为java.lang包提供扩展
6.commons-fileupload-1.3.2.jarstruts提供的文件上传下载
7.log4j-api-2.7.jarstruts2.5版本开始必须导入该包,不然会无法开启tomcat服务器

struts包用途可参考:http://blog.csdn.net/haorengoodman/article/details/19821649

3.完善配置信息(web.xml, struts.xml):

(1)首先配置web.xml文件:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>struts2</display-name><!-- 配置struts2的过滤器 --><filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping><welcome-file-list>        <welcome-file>index.jsp</welcome-file>        <welcome-file>index.html</welcome-file>    </welcome-file-list></web-app>

注意:过滤器使用的是类:
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

在旧版本中使用的是 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。


(2)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="default" namespace="/" extends="struts-default">          <action name="hellostruts2" class="com.lonton.struts2.action.HelloWorld" method="say">              <result name="success">/helloworld.jsp</result>            <result name="hello">/hello.jsp</result>        </action>      </package> </struts>


3.写一个类继承ActionSupport(也可不继承):

package com.lonton.struts2.action;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport{    public String say() {        System.out.println("++++++++++++++++++++");        return "hello";    }        @Override    public String execute() throws Exception {        System.out.println("--------------------");        return SUCCESS;    }    }


注意:Action的类名一定要和struts.xml中action标签中的类名和方法名一致,并且在相应方法中返回String字符串。

4.测试:

启动服务器,在浏览器中访问:http://localhost:8080/struts2/hellostruts2.action

界面会相应的跳转到helloworld.jsp页面显示。


5.可能遇到的问题:

(1)ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,在web.xml中配置正确过滤器类<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>这是2.5以上版本的StrutsPrepareAndExecuteFilter类所在的包。

(2)Tomcat无法启动,Caused by: Java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger,log4j-api-2.7.jar添加到项目中。

(3)通配符使用问题遇到的错误,可参考:http://blog.csdn.net/byx903678890/article/details/72877922

原创粉丝点击