`
qdujunjie
  • 浏览: 108845 次
  • 性别: Icon_minigender_1
  • 来自: Mars
社区版块
存档分类
最新评论

struts问题1

阅读更多

 

今天刚开始看struts,碰到了一个这样的问题:

 

 The server encountered an internal error () that prevented it from fulfilling this request.

搜索了网上,各种回答都有,但是没有一个符合我的问题。结果到最后自己找到了问题所在。其实很简单,就是配置错了

 

struts-config.xml

 

中的Action的path。

 

我是按照书上的一个猜数字的示例程序来做的。

 

需要两个ActionForm和两个Action。分别是:

 

ActionForm是:

 

createNumberActionForm

judgeActionForm

 

Action是:

 

createNumberAction

judgeAction

 

 

然后一个入口文件guess.jsp。guess.jsp中的表单部分的action是这样的:

 

  <html:form method="POST" action="/createNumberAction.do">
  </html:form>

 

结果运行guess.jsp时,就出现了这样的错误:

 

 

 

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Cannot retrieve mapping for action /createNumberAction
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
	org.apache.jsp.guess_jsp._jspService(org.apache.jsp.guess_jsp:82)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

root cause

javax.servlet.jsp.JspException: Cannot retrieve mapping for action /createNumberAction
	org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:753)
	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443)
	org.apache.jsp.guess_jsp._jspx_meth_html_form_0(org.apache.jsp.guess_jsp:165)
	org.apache.jsp.guess_jsp._jspx_meth_html_html_0(org.apache.jsp.guess_jsp:124)
	org.apache.jsp.guess_jsp._jspService(org.apache.jsp.guess_jsp:73)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

 

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.

 

 

 

这么一堆东西,根本找不到头绪,不过其中有一句还是挺重要的:

 

Cannot retrieve mapping for action /createNumberAction

很明显没找到/createNumberAction这个Action。

 

因为只可能从struts-config.xml这个配置文件中找Action,所以肯定是这里有问题,一看,果然没有createNumberAction,我用向导创建了Action之后,在配置文件中使这个样子:

 

    <action
      attribute="createNumberActionForm"
      name="createNumberActionForm"
      path="/createNumber"
      type="com.yourcompany.struts.action.CreateNumberAction"
      validate="false" />

 

对,就是path写错了,应该是我们要找的/createNumberAction这个才对,换成/createNumberAction,然后重新上传访问,结果就OK了!

 

也就是说,配置文件中的action的path必须和前台的使用了struts标签的表单的action的路径对应起来。

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    Struts1与Struts2本质区别

    Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action...

    struts中文乱码问题解决详细步骤

    struts中文乱码问题解决详细步骤(两种方法)

    struts中文问题,struts国际化问题——终极解决方案

    经典的struts中文问题,国际化问题终极解决方案

    struts文件上传大小限制问题

    struts文件上传大小限制问题struts文件上传大小限制问题struts文件上传大小限制问题struts文件上传大小限制问题

    struts1.0和struts2

    Struts1的一个普遍问题是使用抽象类编程而不是接口。 ◆Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action...

    struts1学习文档

    很适合初学者的struts1学习文档 Struts框架属于哪层技术?主要解决什么问题?

    Struts1源码解析

    Struts1源码解析,有你看源码的步骤,你只要按照一步一步的来看,救没有问题了,struts就是一个菜

    03解决struts2配置文件无提示问题

    其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为...

    struts2.1.6 解决日历问题

    struts2.1.6 解决日历问题。区别struts2.0

    JSP和Struts解决用户退出问题

    JSP和Struts解决用户退出问题JSP和Struts解决用户退出问题

    Struts2.5.2的配置及问题解决

    针对Struts2.5.2最新版本的配置进行了梳理,通过一步步的步骤和发生的问题点的解决,完成对Struts2.5.2的配置。

    Struts2权威指南完整版

    第二版删除了第一版中第18章的内容(Struts 2和Struts 1整合部分),全面介绍了Struts 2.1新增的Convention和REST支持。《Struts 2.1权威指南》最后配备的两个常用的实例也都升级为基于Struts 2.1运行,读者可通过这两...

    struts2和servlet的共存问题

    struts2和servlet的共存问题

    struts处理中文乱码问题总结

    struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结

    struts与webservice集成研究

    Struts是一个实现MVC模式的框架典范,在Struts框架下通过利用J2EE技术构建Web应用,很好地分离出表示层和业务数据层[1]。Struts框架具有组件构件化、重用性高等优点,它简化了基于MVC的Web应用程序开发。然而,仅仅...

    Struts上传,已经处理好乱码问题

    Struts上传,已经处理好乱码问题Struts上传,已经处理好乱码问题

    struts2 拦截器写法

    Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.

    Struts2VulsTools-Struts2系列漏洞检查工具

    优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建目录,防止文件因为目录不存在,导致上传失败。 2018-08-24: 增加S2-057 Struts 2.3 to 2.3.34,...

    struts之中文乱码问题

    struts的中文乱码问题。。我想这对大多数朋友会有用的

    struts2框架源码分析及问题汇总

    struts详细的源码分析,运行过程,想深入学习struts的小伙伴可以参看

Global site tag (gtag.js) - Google Analytics