当前页面: 开发资料首页 → 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
没有页面跳转了,所以停在那不动了