Hello everybody,
I am new to
struts & working on login application where keep on getting following exception :
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Module 'null' not found.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
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:127)
org.apache.jsp.login_jsp._jspService(login_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
please have a look at my files :
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>FreshStruts1</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>
------------------------------------------------------------------------------------------------------------------------------------------
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="LoginForm" type="freshstrutsform.LoginForm"/>
</form-beans>
<global-forwards>
<forward name="login" path="/login.do"/>
</global-forwards>
<action-mappings>
<action path="/login"
type="freshstrutsaction.LoginAction"
name="LoginForm"
scope="session">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
</action-mappings>
</struts-config>
------------------------------------------------------------------------------------------------------------------------------------------
LoginForm.java
package freshstrutsform;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
public class LoginForm extends ActionForm
{
private
String userName="";
private String password="";
public LoginForm()
{
super();
}
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
{
ActionErrors errors = new ActionErrors();
if(userName == null || userName.length() < 1)
{
errors.add("userName",new ActionMessage("error.userName.required"));
}
else if(password == null || password.length() < 1)
{
errors.add("password",new ActionMessage("error.password.required"));
}
return errors;
}
public String getUserName()
{
return userName;
}
public void setUserName(String usr)
{
this.userName = usr;
}
public String getPassword()
{
return password;
}
public void setPassword(String psswd)
{
this.password = psswd;
}
}
------------------------------------------------------------------------------------------------------------------------------------------
LoginAction.java
package freshstrutsaction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import freshstrutsform.LoginForm;
public class LoginAction extends Action
{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception
{
LoginForm loginForm = (LoginForm)form;
if(loginForm.getUserName().equalsIgnoreCase(loginForm.getPassword()))
{
return mapping.findForward("success");
}
else
{
return mapping.findForward("failure");
}
}
}
------------------------------------------------------------------------------------------------------------------------------------------
login.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">
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>Login_Page</title>
</head>
<body>
<div style="color:red">
<html:errors/>
</div>
<html:form action="/login">
UserName: <html:text name="LoginForm" property="userName" />
Password: <html:password name="LoginForm" property="password" />
<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>
<title>Success_Page</title>
</head>
<body>
<h1>SUCCESS</h1>
</body>
</html>
----------------------------------------------------------------------------------------------------------------------------------------
failure.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>
<title>Failure_Page</title>
</head>
<body>
<h1>FAILURE</h1>
</body>
</html>
-----------------------------------------------------------------------------------------------------------------------------------------
ApplicationResource.properties
error.userName.required = User Name is required.
error.password.required = Password is required.
-----------------------------------------------------------------------------------------------------------------------------------------
also my lib folder contains following jars :
antlr-2.7.2.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-digester-1.8.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.0.jar
oro-2.0.8.jar
struts-core-1.3.10.jar
struts-taglib-1.3.10.jar
struts-tiles-1.3.10.jar
------------------------------------------------------------------------------------------------------------------------------------------
my folder structure in apache
tomcat is
webapps=>FreshStruts1=>META-INF(MANIFEST.MF),WEB-INF(lib,classes,web.xml,struts-config.xml,struts-html.tld) where lib has all jars & classes folder has LoginForm.java & its classfile & ApplicationResource.properties ,LoginAction.java & its class file.
I am trying to slove from past 2 days & i dont know what is wrong.
Thank-You