这个问题我也想知道,关注
ding................
ding................
解决方案 »
- 高分求解
- WindowClosing事件的触发
- 关于struts2和jsp的问题
- 集合类自动排序
- jsf中的selectOneListbox
- 急切想知道的问题?
- 数据库联接问题,请高手帮忙看看.刚学,
- 我装了tomcat4.0.6 环境变量也设置了,但当我运行bin目录下面的startup.bak文件的时候却提示错误,高手门帮帮忙啊?
- 如何将Tomcat5.0连接池中所获得的Connection,Statement,ResultSet对象转换为Oracle数据库的对象??
- 有用webstart做过项目的吗?进来推荐俺几本书,或者说说你们的想法吧,谢谢了
- 使用weblogic6,7,左桢都显示不了?
- 新手问题(SessionBean)
或者把这两个包的路径加到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;
不过在打开网页后出现这个错误(我是初学者,用的是网上的例子),不知那里错误
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)--------------------------------------------------------------------------------
另外,如果是用的.class文件,要放在WEB-INF/classes/。。目录下,如果是jar包,放在WEB-INF/lib下
下面是用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”一词。