java - 异常创建类的bean

标签 java jsp javabeans struts1

我是 struts 的新手,为了工作必须学习它们,我正在使用 struts 1.3,我正在尝试制作一个简单的年龄检查应用程序,它目前还没有任何业务逻辑,我只是​​想转发它到正确的页面我稍后会弄清楚其余部分,但我收到以下异常:

type Exception report

message An exception occurred processing JSP page /welcome.jsp at line 15

description The server encountered an internal error that prevented it from fulfilling this request.

exception 
org.apache.jasper.JasperException: An exception occurred processing JSP page /welcome.jsp at line 15

12:         <div style="color:red">
13:             <html:errors />
14:         </div>
15:         <html:form action="/CheckAge.do"  >
16:             User Name : <html:text name="CheckAgeAppForm" property="name" /> <br>
17:             Password  : <html:text name="CheckAgeAppForm" property="age" /> <br>
18:             <html:submit value="Check Age" />


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:462)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)



root cause 
javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class coreservlets.CheckAgeAppForm: {1}
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
    org.apache.jsp.welcome_jsp._jspService(welcome_jsp.java:134)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)



root cause 
javax.servlet.jsp.JspException: Exception creating bean of class coreservlets.CheckAgeAppForm: {1}
    org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:463)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:433)
    org.apache.jsp.welcome_jsp._jspx_meth_html_005fform_005f0(welcome_jsp.java:169)
    org.apache.jsp.welcome_jsp._jspService(welcome_jsp.java:118)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

struts-config的 Action 映射:

<action-mappings>


<action
    path="/CheckAge"
    type="coreservlets.CheckAgeAppAction"
    name="CheckAgeAppForm"
    scope="session"
    validate="false"
    input="/welcome.jsp">
<forward name="UnderAge" path="/UnderAge.jsp" />
</action>
    <action path="/welcome" forward="/welcome.jsp"/>
</action-mappings>

struts-config 的表单 bean:

<form-bean
            name="CheckAgeAppForm"
            type="coreservlets.CheckAgeAppForm"/>
    </form-beans>

welcome.jsp 文件内容:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <div style="color:red">
            <html:errors />
        </div>
        <html:form action="/CheckAge.do"  >
            User Name : <html:text name="CheckAgeAppForm" property="name" /> <br>
            Password  : <html:text name="CheckAgeAppForm" property="age" /> <br>
            <html:submit value="Check Age" />
        </html:form>
    </body>
</html>

web.xml 部分:

<!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

Action 表单 CheckAgeAppForm:

package coreservlets;

import org.apache.struts.action.*;

public class CheckAgeAppForm extends ActionForm {

    private String name;
    private String age;

    public String getName(){
        return (name);
    }
    public String getAge(){
        return (age);
    }
    public void setName(String name){
        this.name= name;
    }
    public void setAge(String age){
        this.age = age;

    }



}

CheckAgeAppAction:

package coreservlets;

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

import org.apache.struts.action.*;

public class CheckAgeAppAction extends Action
{
            public ActionForward execute(
                      ActionMapping mapping,
                      ActionForm form,
                      HttpServletRequest request,
                      HttpServletResponse response) throws Exception{
                      return mapping.findForward("UnderAge");
                      }
}

我将不胜感激任何对此的帮助,这让我很烦,在此先感谢

更新:包含了 Action , Action 映射也更新了

最佳答案

如果您发布的 Struts 配置在您的应用程序中,我看到一个错误,您没有在操作映射中包含前向标记,您在前向标记之前关闭了您的操作:

<action
        path="/CheckAge"
        type="coreservlets.CheckAgeAppAction"
        name="CheckAgeAppForm"
        scope="session"
        validate="false"
        input="/welcome.jsp">
    <forward name="UnderAge" path="/UnderAge.jsp" />
</action>

关于java - 异常创建类的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36768421/

相关文章:

java - Java中用二进制数据手动构造SQL

java - Akka http 使用 java - 从 RequestEntity 获取字符串

java - 如何让 jersey 和 @webservlet 一起工作

java.lang.ClassCastException问题

java - 存储库中缺少 bean

java - 我可以使用什么工具向 EJB 2.1 代码生成多个线程来模拟连接池负载?

java - 通过 Jacob 在 Java 应用程序和 Microsoft 应用程序之间进行同步

javascript - 如何使用从txt文件生成的jquery从下拉列表中选择一个值

java - Spring的Singleton作用域bean在Web应用程序中的表现如何?

java - JavaFX 尝试创建新对话框并将其中的进度条绑定(bind)到工作线程时出现错误