我的web.xml如下 <?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<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>
<!-- Standard Action Servlet Mapping -->
<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.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="LoginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="cn.itcast.LoginAction" name="LoginForm">
<forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
<forward name="loginFailure" path="/LoginFalure.jsp"></forward>
</action>
</action-mappings>
</struts-config>启动tomcat没有问题,但是访问login.jsp以后 输入username和password提交以后 就报错
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
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:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:357)
org.apache.struts.chain.commands.CreateActionForm.execute(CreateActionForm.java:92)
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:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
<web-app 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">
<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>
<!-- Standard Action Servlet Mapping -->
<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.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="LoginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="cn.itcast.LoginAction" name="LoginForm">
<forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
<forward name="loginFailure" path="/LoginFalure.jsp"></forward>
</action>
</action-mappings>
</struts-config>启动tomcat没有问题,但是访问login.jsp以后 输入username和password提交以后 就报错
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
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:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:357)
org.apache.struts.chain.commands.CreateActionForm.execute(CreateActionForm.java:92)
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:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
解决方案 »
- 问:自助建站的的原理和当前用的技术,以及自主建站的难点?谢谢!
- 这个问题怎么就没有考虑到呢???
- 关于Spring的配置的面试题(神州数码)
- 有哪位大虾知道,怎么玩Tab
- 点击浏览器刷新按钮和回退、前进按钮时是发送新的http请求么?
- 这是什么原因会发生java.sql.SQLException: Server configuration denies access to data source
- 100分求教eclipse2.12类路径问题。
- 怎么看对数据库的添加、修改是否成功?急,在线给分!!
- 关于运算问题?
- 如何用java整合discuz X3.1
- 关于在网页上播放视频的问题。。求指教
- 如何在点击button时改变下拉菜单的值?
Apache Tomcat/5.0.28
2009-1-11 18:30:19 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8088
2009-1-11 18:30:19 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1015 ms
2009-1-11 18:30:19 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-1-11 18:30:19 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.0.28
2009-1-11 18:30:19 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2009-1-11 18:30:19 org.apache.catalina.core.StandardHost getDeployer
信息: Create Host deployer for direct deployment ( non-jmx )
2009-1-11 18:30:19 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\Tomcat 5.0\conf\Catalina\localhost\balancer.xml
2009-1-11 18:30:20 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\Tomcat 5.0\conf\Catalina\localhost\forum3.xml
2009-1-11 18:30:20 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\Tomcat 5.0\conf\Catalina\localhost\manager.xml
2009-1-11 18:30:20 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\Tomcat 5.0\conf\Catalina\localhost\sky123.xml
2009-1-11 18:30:20 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\Tomcat 5.0\conf\Catalina\localhost\struttest1.xml
2009-1-11 18:30:20 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\workspace\struttest1\WebRoot\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2009-1-11 18:30:20 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/D:/workspace/struttest1/WebRoot/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
2009-1-11 18:30:21 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /forum3 from URL file:D:/Tomcat 5.0/webapps/forum3
2009-1-11 18:30:21 org.apache.catalina.startup.ContextConfig applicationConfig
信息: Missing application web.xml, using defaults only StandardEngine[Catalina].StandardHost[localhost].StandardContext[/forum3]
2009-1-11 18:30:21 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /struts-blank-1.3.10 from URL file:D:/Tomcat 5.0/webapps/struts-blank-1.3.10
2009-1-11 18:30:22 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/D:/Tomcat%205.0/webapps/struts-blank-1.3.10/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
2009-1-11 18:30:22 org.apache.struts.validator.ValidatorPlugIn initResources
信息: Loading validation rules file from '/org/apache/struts/validator/validator-rules.xml'
2009-1-11 18:30:22 org.apache.struts.validator.ValidatorPlugIn initResources
信息: Loading validation rules file from '/WEB-INF/validation.xml'
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /hello from URL file:D:\Tomcat 5.0\webapps\hello
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /jsp-examples from URL file:D:\Tomcat 5.0\webapps\jsp-examples
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /myweb from URL file:D:\Tomcat 5.0\webapps\myweb
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path from URL file:D:\Tomcat 5.0\webapps\ROOT
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /servlets-examples from URL file:D:\Tomcat 5.0\webapps\servlets-examples
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /tomcat-docs from URL file:D:\Tomcat 5.0\webapps\tomcat-docs
2009-1-11 18:30:23 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /webdav from URL file:D:\Tomcat 5.0\webapps\webdav
2009-1-11 18:30:24 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8088
2009-1-11 18:30:24 org.apache.jk.common.ChannelSocket init
信息: JK2: ajp13 listening on /0.0.0.0:8009
2009-1-11 18:30:24 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=1/36 config=D:\Tomcat 5.0\conf\jk2.properties
2009-1-11 18:30:24 org.apache.catalina.startup.Catalina start
信息: Server startup in 5149 ms
2009-1-11 18:30:47 org.apache.struts.chain.ComposableRequestProcessor init
信息: Initializing composable request processor for module prefix ''
2009-1-11 18:30:47 org.apache.struts.chain.commands.AbstractExceptionHandler execute
java.lang.NullPointerException
at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:357)
at org.apache.struts.chain.commands.CreateActionForm.execute(CreateActionForm.java:92)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
2009-1-11 18:30:47 org.apache.struts.chain.commands.ExceptionCatcher postprocess
警告: Exception from exceptionCommand 'servlet-exception'
java.lang.NullPointerException
at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:357)
at org.apache.struts.chain.commands.CreateActionForm.execute(CreateActionForm.java:92)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
我知道是空指针错误但是不明白是哪个地方错了
以下是loginform代码package cn.itcast;import org.apache.struts.action.ActionForm;public class LoginForm extends ActionForm {
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;
}
}以下是loginaction代码
package cn.itcast;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 org.apache.struts.action.Action { /* (non-Javadoc)
* @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
LoginForm loginform=(LoginForm)form;
if(loginform.getUserName().equals("itcast")){
return mapping.findForward("loginSuccess");
}
else {
return mapping.findForward("loginFailure");
}
}
}
麻烦高人帮我找下错误的原因十分感谢 主要是刚学习使用struts
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<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>
这个是login.jsp的代码
HTTP Status 404 - /login.do--------------------------------------------------------------------------------type Status reportmessage /login.dodescription The requested resource (/login.do) is not available.
--------------------------------------------------------------------------------
Java codepackage cn.itcast;import org.apache.struts.action.ActionForm;public class LoginForm extends ActionForm {
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;
}
}你仔细检查一下你的FormBean,定义出错
Bean的基本原则有三:
一:属性要是是private,并且要有setXX方法
二:要有getXX方法,当然get方法必须是公共的
三:要有无参的构造函数,(你的属性的初始化可以在里面进行执行)
private String password=null;
改成了
private String username;
private String password;
无参数的构造函数是系统会自动添加 应该不用添加
修改完没用
直接action="/login.do" 不行吗
真是你说的上面报500错误吗,500错误不是路径的错误,是后台编译内部出错吧
本应该不会出现这个问题的,因为/就代表这项目的根路径
并且你一开始建项目时有没有选择struts的版本
这些细节你都要注意
</html:form>
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;
}
}Username 和 文本框中的username对应
UserName 就必须和文本框名称为userName的对应,大小写区分。
你把文本框的修改成userName估计也行,我没试过。。
private String username;
private String password;
和longin.jsp里面的
<input type="text" name="username">
是一样的啊
getUsername不是setUserName和getUserName
return username;
}
}属性的名字无所谓
但是方法的名字必须是文本框的名字首字母大写struts自动封装方法是根据set+文本框的name属性首字母大写拼装的,但是不大写首字母之后的单词你文本框是usernamestruts找的是setUsername方法,而不是setUserName方法。你的form里没有setUsername方法。
private String username;
private String password;
public LoginForm() {
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
}
package cn.itcast;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 { /* (non-Javadoc)
* @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
LoginForm loginform=(LoginForm)form;
System.out.println(loginform.getUsername());
if(loginform.getUsername().equals("itcast")){
return mapping.findForward("loginSuccess");
}
else {
return mapping.findForward("loginFailure");
}
}
}
然后在tomcat的localhost的目录下建立了一个struttest.xml
里面就是
<Context path="/lilytest" reloadable="true" docBase="D:\workspace\struttest1\WebRoot" workDir="D:\workspace\struttest1\WebRoot" />
然后重启服务器试试!!
private String username=null;
private String password=null;
//////begin
public String getUserName() { //这个地方不能这么些啊,匹配不上,所以你在页面上面输入的数据根本action中就没有获到。修改为getUsername();下面也是如此
return username; //建议你这个东西不要手写,以免出现错误,可以在属性上面右键source,然后里面的generate getter and setter这里面就可以
//选择了,而且属性这里面的属性是不用初始话的!
//还有个建议,有问题了,可以debug以下。很容易就找到错误了!加油
}
public void setUserName(String userName) {
this.username = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
///////end
<form-bean name="LoginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="cn.itcast.LoginAction" name="LoginForm">看了这个帖子才找到的,谢谢大家
结果发现是struts-config.xml里面的错误
<form-beans>
<form-bean name="loginForm" type="com.itast.struts.LoginForm"/>
</form-beans>
错误的原因写成了<form-bean name="loginForm" type="com.itast.struts.LoginForm">
</form-bean>
把它写成小写了。<form-bean name="usersForm" type="org.zwb.webapp.form.demo.usersForm" />