您的位置:首页 > 编程语言 > Java开发

Struts2.5环境搭建

2017-06-07 17:30 162 查看

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" ?>
9aed

<!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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息