热门标签 | 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框架.


推荐阅读
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • C# 对象转 JSON 字符串的方法与应用
    本文介绍如何在 C# 中使用一般处理程序(ASHX)将对象转换为 JSON 字符串,并通过设置响应类型为 application/json 来确保客户端能够正确解析返回的数据。同时,文章还提供了 HTML 页面中不依赖 jQuery 的 AJAX 方法来接收和处理这些 JSON 数据的具体实现。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文介绍如何将自定义项目设置为Tomcat的默认访问项目,使得通过IP地址访问时直接展示该自定义项目。提供了三种配置方法:修改项目路径、调整配置文件以及使用WAR包部署。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • AJAX技术允许网页在不重新加载整个页面的情况下进行异步更新,通过向服务器发送请求并接收JSON格式的数据,实现局部内容的动态刷新。 ... [详细]
  • 本文详细探讨了JavaScript中的闭包与柯里化技术,这两者是函数式编程的重要组成部分,对提升代码的灵活性和可维护性具有重要作用。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
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社区 版权所有