</style> <script type="text/javascript"> var ajax; function check(){ var form=document.myform; if(form.userName.value==""){ alert("用户名不能为空"); return ; } if(form.pwd.value==""){ alert("密码不能为空"); return ; } //ajax=createXMLHttpRequest(); //var url="logincheck.jsp?userName="+document.myform.userName.value+"&pwd="+document.myform.pwd.value; //ajax.onreadystatechange=showMsg; //ajax.open("GET",url,true); //ajax.send(null); }
function showMsg(){ if(ajax.readyState==4 && ajax.status==200){ var result=ajax.responseText; if(result=="faile\r\n\r\n\r\n\r\n"){ alert("登录失败"); }else{ document.myform.submit(); } }
}
function createXMLHttpRequest(){ if(window.ActiveXObject){ return new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ return new XMLHttpRequest(); } } </script> </head>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="log" extends="struts-default">
<action name="logo" class="action.LoginAction">
<result name="success">/index.jsp</result>
<result name="error">/login.html</result>
</action>
</package></struts> 异常:No result defined for action action.LoginAction and result error
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
<html>
<head>
<title>login.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../css/indexCss.css">
<style type="text/css">
td {border:0px;}
</style>
<script type="text/javascript">
var ajax;
function check(){
var form=document.myform;
if(form.userName.value==""){
alert("用户名不能为空");
return ;
}
if(form.pwd.value==""){
alert("密码不能为空");
return ;
}
//ajax=createXMLHttpRequest();
//var url="logincheck.jsp?userName="+document.myform.userName.value+"&pwd="+document.myform.pwd.value;
//ajax.onreadystatechange=showMsg;
//ajax.open("GET",url,true);
//ajax.send(null);
}
function showMsg(){
if(ajax.readyState==4 && ajax.status==200){
var result=ajax.responseText;
if(result=="faile\r\n\r\n\r\n\r\n"){
alert("登录失败");
}else{
document.myform.submit();
}
}
}
function createXMLHttpRequest(){
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
return new XMLHttpRequest();
}
}
</script>
</head>
<body>
<table align="center" width="534" height="125" border=0 >
<tr>
<td colspan="3"><img src="../image/logo.gif" width="111" height="45"/></td>
</tr>
<tr class="colorTr">
<td colspan="3">您尚未 <a href="">登陆</a> | <a href="register.html">注册</a> |</td>
</tr>
<tr class="text">
<td colspan="3"><b>》论坛首页</b></td>
</tr>
</table>
<br/>
<form action="logo.action" name="myform" >
<table align="center" width="534" height="100" border=1 cellpadding="0" cellspacing="0" >
<tr>
<td height="40px" colspan="3"> </td>
</tr>
<tr>
<td align="right">用户名 </td>
<td align="center" colspan="2"><input name="userName" type="text"/></td>
</tr>
<tr height="30px">
<td align="right">密码 </td>
<td align="center" colspan="2"><input type="password" name="pwd"/></td>
</tr>
<tr>
<td> </td>
<td align="center" colspan="2"><input type="button" value="登陆" onclick="check();" /></td>
</tr>
<tr>
<td height="40px" colspan="3"> </td>
</tr>
</table>
</form>
</body>
</html>
LoginAction:
package action;import com.opensymphony.xwork2.ActionSupport;import dao.UserImp;public class LoginAction extends ActionSupport { private String userName;
private String pwd;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String execute() throws Exception {
if(new UserImp().findUser(userName,pwd)==null){
return SUCCESS;
}
return ERROR;
}
}没有整合别的东东