错误:No action instance for path /login could be created

错误:No action instance for path /login could be created

问题:

这样的错误我搜了好多的帖子 一般都是路径与名字不匹配引起的,但是这个工程以前被Myeclipse运行的时候,没出错,今天就出错了 我怀疑是不是IDE不稳定引起的
望大家帮我解释

以下是我的login.jsp
<html:form action="/login" method="post">
name : <html:text property="name"/> <html:errors property="name"/> <br/>
password : <html:password property="password"/> <html:errors property="password"/> <br/>
<html:submit/> <html:reset/>
</html:form>


以下是我的struts-config


<action-mappings >
    <action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.lsf.struts.action.LoginAction" />
    <action
      attribute="registerForm"
      input="/register.jsp"
      name="registerForm"
      path="/register"
      scope="request"
      type="com.lsf.struts.action.RegisterAction" />
  </action-mappings>


以下是我的LoginAction.java


public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws SQLException {
User luser = new User();
DynaActionForm loginForm = (DynaActionForm) form;
// String name=loginForm.get("name");
// String password=loginForm.get("password");
luser.setUserName((String) loginForm.get("name"));
luser.setPassword((String) loginForm.get("password"));
User user = new User();
user = FindUser.findUserByName(luser.getUserName());

if (luser.getUserName().equals(user.getUserName())
&& luser.getPassword().equals(user.getPassword())) {
return mapping.findForward("loginsuccess");
} else {
return mapping.findForward("loginfail");
}

以下是我的错误信息
2009-8-23 10:38:29 org.apache.struts.action.RequestProcessor processActionCreate
严重: No action instance for path /login could be created
java.lang.ClassNotFoundException: com.lsf.struts.action.LoginAction
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:292)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:230)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:566)

 

 

解决途径: 从网上直接搜了No action instance for path /login could be created找到一些解决办法 例如  路径与文件名、类名不同(大小写,缺失字母)

           数据连接池错误

           Struts-config.Xml文件里面配置时候“”内有空格。

但是检查之后没任何错误:

csdn中发帖,老紫竹提示 classes里面没有相应的类,或者是server.xml文件里面配置有错误(很少见),我检查了布置在tomcat里面的工程,里面却是没有包和class文件,说明编译失败:

从网上搜一些资料之后了解 Eclipse无法编译的解决途径有以下几种

1.确保project->build automatically    已经被选上.

2.
如果选上了,也不好使, 使用这一招: project->clean..->选第2clean select project, 勾上start build immediatelly

3.
删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了

4.
如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果.


5.
想删掉某个class文件重新生成,删除class文件后,但classes目录下的文件夹被其它程序打开,比如Total Commander。此时编译也不会通过,在problems下可能会提示“con''t delete classes ……”。关掉其它程序重新编译即可。

6.
还有种情况是remove JRE System Library,重新导入即可编译。但是什么原因导致的还不清楚。

7.
build path中所有包都remove掉。然后又add jars,add libraries把需要的加进去,居然又开始编译了。。。

8.project->properties->java build path->source->.../WEB-INF/src
output folder不要默认,编辑让它指向../WEB-INF/classes
然后重新点击build工程即可自动编译。

9.
再就是最重要的要看工程下面是否缺少了work目录,由于CVS控制时不把work加如版本,所以checkout后没有这个目录,要手工加上有的工程就能自动编译了

 

在进行简单的测试后 仍然没有解决问题

  老紫竹javaI  bryant(358415***)提醒 

在加入jdbc驱动后  问题解决

备注:看来一切问题都是纸老虎,很简单了问题 往往会花费很多时间来解决。但是在解决的过程中学到的东西才扎实。以后遇见问题我不能在想着 先把自己的知识扩充后 再来解决问题,而应该迎难而上,有很多人在帮你,有百度和Google在帮自己,只要自己的水平没有达到顶级,就有办法请教,就有办法解决。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值