读书人

改变Struts2配置文件默许路径

发布时间: 2012-09-06 10:37:01 作者: rapoo

改变Struts2配置文件默认路径

ssh还是毕业的时候自觉了下下,对这个框架本不是很了解,加上出来工作用的一直是play框架,今天闲得慌就写了个ssh的demo,途中遇到了各种一大堆的错误,大部不外乎是缺少jar包造成的,到整合struts2的时候我不想把struts.xml文件放在默认目录src下,就改变了它的放置目录,放到WEB-INF\xml。

启动tomcat时也没有报错,然后访问配置好的action,结果当然是404,然后仔细看下tomcat的打印信息我发现了这样一行信息:

Unable to locate configuration files of the name struts.xml 直译过来是:没有找到名字为struts的配置文件。

才知道是struts.xml没有被加载,因为我把struts.xml文件放在WEB-INF\xml下了,tomcat的默认初始化路径是项目的src目录,当然找不到struts的配置文件。

我反编译org.apache.struts2.dispatcher.FilterDispatcher类发现它有一个init方法,又去网上找了些相关资料看下,找到了个解决方案,把web.xml文件改成:

<?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="struts.action.extension" value="do,h"/><package name="loginPackage" namespace="/" extends="struts-default"><action name="login_*" method="{1}"  class="www.com.controller.LogigAction"><result name="SUCCESS">/index.jsp</result><result name="ERR">/index.jsp</result></action></package></struts> 

上面的过程是亲身并测试通过,希望这个总结对遇到同样错误的新手有帮助!




读书人网 >编程

热点推荐