struts-config.xml如下:
<!-- 表单 Bean -->
<form-beans>
<form-bean name="LoginForm" type="app.LoginForm" />
</form-beans> <!-- 操作映射 -->
<action-mappings>
<action path="/login" type="app.LoginAction" name="LoginForm"
scope="request" validate="false" input="/login.jsp">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
</action-mappings> <!-- 消息资源 -->
<message-resources parameter="MessageResources" />web.xml如下:
<display-name>Test3</display-name>
<servlet>
<servlet-name>LoginAction</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>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LoginAction</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
</jsp-config>LoginAction 如下:
public class LoginAction extends Action{
public ActionForward excute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception{
LoginForm rf = (LoginForm)form;
String username = rf.getUsername();
String password = rf.getPassword();
if(username.equals("aa") && password.equals("aa")){
return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}
}login.jsp页面如下:
<<html:html>
<title>Login</title>
</head>
<html:base />
<body>
<html:form action="/login.do" method="post">
<table align="center" border="1" width="400" cellspacing="2"
cellpadding="2">
<tr>
<td align="right">username:</td>
<td><html:text property="username" value="" /></td>
</tr>
<tr>
<td align="right">password:</td>
<td><html:password property="password" value="" /></td>
</tr>
<tr>
<td align="right"><html:submit value="sumit" /></td>
<td><html:reset value="reset" /></td>
</tr>
</table>
</html:form>
</body>
</html:html>
<!-- 表单 Bean -->
<form-beans>
<form-bean name="LoginForm" type="app.LoginForm" />
</form-beans> <!-- 操作映射 -->
<action-mappings>
<action path="/login" type="app.LoginAction" name="LoginForm"
scope="request" validate="false" input="/login.jsp">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
</action-mappings> <!-- 消息资源 -->
<message-resources parameter="MessageResources" />web.xml如下:
<display-name>Test3</display-name>
<servlet>
<servlet-name>LoginAction</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>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LoginAction</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
</jsp-config>LoginAction 如下:
public class LoginAction extends Action{
public ActionForward excute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception{
LoginForm rf = (LoginForm)form;
String username = rf.getUsername();
String password = rf.getPassword();
if(username.equals("aa") && password.equals("aa")){
return mapping.findForward("success");
}
else{
return mapping.findForward("failure");
}
}
}login.jsp页面如下:
<<html:html>
<title>Login</title>
</head>
<html:base />
<body>
<html:form action="/login.do" method="post">
<table align="center" border="1" width="400" cellspacing="2"
cellpadding="2">
<tr>
<td align="right">username:</td>
<td><html:text property="username" value="" /></td>
</tr>
<tr>
<td align="right">password:</td>
<td><html:password property="password" value="" /></td>
</tr>
<tr>
<td align="right"><html:submit value="sumit" /></td>
<td><html:reset value="reset" /></td>
</tr>
</table>
</html:form>
</body>
</html:html>
解决方案 »
- 求一JSP+Servlet+JavaBean注册登陆+后台(增,删,改,查)
- jsp问题
- 求助: request.getRequestDispatcher().forward(request, response) 无法跳转
- 请问用struts框架的时候过滤器类在哪里使用?
- 急,怎么用Pl/SQL 把oracle数据表中的数据导出来
- jsp中存在sql注入吗?
- tomcat经常死机???
- 用javac编译servlet时出错,找不到javax包,怎么办?
- servlet怎么判断一个会话结束了?(比如浏揽器关闭了)
- Spring mvc增删改查如何把当前时间自动写进数据库
- js页面问题
- 关于数据库的事务管理为什么说查询数据可以没有事务
<html:form action="/login.do" method="post">
去掉login.do前面的“/”,要不就在前面加上"<%=request.getContextPath()%>/login.do"
就这样啦
<servlet-name>LoginAction </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>1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LoginAction </servlet-name>
<url-pattern>*.do </url-pattern>
LoginAction 换成action 不要和你自己Action同名了。养成好的编程习惯。
其他的没有什么错误了,要不是楼主“人品”有问题。以前在学校的时候老师都这样说(代码冒得问题,就是没有正确的结果)。
去掉login.do前面的“/”,
* XX概要説明XX
*
* @author XXX
* @version 1.0
* @see ActionForm
*/
public class LoginForm extends ActionForm{
/**
* dd
*/
private static final long serialVersionUID = -5102892062011038803L;
private String username;
private String password;
/**
* XX概要説明XX
*
* @return password
*/
public String getPassword() {
return password;
}
/**
* XX概要説明XX
*
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* XX概要説明XX
*
* @return username
*/
public String getUsername() {
return username;
}
/**
* XX概要説明XX
*
* @param username
*/
public void setUsername(String username) {
this.username = username;
}
}
java.lang.ClassNotFoundException: app.LoginAction
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:119)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:282)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:220)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
app.LoginAction 这个冒找到哦,你写错了吧。包名对不?
type="app.LoginAction"
包名.类名
<!-- 操作映射 -->
<action-mappings>
<action path="/login" type="app.LoginAction" 这里啦:是包名.类名啊 name="LoginForm"
scope="request" validate="false" input="/login.jsp">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
</action-mappings>
你的LoginAction是放在app这个包下面嘛?
<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>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</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>//要有结束标签的
一切都是这么的平静和正常,你的类没有找到。但是你说你的配置是对的。
偶的神啊,你仔细检查下。你的代码都是对的,其他的冒发现问题。
第一个demo很重要,如果没有搞成功对自己的学习信心打击是很大的。
慢慢来吧,要不你再重新都写一遍。
严重: No action instance for path /login could be created
java.lang.ClassNotFoundException: app.LoginAction
<action path="/login" scope="request" //name 不要也可以的
type="app.LoginAction">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
然后把 validate="false" input="/login.jsp" 去掉
页面里修改提交方式:
<form action="../login.do method="post" >
<servlet-name>LoginAction </servlet-name> ?
这是错误的,
<servlet-name>action</servlet-name>//这里和下面的action必须 一样
<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>
<servlet-mapping>
<servlet-name>action</servlet-name>//这里的action和上面的事一样的
<url-pattern>*.do</url-pattern>
</servlet-mapping>
你试试看
,只有这样才能达到 由Tomcat创建Servlet的运行原理呀
类名不对,路过