Struts2找不到action报404错总结,3个解决方法

来源:互联网 发布:stereonet软件 编辑:程序博客网 时间:2024/05/23 14:06

1: 路径问题

配置方法一:action方法调用

Xml代码  收藏代码
  1. <package name="user"  namespace="/user"  extends="struts-default">  
  2.     <action name="save"  class="com.puckasoft.web.action.UserAction"    
  3.     method="saveUser"></action>  
  4.     <action name="update"  class="com.puckasoft.web.action.UserAction"    
  5.     method="updateUser"></action>  
  6.     <action name="delete"  class="com.puckasoft.web.action.UserAction"    
  7.     method="deleteUser"></action>  
  8.     <action name="show"  class="com.puckasoft.web.action.UserAction"    
  9.     method="showUser"></action>  
  10. </package>  

 

运行路径路径格式: 包的命名空间/Action的名字  

   用户添加 /user/save.action
   用户更新 /user/update.action
   用户删除 /user/delete.action
   用户查看 /user/show.acton
   
   
配置方法二:action动态方法调用DMI

Xml代码  收藏代码
  1. <constant name="struts.enable.DynamicMethodInvocation" value="true" />  
  2. <package name="user"  namespace="/user"  extends="struts-default">  
  3.      <action name="index"  class="com.puckasoft.web.action.UserAction"/>  
  4. </package>  

     
运行路径格式:包的命名空间/Action的名字!Action类中定义的方法名
   用户添加 /user/index!saveUser.action
   用户更新 /user/index!updateUser.action
   用户删除 /user/index!deleteUser.action
   用户查看 /user/index!showUser.acton
 
只用设置常量struts.enable.DynamicMethodInvocation为true才能执行动态调用,它默认是开启的。

 

配置方法三:使用通配符定义Action
使用通配符,将配置量降到最低。
在action元素的name属性中可以使用*通配符,它可以匹配除了/以外的多个连续字符,在action元素的class和method属性以及 result元素中可以引用*通配符在访问期间实际匹配的内容

Xml代码  收藏代码
  1. <package name="user"  namespace="/user"  extends="struts-default">  
  2.   <action name="*" class="com.puckasoft.web.action.UserAction" method="{1}User"/>  
  3. </package>  

 

运行路径路径格式: 包的命名空间/Action的名字

   用户添加 /user/save.action
   用户更新 /user/update.action
   用户删除 /user/delete.action
   用户查看 /user/show.acton


2:jar包问题(原因不明,做了实验确实404)

利用构建配置路径配置jar包,web.xml右键键也会显示下横线,但访问action只报404,

解决方法:将jar包直接复制到web-inf里面的lib里,如果之前用构建路径配置不行改为lib的出现错误的话,对红线处按f2,没有对应的包,选择项目修改确定就

可以了


3:struts.xml里的package里的extends里的struts-default写错了,改过来就可以了


通常如果eclipse右键该jsp文件能访问,基本就是url问题,不能访问就是下面两个问题,剩下的大家补充.



0 0
原创粉丝点击