Struts2.5环境搭建

xiaoxiao2021-02-28  101

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.jar struts2.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

转载请注明原文地址: https://www.6miu.com/read-53563.html

最新回复(0)