<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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">
<!-- 定义Filter -->
<filter>
<!-- 指定Filter的名字,不能为空 -->
<filter-name>struts2</filter-name>
<!-- 指定Filter的实现类,此处使用的是Struts2提供的拦截器类 -->
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 定义Filter所拦截的URL地址 -->
<filter-mapping>
<!-- Filter的名字,该名字必须是filter元素中已声明过的过滤器名字 -->
<filter-name>struts2</filter-name>
<!-- 定义Filter负责拦截的URL地址 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 欢迎页面 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
package com.action;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private static final long serialVersionUID = 1L;
//name 属性
private String name;
//password 属性
private String password;
//name属性 getter方法
public String getName() {
return name;
}
//name属性setter方法
public void setName(String name) {
this.name = name;
}
//password属性getter方法
public String getPassword() {
return password;
}
//password属性setter方法
public void setPassword(String password) {
this.password = password;
}
//重载execute()方法
public String execute() throws Exception {
//httpservletresponse 类型变量
HttpServletResponse response=ServletActionContext.getResponse();
//设置返回内容类型
response.setContentType("text/xml;charset=UTF-8");
//设置头
response.setHeader("Cache-Control", "no-cache");
//输出success
response.getWriter().println("success");
//检查name password属性
if(name.equals("tom")&&password.equals("123"))
{
response.getWriter().println("welcome login!");
}else {
response.getWriter().println("error,please input again!");
}
//返回success
return SUCCESS;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 包package struts2_ajax_demo -->
<package name="Struts2_AJAX_DEMO" namespace="/" extends="struts-default">
<!-- login action -->
<action name="login" class="com.action.LoginAction">
<!-- result 返回success。jsp -->
<result>/success.jsp</result>
</action>
</package>
</struts>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<sx:head/>
<script type="text/javascript">
/*定义xmlhttprequest变量*/
var XHR= false;
function CreateXHR(){
try{
/*检查能否用activexobject*/
XHR = new ActiveXObject("msxml2.XMLHTTP");
}catch(e1){
try{
/*检查能否用activexobject*/
XHR = new ActiveXObject("microsoft.XMLHTTP");
}catch(e2){
try{
/*检查能否用本地javascript对象*/
XHR = new XMLHttpRequest();
}catch(e3){
//创建失败
XHR = false;
}
}
}
}
function sendRequest(){
//创建xmlhttprequest对象
CreateXHR();
if(XHR){
//创建成功
//得到name的值
var name=document.getElementById("name").value;
//得到password的值
var password=document.getElementById("password").value;
//要访问的uri
var uri="http://localhost:8080/AjaxDemo/login.action?name="+name+"&password="+password;
//var uri="http://localhost:8080/AjaxDemo/login.action?name=1&password=1";
//访问open
XHR.open("GET",uri,true);
//设置事件触发器
XHR.onreadystatechange = resultHander;
//发送请求
XHR.send(null);
}
}
function resultHander(){
//检查状态
if (XHR.readyState == 4 && XHR.status == 200){
//显示提示框
alert(XHR.responseText);
}
}
</script>
</head>
<body>
<center>
Name: <input type="text" id="name" /><br />
password: <input type="password" id="password" /><br />
<!-- 单击触发ajax -->
<input type="button" value="ok" onclick="sendRequest();" />
</center>
</body>
</html>
package com.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>
success
</h2>
</center>
</body>
</html>
截图