明明配置了,却出现 does not start with a "/" character,见鬼了,在线等

applebomb 2006-10-26 09:33:49
java.lang.IllegalArgumentException: Path success does not start with a "/" character
at org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:378)
at org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:194)
at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:93)
at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:82)
at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

我的struts配置:
<form-beans>
<form-bean name="loginForm"
type="com.aherp.voice.app.forms.LoginForm" />
</form-beans>

<global-forwards></global-forwards>

<action-mappings>
<action path="/common/login"
type="com.aherp.voice.app.action.LoginAction" name="loginForm"
scope="request" input="/pages/login.jsp">
<forward name="success" path="/pages/bean-write.jsp" />
</action>

</action-mappings>
...全文
982 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
applebomb 2006-10-26
  • 打赏
  • 举报
回复
晕,原来因为是自己new的一个Action.吐血了
twenty_three 2006-10-26
  • 打赏
  • 举报
回复
return new ActionForward("success");
改成
return mapping.findForward("success");
试一下
applebomb 2006-10-26
  • 打赏
  • 举报
回复
访问页
http://localhost:8080/voice/pages/login.jsp
http://localhost:8080/voice/pages/bean-write.jsp
可以访问
applebomb 2006-10-26
  • 打赏
  • 举报
回复
java:
------------------------

package com.aherp.voice.app.action;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.aherp.voice.app.forms.LoginForm;

public class LoginAction extends Action {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("....i'm running.");
return new ActionForward("success");
}
}

jsp:
---------------------
<%@ include file="/pages/common/taglibs.jsp" %><head>
<html:html>
<html:base/>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<html:form action="/common/login" method="post">
<table width="427" height="174" border="0" cellspacing="0">
<tr>
<td width="62"> </td>
<td width="95"> </td>
<td width="154"> </td>
<td width="177"> </td>
</tr>
<tr>
<td height="41"> </td>
<td>用户</td>
<td><html:text property="userNm"/></td>
<td> </td>
</tr>
<tr>
<td height="31"> </td>
<td>密码</td>
<td><html:text property="userPsw"/></td>
<td> </td>
</tr>
<html:errors header="<tr><td><ul>" suffix="</ul></td></tr>"/>
<tr>
<td> </td>
<td colspan="2"><html-el:submit property="loginButton" styleClass="button">确定</html-el:submit></td>
<td> </td>
</tr>
</table>
</html:form>
</html:html>
lyfxzzb 2006-10-26
  • 打赏
  • 举报
回复
应该和你的配置文件有关,确认是否配全了你的action元素和是否能url直接访问
/pages/login.jsp
/pages/bean-write.jsp
applebomb 2006-10-26
  • 打赏
  • 举报
回复
没有设置全局forward,我修改成success111也不行,同样的错误

COPY struts app 的来修改,一样报错,快疯了
twenty_three 2006-10-26
  • 打赏
  • 举报
回复
请问你确定只有一个forward的name是success么?
applebomb 2006-10-26
  • 打赏
  • 举报
回复
还是不对
lbx19822004 2006-10-26
  • 打赏
  • 举报
回复
检查你的目录结构和名字的大小写
lbx19822004 2006-10-26
  • 打赏
  • 举报
回复
把<action path="/common/login"
改成<action path="common/login"

applebomb 2006-10-26
  • 打赏
  • 举报
回复
还有我的struts是struts 1.3.5

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧