LoginAction.java:package wu.struts;
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;public class LoginAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm=(LoginForm)form;
if(loginForm.getName().equals("itcast")){
return mapping.findForward("loginSuccess");
}
else{
return mapping.findForward("loginFailure");
}
}}LoginForm.java:package wu.struts;import org.apache.struts.action.ActionForm;public class LoginForm extends ActionForm {
private static final long serialVersionUID = 1L; private String name=null;
private String password=null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}}struts-config.xml:
<struts-config>
<form-beans>
<form-bean name="loginForm" type="wu.struts.LoginForm"/>
</form-beans>
<action-mappings>
<action path="/login" type="wu.struts.LoginAction" name="loginForm">
<forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
<forward name="loginFailure" path="/LoginFailure.jsp"></forward>
</action>
</action-mappings></struts-config>
web.xml:
<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>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</servlet>
Login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
<form action="<%=request.getContextPath() %>/login.do" method= "post">
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br/>
<input type="submit" value="login">
</form>
</body>
</html>LoginSuccess.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
LoginSuccess <br>
</body>
</html>LoginFailure.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
LoginFailure <br>
</body>
</html>错误信息:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
wu.struts.LoginAction.execute(LoginAction.java:23)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
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;public class LoginAction extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm=(LoginForm)form;
if(loginForm.getName().equals("itcast")){
return mapping.findForward("loginSuccess");
}
else{
return mapping.findForward("loginFailure");
}
}}LoginForm.java:package wu.struts;import org.apache.struts.action.ActionForm;public class LoginForm extends ActionForm {
private static final long serialVersionUID = 1L; private String name=null;
private String password=null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}}struts-config.xml:
<struts-config>
<form-beans>
<form-bean name="loginForm" type="wu.struts.LoginForm"/>
</form-beans>
<action-mappings>
<action path="/login" type="wu.struts.LoginAction" name="loginForm">
<forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
<forward name="loginFailure" path="/LoginFailure.jsp"></forward>
</action>
</action-mappings></struts-config>
web.xml:
<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>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</servlet>
Login.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
<form action="<%=request.getContextPath() %>/login.do" method= "post">
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br/>
<input type="submit" value="login">
</form>
</body>
</html>LoginSuccess.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
LoginSuccess <br>
</body>
</html>LoginFailure.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<body>
LoginFailure <br>
</body>
</html>错误信息:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
wu.struts.LoginAction.execute(LoginAction.java:23)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
解决方案 »
- 从网上下了一个客户关系管理系统的java项目(求助)
- java程序如何实现这台服务器数据库连不上,去连另一台服务器的数据库
- servlet中文显示乱码问题
- 如何才能很好的掌握jsp?
- 急,关于flex和javascript交互问题
- 帮我解决一个类型问题
- !!!!!!!!急求!!!!!!-------使用XMPPConnection.getRoster(),获得所有联系人资料(要具体代码的例子)----
- 用GET方式传中文字符串 乱码,求救
- 关于struts2和json的一个OutOfMemoryError错误?求大神们来帮忙解决
- 两个对象值合并
- 视频服务器中header头如何设置?
- commons-pool.jar 问题
空指针异常
(LoginAction.java:23)
23行值没得到
struts1木用过
wu.struts.LoginAction.execute(LoginAction.java:23)估计是你loginForm.getName()这个值为空吧。
private String username="";
private String password="";
jsp页面<form action="..." method="POST">
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit" value="提交"/>
</form>
对头,页面中传递的name的名称必须与actionform中 的属性的一致,不然,它木有办法进行填充..导致的结果是在action中取不到actionform,就报了空指针了。