热门标签 | 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,否则将追究法律责任,谢谢配合.
推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
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社区 版权所有