2012-03-21 13 views
4

で「java.lang.NullPointerException:モジュール 'null」が見つかりません。localhost 8080(Apache Tomcat 6.0.16 Server)でStruts 1.3ログインアプリケーションを無効にしています。次のエラーが発生しています。例外 - Java-Struts 1.3

HTTPステータス500 -


タイプ例外この要求を満たすのを防止レポート

メッセージ

説明サーバ内部エラーが発生しました()。

例外

org.apache.jasper.JasperExceptionが:例外がラインで13

10: </head> 
11: <body> 
12: 
13:  <html:form action="/Login.do"> 
14:   Username : <html:text name="LoginForm" property="userName"/><br/> 
15:   Password : <html:password name="LoginForm" property="password"/><br/> 
16:   <html:submit value="Login"/> 

スタックトレース処理JSPページ/Login.jspを発生しました:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

根本原因

java.lang.NullPointerException: Module 'null' not found. 
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755) 
    org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735) 
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818) 
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488) 
    org.apache.jsp.Login_jsp._jspx_meth_html_005fform_005f0(Login_jsp.java:105) 
    org.apache.jsp.Login_jsp._jspService(Login_jsp.java:78) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

note根本原因の完全なスタックトレースは、Apache Tomcat/6.0.16のログで使用できます。


のApache Tomcat/6.0.16

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 Form</title> 
</head> 

<body> 
    <html:form action="/Login"> 
     Username : <html:text name="LoginForm" property="userName"/><br> 
     Password : <html:password name="LoginForm" property="password"/><br> 
     <html:submit value="Login"/> 
    </html:form> 
</body> 
</html> 

ストラット-config.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
<struts-config> 
    <!-- ========== Form Bean Definitions ================================== --> 
    <form-beans> 
     <form-bean name="loginForm" type="org.suraj.form.LoginForm"/> 
    </form-beans> 
    <!-- ========== Action Mapping Definitions ============================= --> 
    <action-mappings> 
      <action name="loginForm" path="/Login" type="org.suraj.action.LoginAction" scope="request" input="/Login.jsp" validate="true"> 
       <forward name="failure" path="/Failure.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>Login</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>2</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> 

LoginForm.java

package org.suraj.form; 

import org.apache.struts.action.ActionForm; 

public class LoginForm extends ActionForm { 


    private static final long serialVersionUID = 1029546343415365160L; 
    private String userName; 
    private String password; 

    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; 
    } 


} 

LoginAction.java

package org.suraj.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 org.suraj.form.LoginForm; 

public class LoginAction extends Action{ 

    private static final long serialVersionUID = -8847579600418060362L; 

    private final static String SUCCESS = "success"; 

    private final static String FAILURE = "failure"; 

    public ActionForward execute(ActionMapping mapping, ActionForm form, 
      HttpServletRequest request, HttpServletResponse response) 
    throws Exception { 

     LoginForm loginForm = (LoginForm) form; 

     if (loginForm.getUserName().equals(loginForm.getPassword())) { 

      return mapping.findForward(SUCCESS); 

     } else { 

      return mapping.findForward(FAILURE); 

     } 
    } 
} 

答えて

5

これは複数の理由であってもよいです。これは、インターネット上の問題やsystemconfigが原因の可能性があり、リンクからhere

エキス、

This error occurs when you try to display a JSP before the Struts ActionServlet has been initialized and is active. The causes for this error are usually either:

  • You failed to specify 2 for the Struts ActionServlet in your web.xml file or
  • You did specify the above, but the Struts ActionServlet didn't initialize properly because of an error. Check the log file entries
    for the time period when the Server first starts up to see if it
    initialized properly or
  • You accessed a JSP page directly without going through an action
+0

SEVERE:予期しない例外またはエラーがスローされたためにStruts ActionServletを初期化できません。そのため、サーブレットを使用不可としてマークします。これは、ライブラリの依存関係が正しくないか不足している可能性があります。 org/apache/commons/chain/config/ConfigParser – SRJ

+0

あなたはjar commons-chain-1.1.jarが見つからないようです... libにこのjarファイルを追加してください –

+0

Thnaks ...その理由で混在していますjarファイル。 – SRJ

0

を確認してください。問題

ソリューション:

1)http://struts.apache.org/dtds/struts-config_1_3.dtd DTDファイルをダウンロードし、web-infフォルダにコピーします。

2)は、TomcatサーバはJDK 1.7の下で実行されなければならないかどうかを確認し!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration1.3//EN" "**struts-config_1_3.dtd**">

1

struts-configファイルDoctypeタグを変更します。変更後にサーバーを再起動するのを忘れないでください。

0

私は同じ問題がありましたが、私が見つけた解決策は異なりました。 catalina.outファイルをチェックした後、私はValidatorFormから拡張されたクラスのバージョンに問題があることに気付きました。最後に、jdkのバージョンを更新して解決しました。それは、私が開発したバージョンとTomcatのインストールバージョンとで異なるバージョンを使用していたために起こりました。

2

ソース/ターゲットを1.7に設定したpom.xmlのmaven-compiler-pluginにあるstrutsアプリケーションに問題が発生しました。これを1.5/1.6にリセットして問題を修正しました(ビルドはJava 7で行いました)。このアプリケーションはTomcat 7にデプロイされていましたが、Java 6を使用していました。

1

web.xmlのActionServletに1を与えて起動します。 このmytの問題が解決しました。