org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.

No action config found for the specified url

  url路径下找不到action,原因是stuts-config.xml文件配置错误。

  demo的项目文件如下:

  使用jsp文件夹中的login.jsp文件调用action:

<%@ page language="java" contentType="text/html"
    pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>用户登录</title>
</head>
<body>
    <!-- 标准登录框 -->
    <div id="Login_LoginForm">
        <div>账号登录</div>
        <form method="post" action="loginng.do">
                账号:<input name="username" type="text">
                密码:<input name="password" type="password">
                <a target="_blank" href="register.jsp">免费注册</a>
                <input type="submit" value="登录">
                <input type="reset" value="重新输入">
        </form>
    </div>
</body>
</html>

  web.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>StrutsSample</display-name>

  <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
      <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

</web-app>

  struts-config.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
    <form-beans>
        <form-bean name="loginForm"
            type="org.sunnywen.struts.LoginActionForm">
        </form-bean>
    </form-beans>
    <action-mappings>
        <action path="/loginng"
            name="loginForm"
            type="org.sunnywen.struts.LoginAction">
            <forward name="loginSuccess" path="/index.jsp"></forward>
        </action>
    </action-mappings>
</struts-config>

  LoginActionForm是继承ActionForm的类,LoginAction是继承Action的类,此时运行将会出现错误:org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.

  原因是JSP文件是在jsp文件夹中,action="loginng.do"会自动去寻找同一文件夹下(即jsp文件夹)的loginng.do,而在struts-config.xml中配置的action的path是配置在根目录下,所以应当如下进行配置:

<action-mappings>
        <action path="/jsp/loginng"
            name="loginForm"
            type="org.sunnywen.struts.LoginAction">
            <forward name="loginSuccess" path="/index.jsp"></forward>
        </action>
    </action-mappings>

转载请注明转载地址:http://www.cnblogs.com/FlyingPuPu/p/5129631.html

时间: 2024-10-10 06:41:44

org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.的相关文章

【struts 报错】 No action config found for the specified url

1 type Exception report message org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url. description The server encountered an internal error that prevented it from fulfilling this request. exception javax.

org.apache.struts.taglib.bean.CookieTei cannot be cast to javax.servlet.jsp.tagext.TagExtraInfo

严重: Servlet.service() for servlet jsp threw exceptionjava.lang.ClassCastException: org.apache.struts.taglib.bean.CookieTei cannot be cast to javax.servlet.jsp.tagext.TagExtraInfo at org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibra

Apache Struts 2的命名空间实战

Apache Struts 2的命名空间实战 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Apache Struts 2的命名空间是一个新概念,它通过为每一个模块分配一个命名空间从而实现多模块的处理.另外,它解决了不同模块下的相同Acion名的名字冲突的问题. 从下面的图我们可以理解URL是怎样匹配Struts 2命名空间的. 一.命名空间的配置 下面我们通过Struts2的命名空间配置实例来说明它是怎样匹配URL和目录的.要说

Cannot find bean under name org.apache.struts.taglib.html.BEAN[转]

1.试图在Struts的form标记外使用form的子元素.在后面使用Struts的html标记等 2.不经意使用的无主体的标记,如web 服务器解析时当作一个无主体的标记,随后使用的标记都被认为是在这个标记之外的3.还有就是在使用taglib引入HTML标记库时,你使用的prefix的值不是html 4.property必须和所要提交的action对应的formbean中的某个属性相匹配(必须有一个formbean)5.要使用标签,外层必须使用标签,不能使用html的 posted on 20

java org.apache.struts.taglib.html.BEAN 没有找到

index.jsp Html代码   <body> <a href="login2.do">登陆(struts标签)</a><br> </body> struts-config.xml Xml代码   <action path="/login2" forward="/login_use_struts_tag.jsp" ></action> <action p

struts中的常量,action配置中的默认值

1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现结构,struts都会进行默认拦截器的启动,拦截器的启动和Action没有关系. 2.struts中的通配符 在对action进行配置时,会有重复的情况 <action name="login" class="com.juaner.action.UserAction"

Apache commons chain简介和简单实现

apache commons chain 提供了对CoR模式的基础支持..CoR模式,是Chain of Responsebility的缩写.CommonsChain实现了Chain of Responsebility和Command模式,其中的Catalog + 配置文件的方式使得调用方和Command的实现方的耦合度大大的降低,提高了灵活性. 使用Apachecommons chain,需要将commons-chain.jar放入你的classpath,目前最新的版本是1.2. 从使用的角度

[转]Eclipse下开发Struts奇怪异常:org.apache.struts.taglib.bean.CookieTei

今天早上开始在Eclipse下学习struts,于是按照李兴华老师的<struts入门视频教程>一步一步地充满快乐的学习,等把登陆程序写完,打开浏览器准备运行的时候,奇怪的异常产生了,异常显示500错误,如下: HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description Th

Apache Struts最新漏洞 远程代码执行漏洞预警 2018年11月08日

2018年11月8日,SINE安全监控检测中心,检测到Apache Struts官方更新了一个Struts漏洞补丁,这个漏洞是Apache Struts目前最新的漏洞,影响范围较广,低于Apache Struts 2.3.35的版本都会受到此次Struts漏洞的攻击,目前apache官方更新的漏洞补丁,主要是修复commonsfileupload上传库出现的安全问题,这个库可以远程执行代码,上传木马后门到网站服务器中去. Apache Struts 漏洞描述 某知名的安全组织向Apache St