login.jsp
1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme() + "://" 5 + request.getServerName() + ":" + request.getServerPort() 6 + path + "/"; 7 %> 8 9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 10 <html> 11 <head> 12 <base href="<%=basePath%>"> 13 14 <title>My JSP 'login.jsp' starting page</title> 15 16 <meta http-equiv="pragma" content="no-cache"> 17 <meta http-equiv="cache-control" content="no-cache"> 18 <meta http-equiv="expires" content="0"> 19 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 20 <meta http-equiv="description" content="This is my page"> 21 <!-- 22 <link rel="stylesheet" type="text/css" href="styles.css"> 23 --> 24 25 <script type="text/javascript" src="js/jquery-1.8.3.js"> 26 </script> 27 </head> 28 <script type="text/javascript"> 29 function chkName() { 30 var name = $("#username").val(); 31 $.ajax( { 32 url : "chkName.action", 33 data : "name=" + name, //发送数据 34 dataType : "text", //响应数据类型 35 type : "get", //请求发方式 36 success : function(value) { //成功之后 37 $("#msg").html(value); 38 } 39 }); 40 } 41 </script> 42 <body> 43 <div id="show"></div> 44 <form action="login.action" method="post"> 45 <div> 46 用户名: 47 <input name="username" type="text" value="" id="username" 48 onblur="chkName()" /> 49 <span id="msg"></span> 50 </div> 51 52 <input type="submit" value="提交" /> 53 </form> 54 </body> 55 </html>
struts.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 6 <struts> 7 <package name="default" extends="struts-default" namespace="/"> 8 <action name="chkName" class="com.yh.myajax.LoginAction" method="chkName"> 9 <result type="stream"> 10 <param name="contentType">text/html;charset=utf-8</param> 11 <param name="inputName">is</param> 12 </result> 13 </action> 14 </package> 15 </struts>
LoginAction.java
1 package com.yh.myajax; 2 3 import java.io.ByteArrayInputStream; 4 import java.io.InputStream; 5 import java.io.UnsupportedEncodingException; 6 7 import com.opensymphony.xwork2.ActionSupport; 8 9 public class LoginAction extends ActionSupport { 10 private String name; 11 private InputStream is; 12 public String chkName(){ 13 String text; 14 if("sa".equals(name)){ 15 text="用户已存在!"; 16 }else{ 17 text="此用户可用!"; 18 } 19 try { 20 this.is=new ByteArrayInputStream(text.getBytes("utf-8")); 21 } catch (UnsupportedEncodingException e) { 22 // TODO Auto-generated catch block 23 e.printStackTrace(); 24 } 25 return SUCCESS; 26 } 27 public String getName() { 28 return name; 29 } 30 public void setName(String name) { 31 this.name = name; 32 } 33 public InputStream getIs() { 34 return is; 35 } 36 public void setIs(InputStream is) { 37 this.is = is; 38 } 39 }
web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 3 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"> 4 <filter> 5 <filter-name>struts2</filter-name> 6 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 7 </filter> 8 <filter-mapping> 9 <filter-name>struts2</filter-name> 10 <url-pattern>/*</url-pattern> 11 </filter-mapping> 12 <welcome-file-list> 13 <welcome-file>index.jsp</welcome-file> 14 </welcome-file-list> 15 <login-config> 16 <auth-method>BASIC</auth-method> 17 </login-config> 18 </web-app>
需要加载的包
运行效果