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

ajax与struts2实例演示代码

前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是ajax与struts2结合而开发的实例。在学习实例前,leo觉得有必要看看,了解下

         前言

         对于从事技术的人员来说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"%>  

  

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

        leo总结
此ajax实例是用的最原始的ajax语言来实现了,现在一般都不这样用,因为这们对浏览器间的兼容性不强,目前使用的都是ajax框架,比如说Jquery,prototype,dwr,Dojo等,更多浏览ajax框架.


推荐阅读
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • java io换行符_Java IO:为什么从stdin读取时,换行符的数字表示出现在控制台上?...
    只是为了更好地理解我在讲座中听到的内容(关于Java输入和输出流),我自己做了这个小程序:publicstaticvoidmain(String[]args)thro ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
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社区 版权所有