struts报at org.apache.struts.util.ModuleUtils.getModuleName错误,怎办?
我刚学struts,做了个很简单的例子,有一页面regist.jsp有
<form action="processRegist.do" method="post" name="registForm">
在struts-config.xml中有配置
<form-beans>
<form-bean name="registForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="pass" type="java.lang.String"></form-property>
</form-bean>
</form-beans>
<action-mappings>
<action path="/processRegist" name="registForm" type="org.action.ProcessRegistAction"
scope="request" input="/jsp/regist.jsp">
<forward name="success" path="/jsp/hello.jsp"></forward>
<forward name="fail" path="/jsp/regist.jsp"></forward>
</action>
在regist.jsp按提交后报错:
java.lang.NullPointerException
at org.apache.struts.util.ModuleUtils.getModuleName(ModuleUtils.java:182)
at org.apache.struts.util.ModuleUtils.getModuleName(ModuleUtils.java:156)
at org.apache.struts.util.ModuleUtils.selectModule(ModuleUtils.java:219)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1189)
at org.action.base.MyActionServlet.process(MyActionServlet.java:12)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
.............................
在regist.jsp按提交后,应执行我extends ActionServlet的MyActionServlet,但发现super.process( request, response);不执行,就报了以上的错误,是什么原因?
public class MyActionServlet extends org.apache.struts.action.ActionServlet{
protected void process( HttpServletRequest request, HttpServletResponse response)throws java.io.IOException, javax.servlet.ServletException{
System.out.println("============MyActionServlet------------------process被调用 0");
request.setCharacterEncoding("GBK");
System.out.println("============MyActionServlet------------------process被调用 2");
super.process( request, response);
System.out.println("============MyActionServlet------------------process被调用 5");
}
public void init() throws javax.servlet.ServletException{
System.out.println("============MyActionServlet------------------init() 被调用");
}
}
我以为是regist.jsp的配置有误,就改为<form action="/processRegist.do" method="post" name="registForm">
即在processRegist.do前加上“/”,但就报The requested resource (/processRegist.do) is not available.