这个问题我也想知道,关注
ding................

解决方案 »

  1.   

    把j2ee.jar,struts.jar这两个包放在当前目录下
    或者把这两个包的路径加到classpath中
    比如:设置 classpath=.;c:\j2sdk1.4.1\lib\dt.jar;c:\j2sdk1.4.1\lib\tools.jar;C:\j2sdkee1.3.1\lib\j2ee.;C:\jakarta-struts-1.0.2\lib
    jar\struts.jar;
      

  2.   

    现在可以编译了
    不过在打开网页后出现这个错误(我是初学者,用的是网上的例子),不知那里错误
    Apache Tomcat/4.0.4 - HTTP Status 500 - Internal Server Error--------------------------------------------------------------------------------type Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot retrieve mapping for action /regUserAction
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
    at org.apache.jsp.reguser$jsp._jspService(reguser$jsp.java:356)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
    at java.lang.Thread.run(Thread.java:534)
    root cause javax.servlet.jsp.JspException: Cannot retrieve mapping for action /regUserAction
    at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:810)
    at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
    at org.apache.jsp.reguser$jsp._jspService(reguser$jsp.java:140)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
    at java.lang.Thread.run(Thread.java:534)--------------------------------------------------------------------------------
      

  3.   

    应该是/regUserAction这个action,在配置文件(.xml)中的配置格式不正确,建议认真核对一下!
      

  4.   

    在xml的配置文件里找到你的 /regUserAction 对应的类,看看是不是正确,类名要正确,注意大小写和路径。
    另外,如果是用的.class文件,要放在WEB-INF/classes/。。目录下,如果是jar包,放在WEB-INF/lib下
      

  5.   

    你要把struts的jar和j2ee的jar放在classpath中设置,再不行就拷到tomcat的share\lib\目录中
      

  6.   

    你到ftp://202.38.86.188/incoming/下载JSPStudio来试试,JSPStudio也用tomcat,即使你不用JSPStudio,你分析一个里边的配置也是有好处的。
    下面是用SPStudio编写Hello程序的学习资料,对你学习Struts有点帮助:
    对于学习程序设计,我们已习惯于从Hello程序开始,实践证明,这是一个最有效的入门方法。下面就着手设计我们的第一个Struts程序----Hello程序。
    Hello程序的目标是实现从一个输入JSP页面中的输入框输入一个“Hello”单词,在另一个输出JSP页面中显示“Hello”一词。根据Struts框架的要求,这个Hello程序将包含输入JSP文件、输出JSP文件、Action文件、FormAction文件及配置文件。也就是说,这个Hello程序是一个完整的Struts程序,它可直接在Tomact、Resin等服务器上运行。
    在JSPStudio平台上开发一个Struts的Hello程序非常简单,一分钟不到即可完成,设计步骤如下:
    (1) 启动JSPStudio
    有关JSPStudio的安装和配置请看后面将另行介绍。
    (2) 建立新的Struts项目
    选择菜单“文件”—“新建”—“新建项目”,弹出新建项目对话框,如图3-1所示:
      
    在对话框中选择“空的Struts数据库应用模板”,在项目名称中输入“hello”,package (包名)和位置(项目的路径)采用默认的值就行,当然也可以根据需要改变。最后点击“确定”按钮完成新项目的建立。
    从,JSPStudio文件管理器中可以看出新项目的目录结构,如图3-2所示:
     hello
       +------config
       +------lib
       +------src
       +------web
        -------build.xml
        -------hello.prj
    在hello项目根目录下包含四个子目录和两个文件,这是JSPStudio项目的标准结构,最好不要改变它们默认的名称,否则会出现问题。
    config目录下包含了所有的配置文件和Struts标签的描述文件,例如web.xml、struts-config.xml、struts-bean.tld、struts-html.tld、struts-logic.tld和struts-template.tld等文件。
    lib包含了Struts库文件和带用其它库文件,例如struts.jar、struts-legacy.jar、commons-lang.jar和xerces.jar等文件。
    src目录下包含了java原文件和资源文件,例如ApplicationResources.properties和ApplicationResources_ch.properties资源文件,前者是英语资源文件,后者是中文资源文件。新建时这个目录里还有一个子目录“emptyprj”,这个名称与建立项目时输入的package名称是一至的。Emptyprj目录下有“filters”、“jdbc”两个子目录,前者是过滤器目录,是中文解决方案,详细分析请看后面的有关滤器程序设计、中文解决方案章节,后者是数据库连接池文件,详细分析请看后面的Struts数据库应用程序设计章节。
    web目录下包含了JSP、Html等web文件和Web文件用到的图片文件。新建时这个目录是空的。
    build.xml文件是编译是所需的配置文件,由于JSPStudio采用的是ANT编译器,所以这个文件是JSPStudio项目中必不可少的,它是ANT标准的配置文件,所有的项目目录结构也符合ANT编译器的要求,可见JSPStudio项目与ANT具有非常好的兼容性,这也是JSPStudio的优点之一。
    hello.prj文件是项目文件,XML结构,内容如下:
    <projectname>hello</projectname>
    <projecttype>struts</projecttype>
    <title>这是一个建立空的Struts数据库应用模板</title>
    <package>emptyprj</package>
    <typepath>\空的Struts数据库应用模板</typepath>
    <projectpath>F:\JStudio\JSPStionWorkDir\hello</projectpath>
    <projectname>标签内是项目名称;<projecttype>标签内是项目的类型,这个标签的内容最好不要改变;<title>标签内是项目的简单说明,可根据需要填写;<package>标签内是默认的package名称;<typepath>标签内是项目模板的相对路径;<projectpath>标签内是项目保存的绝对路径。 (3)利用Struts文件向导生成所需的Struts文件
    在JSPStudio文件管理器内点击鼠标右键,在弹出的菜单中选择“Struts文件向导”进入Struts文件向导对话框,也可以选择菜单“文件”—“新建”—“ Struts文件向导”进入Struts文件向导对话框。如图3-3所示:
     在Struts文件向导对话框JSP文件标签下的文件名输入栏中输入“hello”文件名,其它文件采用默认的设置,点击“确定”按钮完成在Struts文件向导。
    刷新JSPStudio文件管理器,这时发现web目录下自动生成了两个文件,分别是hello.jsp和helloOut.jsp,前者是输入JSP文件,后者是输出JSP文件;src\emptyprj目录下自动生成了两个文件,分别是helloAction.java和helloForm.java,前者是Action文件,后者FormAction文件。
    (4)Hello项目编译
     点击工具条上的编译按钮或选择菜单“生成”—“编译”开始项目的编译。编译过程和结果在JSPStudio输出栏中显示出来,内容如下:
    F:\JStudio\JSPStionWorkDir\hello>cd F:\JStudio\JSPStionWorkDir\hello 
    F:\JStudio\JSPStionWorkDir\hello>ant -buildfile build.xml 
    Buildfile: build.xml
    prepare:
    compile:
    dist:
          [jar] Building jar: F:\JStudio\JSPStionWorkDir\wars\hello.war
    BUILD SUCCESSFUL
    Total time: 1 second(5) 运行
    点击工具条上的启动服务器按钮或选择菜单“运行”—“ 启动服务器”启动服务器jakarta-tomcat服务器。双击JSPStudio文件管理器web目录下的hello.jsp文件,打开hello.jsp。点击工具条上的运行按钮或选择菜单“运行”—“ 运行(web浏览)”这时打开显示出hello.jsp的运行结果。在运行结果页面中的输入框中输入“hello”,点击“提交”按钮,这时转发到helloOut.jsp文件,helloOut.jsp页面中输出“hello”一词。