测试环境: JDK 1.5 + HIBERNATE 3 + STRUTS 1.2.9 TOMCAT 5 + WIN XP
-----------------------------------------------------------------------
点击登录出现 :
Status reportServlet action is not availableThe requested resource (Servlet action is not available) is not available.web.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <!-- Action Servlet Configuration -->
<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>1</load-on-startup> </servlet> <!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> <!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib> <taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib></web-app>
struts-config.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config> <form-beans>
<form-bean name="LoginForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
</form-bean>
</form-beans>
<global-forwards
type="org.apache.struts.action.ActionForward">
<forward name="toWrong" path="/wrong.jsp"/>
<forward name="toSuccess" path="/MainFrame.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="cn.ocsky.LoginAction" name="LoginForm" scope="request" input="/wrong.jsp" />
</action-mappings>
<controller processorClass="cn.ocsky.MyRequestProcessor"/>
<message-resources parameter="cn.ocsky.MyResource"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="false"/>
</plug-in>
</struts-config>
-----------------------------------------------------------------------
点击登录出现 :
Status reportServlet action is not availableThe requested resource (Servlet action is not available) is not available.web.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <!-- Action Servlet Configuration -->
<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>1</load-on-startup> </servlet> <!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> <!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib> <taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib></web-app>
struts-config.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config> <form-beans>
<form-bean name="LoginForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
</form-bean>
</form-beans>
<global-forwards
type="org.apache.struts.action.ActionForward">
<forward name="toWrong" path="/wrong.jsp"/>
<forward name="toSuccess" path="/MainFrame.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="cn.ocsky.LoginAction" name="LoginForm" scope="request" input="/wrong.jsp" />
</action-mappings>
<controller processorClass="cn.ocsky.MyRequestProcessor"/>
<message-resources parameter="cn.ocsky.MyResource"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="false"/>
</plug-in>
</struts-config>
路径应该也没有问题咯.
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
public final class LoginAction extends Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
DynaActionForm loginForm = (DynaActionForm) form;
String name = (String)loginForm.get("username");
String psw = (String)loginForm.get("password");
Sysuser sysuser=new DbOperate().getUser(name);
ActionMessages errors = new ActionMessages();
if (sysuser==null){ //用户名错误
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("errors.loginFail"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
return mapping.findForward("toWrong");
}
else{
String dbPassword = sysuser.getPassword();
if (dbPassword == null || !dbPassword.equals(psw)) { //口令错误
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("errors.loginFail"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
return mapping.findForward("toWrong");
}
else{
HttpSession session = request.getSession();
session.setAttribute(Constants.LOGIN_USER_KEY,sysuser);
return (mapping.findForward("toSuccess"));//登陆成功
}
}
}
}