站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题求帮解决struts的问题

求帮解决struts的问题

摘要: 求帮解决struts的问题


异常信息如下 请高手指点
HTTP Status 500 -

--------------------------------------------------------------------------------

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 /
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:845)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:778)
org.apache.jsp.form.MyJsp1_jsp._jspService(org.apache.jsp.form.MyJsp1_jsp:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

javax.servlet.jsp.JspException: Cannot retrieve mapping for action /
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:810)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
org.apache.jsp.form.MyJsp1_jsp._jspx_meth_html_form_0(org.apache.jsp.form.MyJsp1_jsp:168)
org.apache.jsp.form.MyJsp1_jsp._jspx_meth_html_html_0(org.apache.jsp.form.MyJsp1_jsp:127)
org.apache.jsp.form.MyJsp1_jsp._jspService(org.apache.jsp.form.MyJsp1_jsp:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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.4 logs.

//***************************************************************************************
config.xml

<?xml version="1.0" encoding="UTF-8"?>
struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">



<form-beans >
<form-bean name="myForm" type="com.yourcompany.struts.form.MyForm" />

</form-beans>









attribute="myForm"
input="/form/my.jsp"
name="myForm"
path="/my"
scope="request"
type="com.yourcompany.struts.action.MyAction" />






//***************************************************************************************

JSP页面

<head>
JSP for MyForm form
</head>
<body>

name :

pwd :



</body>





java代码怎么写的?
成功执行后页面跳转到哪?
配置文件的Action中没有配置forward属性


代码 就是一个登陆界面如果用户名密码都是ABC 就跳转到JSP1 反而就跳转JSP2
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
MyForm myForm = (MyForm) form;
if(myForm.getName().equals("ABC") && myForm.getPwd().equals("ABC"))
{
return mapping.findForward("1");// TODO Auto-generated method stub
}
else
{
return mapping.findForward("2");
}

}


web.xml呢?


在这呢
<?xml version="1.0" encoding="UTF-8"?>


action
org.apache.struts.action.ActionServlet

config
/WEB-INF/struts-config.xml


debug
3


detail
3

0


action
*.do






Action的forward为什么要定义成global呢
定义在对应的Action中不好吗?还有哪有forward名用数字来定义的,编码规范就一点都不注意吗?
好好的改一下再测试一下吧
错误的意思应该就是在跳转时找不到相应的forward


没有异常了 跳到.do文件就不动了没找到JSP文件


每次提交页面都到
http://localhost:8000/WebRoot/my.do;jsessionid=FB9E2E98E169309B2F9384C3557A8E8C
就不动了


设个断点,调试一下
有没有进Action


没有页面跳转了,所以停在那不动了


↑返回目录
前一篇: 新手问题JAVA连接mysql串怎么写
后一篇: 成功启动TOMCAT了,怎么在internet上访问?