`
feirou520
  • 浏览: 118632 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

ajax在jsp中的应用

    博客分类:
  • ajax
阅读更多

首先是jsp页面和脚本,为了方便写在一个里面

这是一个很常见的检测用户名是否存在的功能

这里用的是struts

<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
ajax
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<input name="username" type="text" maxlength="20" />
<input id="chk-name-btn" type="button" value="检测帐号" onclick="testName('<%=request.getContextPath()%>')" />
<div id="view_name"></div>
</h1>
</body>
</html>
<script language="javascript">
   if (window.ActiveXObject && !window.XMLHttpRequest) {
       window.XMLHttpRequest=function() {
       return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
    };
   }//取得XMLHttpRequest对象

function testName(path){

//path是取得系统路径
                 var view_name=document.getElementById("view_name");
       var req=new XMLHttpRequest();
       if (req) {
           req.onreadystatechange=function() {
            if (req.readyState==4 && req.status==200) {//判断状态,4是已发送,200已完成
                  if(req.responseText==0){
                  view_name.style.color='green';
                 view_name.innerHTML='该用户名可以正常使用';
                  }else if(req.responseText==1){
                 view_name.style.color='red';
                    view_name.innerHTML='该用户名已经被使用';
                        }else{
                      view_name.style.color='red';
                      view_name.innerHTML='该用户名含有非法字符!';
                      }
                  }
          }
                         req.open('POST', path+'/ajax.do');//struts

                          //req.open('POST', path+'/ajax.servlet');//servlet

                         //req.open('POST', path+'/ajax.action');//webwork


                           req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                           req.send("");//发送参数如果有参数req.send("username="+user_name);用request取得
       }
}
</script>
 

这个jsp页面并没有取得用户名,就是演示一下。还有<div>可以换span,具体作用问美工吧。

接受ajax请求的action。

 

import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

/**
* <p>Title:AjaxAction </p>
*/

public class AjaxAction extends Action {
   public ActionForward execute(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
       throws Exception {
     PrintWriter out = response.getWriter();
     out.print(1);//ajax取得都是字符的输出。如果数据量大的话,还可以用xml来发送和接受
     return null;
   }
}

struts-config.xml

     <action type="test.whw.upload.AjaxAction" validate="false" scope="request"   path="/ajax"/>
 


----------------------------

如果是servlet

 

web.xml

<servlet>
   <servlet-name>AjaxServlet </servlet-name>
   <servlet-class>servlet.AjaxServlet </servlet-class>
</servlet>
     <servlet-mapping>
         <servlet-name>AjaxServlet </servlet-name>
         <url-pattern>/AjaxServlet .servlet</url-pattern>
     </servlet-mapping>
 

AjaxServlet.java

 

 

import java.io.IOException;
import java.io.PrintWriter;

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


public class AjaxServlet extends HttpServlet {
Logger log = Logger.getLogger(this.getClass());
public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException,IOException {
   response.setContentType("text/xml; charset=GBK");
   PrintWriter out = response.getWriter();
     out.print(2);
    }
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   doGet(request, response);
}

//Process the HTTP Put request
public void doPut(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
}

//Process the HTTP Delete request
public void doDelete(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
}

//Clean up resources
public void destroy() {
}
}
 


-------------------------------------

如果是webwork

 

xwork.xml

    <action name="ajax" class="com.whw.upload.action.webwork.AjaxAction" method="ajax"/>
 


AjaxAction.java

 

import java.io.PrintWriter;

public class AjexAlbumAction extends ActionSupport implements Action{

   public void ajax()throws IOException {
              PrintWriter pw = ServletActionContext.getResponse().getWriter();
             ServletActionContext.getResponse().setContentType("text/html;charset=GBK");
             pw.print(1);
             pw.close();
   }

}
 

 

本例子在winXPsp2、JB9、Eclipse3,j2sdk1.4.1 、Tomcat5、Tomcat4.1都能运行

分享到:
评论

相关推荐

    Java Ajax分页,jsp ajax分页

    在JSP中,我们可以创建一个处理AJAX请求的Servlet。Servlet是Java Web应用中的一个组件,用于接收HTTP请求并返回响应。在分页场景中,Servlet会根据请求参数(如当前页数)查询数据库并返回所需的数据。 接下来,...

    Ajax+JSP.rar_ajax_ajax jsp download_java ajax jsp_jsp ajax_jsp在线

    当Ajax与JSP结合时,可以在客户端使用Ajax进行异步请求,而后端由JSP处理请求并返回数据,两者配合能构建高效且响应快速的Web应用。 **Ajax的工作原理:** 1. 用户触发一个Ajax事件,例如点击按钮。 2. JavaScript...

    Ajax的JSP例子

    总之,这个Ajax JSP例子是学习Web开发中异步交互的一个实例,通过实际操作,你可以更好地掌握Ajax技术和JSP的结合应用,从而提升网页的动态性和用户体验。在实际工作中,Ajax已经被广泛应用于各种Web应用,如实时...

    ajax在JSP中的应用_Ajax之家.files

    **Ajax在JSP中的应用** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它允许网页与服务器进行异步通信,极大地提升了用户体验,因为用户不再需要等待整个...

    Ajax+jsp注册验证用户

    在IT行业中,Ajax(Asynchronous JavaScript and XML)与JSP(JavaServer Pages)结合使用时,可以实现网页的...通过学习和实现这样的例子,开发者可以深入理解Ajax和JSP在实际项目中的应用,以及如何优化用户体验。

    Ajax+JSP网站开发从入门到精通

    《Ajax+JSP网站开发从入门到精通》的源代码,全书共分为16章,包括JSP的基础知识、JSP...本书适合于中、高级Ajax+JSP网站开发人员,特别适合于有编程基础,希望全面学习Ajax+JSP技术,想提高实际应用能力的读者群体。

    ajax在jsp、struts、servlet、webwork中的应用

    ### AJAX在JSP、Struts、Servlet、WebWork中的应用 #### 一、引言 随着Web技术的发展,用户对网站交互性和响应速度的要求越来越高。AJAX(Asynchronous JavaScript and XML)作为一种新兴的技术,能够在不重新加载...

    ajax+jsp局部页面刷新

    在`validate()`函数中,使用Ajax向服务器发送GET请求,请求URL指向一个JSP页面(如`Del1.jsp`)。此JSP页面将处理请求,从数据库中提取数据,并返回结果。 #### 步骤四:处理响应 在`callback()`函数中,检查...

    Jsp中AJAX的简单使用

    在JSP(JavaServer Pages)中使用AJAX,可以提升用户体验,使得页面交互更加流畅,数据更新更加即时。 **AJAX的工作原理** AJAX的核心是XMLHttpRequest对象,它允许在后台与服务器交换数据并更新部分网页内容。当...

    Ajax运用下的简易JSP+Mysql

    在这个“Ajax运用下的简易JSP+Mysql”项目中,我们将探讨如何利用Ajax与JSP、MySQL数据库结合,通过JDBC(Java Database Connectivity)接口进行数据交互。 首先,JSP(JavaServer Pages)是Java的一种动态网页技术...

    ajax实现jsp页面表格

    在网页开发中,AJAX...总之,"ajax实现jsp页面表格"是一个基础但实用的教程,涵盖了AJAX技术在网页动态更新中的应用,结合了JSP、JavaScript、数据库和JSON,为初学者提供了一个了解现代Web开发技术的实践平台。

    ajax jsp 实现动态验证

    在IT行业中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于构建交互性强、用户体验良好的Web应用程序。Ajax允许我们在不刷新整个网页的情况下,从服务器获取数据并局部更新页面内容,极大地提高了网页的...

    Ajax网站开发典型实例JSP源码包

    在本"Ajax网站开发典型实例JSP源码包"中,我们可以深入学习如何使用Ajax与JavaServer Pages (JSP) 结合,创建高效动态的Web应用。 1. **Ajax基础** Ajax的核心是JavaScript对象XMLHttpRequest,它允许JavaScript在...

    ajax+jsp分页控件

    在IT行业中,Ajax(Asynchronous JavaScript and XML)与JSP(JavaServer Pages)结合使用能够创建高度交互且响应迅速的Web应用。这里的“ajax+jsp分页控件”是一种技术解决方案,它允许用户在不刷新整个页面的情况...

    在jsp中运用ajax(简单入门)

    ### 在JSP中运用AJAX(简单入门) 随着互联网技术的发展与用户对交互体验要求的提高,AJAX技术因其能够实现网页的异步更新而受到广泛欢迎。本篇文章将通过一个具体的示例来介绍如何在JSP页面中使用AJAX进行简单的...

    超简单的ajax+jsp实现2级联动!!

    在这个"超简单的ajax+jsp实现2级联动"的例子中,我们将探讨如何利用AJAX(Asynchronous JavaScript and XML)技术和JavaServer Pages (JSP)来实现这种功能。 首先,我们需要了解AJAX的基本原理。AJAX允许网页在不...

    jsp中使用ajax实现web进度条

    "jsp中使用ajax实现web进度条"这个主题就是关于如何在Java Server Pages (JSP)中利用Asynchronous JavaScript and XML (AJAX)技术来创建一个动态显示文件上传进度的组件。下面将详细介绍这一过程中的关键知识点。 1...

    Jquery+ajax+jsp分页

    在Web开发中,分页是一种常见的用户界面设计技术,它用于处理大量的数据并提供良好的用户体验。...通过学习和理解这些代码,开发者可以更好地掌握如何在实际项目中运用jQuery、Ajax和JSP进行动态分页。

    ajax和JSP实现购物车

    【Ajax与JSP实现购物车】\n\n在Web开发中,购物车功能是一个常见的需求,它涉及到用户选择商品、查看商品数量、调整数量以及结算等操作。在本项目中,“ajax实现购物车,无数据库操作”意味着我们将利用Ajax技术进行...

    实验五 AJAX开发及JSP验证码

    实验五主要涵盖了AJAX技术的运用以及JSP验证码的开发,这两个知识点对于前端开发者来说是至关重要的。AJAX,即Asynchronous JavaScript and XML(异步JavaScript和XML),它允许网页在不重新加载整个页面的情况下与...

Global site tag (gtag.js) - Google Analytics