热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简单的ajax与struts2实例

前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是
 前言
        对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是ajax与struts2结合而开发的实例。
       在学习实例前,leo觉得有必要看看,了解下下面这些资料,对ajax学习很重要也很必要.
       什么是Ajax
       读音:e:j^ks 。AJAX即“Asynchronous Javascript and XML”(异步Javascript和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术.
       什么是Javascript
       Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。

       什么是XML
       XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
       leo说明
       有了这些资料,现在学习ajax就容易了,如果熟悉上面两种语言,那就更得心应手了;不会这两种语言的朋友可以先去大概的看看,学习下,特别是Javascript,这样在学习ajax时会很轻松.
       ajax实例
       下面来看看实例.
       准备工作:开发软件Myeclipse6.5,tomcat6.0 环境jdk1.6,struts2.0
       OK,一切准备好了,搭建工程,先创建一个test工程,添加。。。具体的步骤就省略了,相信大家这个都会。我们看代码。
       创建一个接受请求处理请求的java类 Java代码
package action;    

import java.io.PrintWriter;    
import java.text.SimpleDateFormat;    
import java.util.Date;    

import javax.servlet.http.HttpServletRequest;    
import javax.servlet.http.HttpServletResponse;    

import org.apache.struts2.ServletActionContext;    

import com.opensymphony.xwork2.ActionSupport;    
/**Struts2中AJAX应用演示业务控制器**/  
public class AjaxAction extends ActionSupport {    


   /**处理原始的AJAX请求:读取服务端系统时间**/  
   public String getServerTime(){    
       try {    
           SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");    
           //获取原始的PrintWriter对象,以便输出响应结果,而不用跳转到某个试图    
           HttpServletResponse respOnse= ServletActionContext.getResponse();    
           //设置字符集    
           response.setCharacterEncoding("UTF-8");    
           PrintWriter out = response.getWriter();    

           //直接输入响应的内容    
           out.println(sd.format(new Date()));    
           /**格式化输出时间**/  
           out.flush();    
           out.close();    

       } catch (Exception e) {    
           // TODO: handle exception    
           e.printStackTrace();    
       }    
        return null;//不需要跳转某个视图 因为上面已经有了直接输出的响应结果    

   }    

   /**处理原始的AJAX请求:异步登录**/  
   public String ajaxLogin(){    
       try {    
           String respOnseText="";    
           //读取请求的参数    
           HttpServletRequest request = ServletActionContext.getRequest();    
           String loginname=   request.getParameter("loginname");    
           String loginpwd= request.getParameter("loginpwd");    
           //进行登录验证    
           if(loginname==null||loginname.trim().length()<1){    
               respOnseText="对不起,账号不能为空";    
           }else if(loginpwd==null||loginpwd.trim().length()<1){    
               respOnseText="对不起,密码不能为空";    
           }else{    
               if(loginname.equalsIgnoreCase("www.dukai168.cn")&&loginpwd.equalsIgnoreCase("www.dukai168.cn")){    
                   respOnseText="恭喜你,异步登录成功";    
               }else{    
                   respOnseText="对不起,异步登录失败";    
               }    
           }    

           //获取原始的PrintWriter对象,以便输出响应结果,而不用跳转到某个试图    
           HttpServletResponse respOnse= ServletActionContext.getResponse();    
           //设置字符集    
           response.setContentType("text/plain");//设置输出为文字流  
           response.setCharacterEncoding("UTF-8");    
           PrintWriter out = response.getWriter();    

           //直接输出响应的内容    
           out.println(responseText);    
           out.flush();    
           out.close();    

       } catch (Exception e) {    
           // TODO: handle exception    
           e.printStackTrace();    
       }    
       return null;//不需要跳转某个视图 因为上面已经有了直接输出的响应结果    

   }    


}      
       配置struts.xml Java代码
   

   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
   http://struts. apache.org/dtds/struts-2.0.dtd>    

   
       
           
           /show.jsp    
       
   
   
   
 
       创建前台前请求页面 XML/HTML代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
www.xinlin.info
 

1.服务器端的系统时间:    
 
 
2.登陆账号:    
 
登陆密码:    
 
 
       好了,所有的工作都完成了,发布运行,一切正常,运行的图就不放上来了,此ajax实例已经经过leo亲自测试运行。大家可以直接贴代码进行运行。
       leo总结

       此ajax实例是用的最原始的ajax语言来实现了,现在一般都不这样用,因为这们对浏览器间的兼容性不强,目前使用的都是ajax框架,比如说Jquery,prototype,dwr,Dojo等,更多浏览ajax框架.
本文为leo原创JSP博客独家发布,转载请保留原文地址http://www. dukai168.cn/blog/157.html,否则将追究法律责任,谢谢配合.
推荐阅读
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • 深入解析BookKeeper的设计与应用场景
    本文介绍了由Yahoo在2009年开发并于2011年开源的BookKeeper技术。BookKeeper是一种高效且可靠的日志流存储解决方案,广泛应用于需要高性能和强数据持久性的场景。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
author-avatar
,,,,,,,,,,,,,,,
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有