小弟刚开始学习struts2,做了一个HelloWorld可是当进入action时总是提示:
The  requested  resource  (/palance/WebRoot/hello.action)  is  not  available.
我搞了两天了,也没弄清楚是为什么,求救大侠们。
代码都非常简单
我的web.xml如下:
<?xml  version="1.0"  encoding="UTF-8"?>
<web-app  version="2.4"  
xmlns="http://java.sun.com/xml/ns/j2ee"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">     <filter>
         <filter-name>Struts  2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
     </filter>
 
     <filter-mapping>
         <filter-name>Struts  2</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
                   
   <welcome-file-list>
       <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>    
</web-app>
--------------------------------------------------------------------
struts.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>
   <package  name="hello"  namespace="/"  extends="struts-default">
       <action  name="hello"  class="org.palance.HelloWorld">
           <result  name="success">
               /HelloWord.jsp
           </result>
       </action>
   </package>
</struts>
-------------------------------------------------------------------
index.jsp如下:
<%@  page  language="java"  import="java.util.*"  pageEncoding="GBK"%><!DOCTYPE  HTML  PUBLIC  "-//W3C//DTD  HTML  4.01  Transitional//EN">
<html>
   <head>        
       <title>My  JSP  'index.jsp'  starting  page</title>
   </head>
   
   <body>
       <a  href="hello.action">进入</a>
       <p>Loading...</p>
   </body>
</html>---------------------------------------------------------------
HelloWorld.java文件如下:
package  org.palance;
import  com.opensymphony.xwork2.ActionSupport;
public  class  HelloAction  extends  ActionSupport  {private  String  msg  =  "Hello  World";
public  String  getMsg()  {
return  msg;
}
public  void  setMsg(String  msg)  {
this.msg  =  msg;
}
@Override
public  String  execute()  throws  Exception  {
//  TODO  Auto-generated  method  stub
return  "success";
}
}
感觉应该是我的struts.xml文件有问题,可是不知道该怎么解决。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【palanceli】截止到2008-06-22 17:37:47的历史汇总数据(不包括此帖):
    注册日期:2008-2-28
    上次登录:2008-6-22
    发帖数:1                  发帖分:20                 
    结贴数:0                  结贴分:0                  
    结贴率:0.00 %        结分率:0.00 %        
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    或者在jsp页面的action里加上你的namespace,还有就是不建议楼主把namespace设为"/",这种符号貌似没有什么意义(just a advance)
      

  3.   

    删掉吗?这样:
    <?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>
      <package name="palance" extends="struts-default">
        <action name="hello" class="sogou.ime.HelloWorld">
          <result name="success">
            /HelloWord.jsp
          </result>
        </action>
      </package>
    </struts>
    我这么做了,还是老样子
      

  4.   

    如果屡次修改都不行,把你的tomcat的work情况一下
      

  5.   

    注意到你帖出来的web.xml中下面两行
       <filter> 
            <filter-name>Struts  2 </filter-name> 
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class> 
        </filter>     <filter-mapping> 
            <filter-name>Struts  2 </filter-name> 
            <url-pattern>/* </url-pattern> 
        </filter-mapping> 
    红色的部分中的空格貌似多余的,直接写struts2。页面和其它配置应该没有问题。
    另外按6楼所说,如果你用tomcate,把你的tomcat(或者其它)的容器缓存清空一下。