HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /createuser.jsp(12,0) Attribute name invalid for tag form according to TLD org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:238) org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:975) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:696) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:716) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) org.apache.jasper.compiler.Node$Root.accept(Node.java:456) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Validator.validate(Validator.java:1475) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214) org.apache.jasper.compiler.Compiler.compile(Compiler.java:470) org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs. --------------------------------------------------------------------------------Apache Tomcat/5.0.28
去掉 name="form1"后出现如下错误,是不是html:form action="UserAction.do"不对啊 HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot retrieve mapping for action /UserAction org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758) org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:92) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause javax.servlet.jsp.JspException: Cannot retrieve mapping for action /UserAction org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:721) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:417) org.apache.jsp.createuser_jsp._jspx_meth_html_form_0(createuser_jsp.java:178) org.apache.jsp.createuser_jsp._jspx_meth_html_html_0(createuser_jsp.java:123) org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:83) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs. --------------------------------------------------------------------------------Apache Tomcat/5.0.28
<forward name="userCreated" path="/viewuser.jsp"/> 是这句的问题吗,我觉得应该是/viewuser.jsp吧,那正确的路径应该是什么呢
type="com.cstmail.login.UserAction"
name="userForm"
scope="request"
validate="true"
input="/createuser.jsp">
</action>
您要查看的网页可能已被删除、名称已被更改,或者暂时不可用。 --------------------------------------------------------------------------------请尝试以下操作:如果您已经在地址栏中输入该网页的地址,请确认其拼写正确。打开 localhost 主页,然后查找指向您感兴趣信息的链接。
单击后退按钮,尝试其他链接。
单击搜索,寻找 Internet 上的信息。 HTTP 404 - 未找到文件
Internet Explorer
import javax.servlet.http.*;
import org.apache.struts.action.*;
public class UserAction extends Action
{ public ActionForward perform(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
{
UserForm f=(UserForm)form;
try
{
UserBean bean=new UserBean();
bean.addUser(f.getUser());
}
catch(Exception e)
{
e.printStackTrace();
}
request.setAttribute("User",f.getUser());
return(mapping.findForward("userCreated"));
}
}
其中struts-config.xml如下:
<struts-config>
<form-beans>
<form-bean name="userForm" type="com.cstmail.login.UserForm"/>
</form-beans> <action-mappings>
<action path="/createuser" type="com.cstmail.login.UserAction"
name="userForm" scope="request"
validate="true" input="/createuser.jsp">
<forward name="userCreated" path="/viewuser.jsp"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
</struts-config>
其中createuser.jsp如下:
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ taglib uri="/struts-bean" prefix="bean"%>
<%@ taglib uri="/struts-html" prefix="html"%><html:html locale="true">
<head>
<title>RegUser</title>
<html:base/>
</head>
<body bgcolor="white">
<html:errors/>
<html:form action="UserAction.do" method="GET" name="form1">
<table border="0" width="100%">
<tr>
<th align="right">
UID:
</th>
<td align="left">
<html:text property="user.uid" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
Password:
</th>
<td align="left">
<html:password property="user.password" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
age:
</th>
<td align="left">
<html:text property="user.age" size="30" maxlength="50"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit" value="Submit"/>
</td>
<td align="left">
<html:reset/>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:238)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:975)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:696)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:716)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Validator.validate(Validator.java:1475)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot retrieve mapping for action /UserAction
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Cannot retrieve mapping for action /UserAction
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:721)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:417)
org.apache.jsp.createuser_jsp._jspx_meth_html_form_0(createuser_jsp.java:178)
org.apache.jsp.createuser_jsp._jspx_meth_html_html_0(createuser_jsp.java:123)
org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ taglib uri="/struts-bean" prefix="bean"%>
<%@ taglib uri="/struts-html" prefix="html"%><html:html locale="true">
<head>
<title>RegUser</title>
<html:base/>
</head>
<body bgcolor="white">
<html:errors/>
<html:form action="createuser.do" method="GET" >
<table border="0" width="100%">
<tr>
<th align="right">
UID:
</th>
<td align="left">
<html:text property="user.uid" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
Password:
</th>
<td align="left">
<html:password property="user.password" size="20" maxlength="20"/>
</td>
</tr>
<tr>
<th align="right">
age:
</th>
<td align="left">
<html:text property="user.age" size="30" maxlength="50"/>
</td>
</tr>
<tr>
<td align="right">
<html:submit property="submit" value="Submit"/>
</td>
<td align="left">
<html:reset/>
</td>
</tr>
</table>
</html:form>
</body>
</html:html>
<action path="/createuser"
type="com.cstmail.login.UserAction"
name="userForm" scope="request"
validate="true" input="/createuser.jsp">
不好意思,<html:form action="createuser.do" method="GET" >,这个地方的确是action="createuser.do"
建议你做一下测试,看看问题出在哪:
将 congig中的<forward name="userCreated" path="/viewuser.jsp"/> 改为
<forward name="userCreated" path="/createuser.jsp"/> ,运行,如果还是报错,说明action有问题,如果正常,说明viewuser.jsp有问题
<forward name="userCreated" path="/viewuser.jsp"/>
</global-forwards>中的<forward name="userCreated" path="/viewuser.jsp"/> 去掉
在保证你的jsp在你的web的context path 中