2016-10-26 11 views
0

こんにちは私は単純なフォーム検証を作成しようとしていますが、mavenのstruts 1.3の依存関係を使用していますが、 WebページHTTPステータス500 - javax.servlet.ServletException:javax.servlet.jsp.JspException:クラスのbeanを作成する例外

HTTPステータス500 - javax.servlet.ServletException:javax.servlet.jsp.JspException:ここ

type Exception report 

message javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class amit.form.LoginForm under form name loginForm 

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

exception 
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class amit.form.LoginForm under form name loginForm 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:461) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

root cause 

javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class amit.form.LoginForm under form name loginForm 
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909) 
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838) 
    org.apache.jsp.login_jsp._jspService(login_jsp.java:154) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

root cause 

javax.servlet.jsp.JspException: Exception creating bean of class amit.form.LoginForm under form name loginForm 
    org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:536) 
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:503) 
    org.apache.jsp.login_jsp._jspx_meth_html_005fform_005f0(login_jsp.java:174) 
    org.apache.jsp.login_jsp._jspService(login_jsp.java:138) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

フォーム名loginForm下のクラスamit.form.LoginFormのBeanを作成する例外はすべて私のコードです

pom.xml

本の
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.maven</groupId> 
<artifactId>StrutsWebApp</artifactId> 
<packaging>war</packaging> 
<version>0.0.1-SNAPSHOT</version> 
<name>StrutsWebApp Maven Webapp</name> 
<url>http://maven.apache.org</url> 
<dependencies> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.struts</groupId> 
     <artifactId>struts-core</artifactId> 
     <version>1.3.10</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.struts</groupId> 
     <artifactId>struts-taglib</artifactId> 
     <version>1.3.10</version> 
    </dependency> 
</dependencies> 
<build> 
<finalName>StrutsWebApp</finalName> 
</build> 
</project> 

支柱-config.xmlの

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

<struts-config> 
<form-beans> 
    <form-bean name="loginForm" type="amit.form.LoginForm" /> 
</form-beans> 
<action-mappings> 
    <action name="loginForm" path="/login" 
     type="amit.action.LoginAction" scope="request" 
     input="/login.jsp"> 
     <forward name="failure" path="/login.jsp" redirect="true" /> 
     <forward name="success" path="/success.jsp" redirect="true" /> 
    </action> 
</action-mappings> 
</struts-config> 

のweb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
id="WebApp_ID" version="2.5"> 
<display-name>LoginFormStruts</display-name> 

<servlet> 
    <servlet-name>action</servlet-name> 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
    <init-param> 
     <param-name>config</param-name> 
     <param-value> 
     /WEB-INF/struts-config.xml 
    </param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>login.jsp</welcome-file> 
</welcome-file-list> 

</web-app> 

login.jspを

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" 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=ISO-8859-1"> 
<title>Login Example</title> 
</head> 
<body> 
<html:form action="/login" focus="userName"> 
Username : <html:text property="userName" /> 
    <br> 
Password : <html:password property="password" /> 
    <br> 
    <html:submit value="login" /> 
</html:form> 
</body> 
</html> 

success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!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=ISO-8859-1"> 
<title>Welcome Page</title> 
</head> 
<body> 
<h1>Hello JavaWebTutor</h1> 
</body> 
</html> 

LoginAction.java

package amit.action; 

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 amit.forms.LoginForm; 

public class LoginAction extends Action { 
@Override 
public ActionForward execute(ActionMapping mapping, ActionForm form, 
     HttpServletRequest request, HttpServletResponse response) 
     throws Exception { 
    System.out.println("hello"); 
    LoginForm loginForm = (LoginForm) form; 

    if (loginForm.getUserName() == null || loginForm.getPassword() == null 
      || !loginForm.getUserName().equalsIgnoreCase("Mukesh") 
      || !loginForm.getPassword().equals("kumar")) { 
     return mapping.findForward("failure"); 
    } else 
     return mapping.findForward("success"); 
} 

} 

LoginForm.java

package amit.forms; 
import javax.servlet.http.HttpServletRequest; 

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

public class LoginForm extends ActionForm { 

private static final long serialVersionUID = 1L; 
private String userName = null; 
private String password = null; 

public String getUserName() { 
    return userName; 
} 

public void setUserName(String userName) { 
    this.userName = userName; 
} 

public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

@Override 
public void reset(ActionMapping mapping, HttpServletRequest request) { 
    this.password = null; 
} 

} 

答えて

1
You have mentioned wrong package name in type attribute of form-bean tag. It should be amit.forms.LoginForm 

<form-beans> 
    <form-bean name="loginForm" type="amit.forms.LoginForm" /> 
</form-beans> 
+1

私はその愚かな過ちをあなたの助けに感謝をどうやったのか知らない@WZee –

関連する問題