我原先刚开始学AJAX的时候,忘了从什么地方拉下来的一篇文章,不过,如果没有AJAX基础,最好不看这篇示例,因为你肯定看不懂,因为这个示例页不能够给你立即看到立即实现的效果,你应该先去看一个最简单的示例,怎么样用AJAX去把一个文本文件的内容读回来。然后再回来看这篇文章,这里你可以看到使用AJAX分别把内容提交到STRUTS,SERVLET,WEBWORK,是怎么样操作的。我在看这篇文章以前,都是把一个JSP的处理请求,发给另外一个JSP页面处理,并在那个页面理采用BEAN的方式,虽然我是采用的STRUTS结构,但是却不知道可以直接将内容提交到ACTION,这样就可以减少一道工序了,人笨就是这样。
写这个页面的朋友是谁,我真的忘了,不过,还是非常感谢。示例就自己看吧: 86oo.com欢迎你
<%@ 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对象
欢迎各位访问86oo.com
function testName(path){ 您所浏览的文章来自86oo.com
//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){
86oo.com
view_name.style.color='red';
view_name.innerHTML='该用户名已经被使用';
}else{
view_name.style.color='red';
view_name.innerHTML='该用户名含有非法字符!';
}
}
} http://www.86oo.com
req.open('POST', path+'/ajax.jsp');//jsp
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取得
http://www.86oo.com
}
}
</script>
86oo.com提供各类教程
这个jsp页面并没有取得用户名,就是演示一下。还有<div>可以换span,具体作用问美工吧。 http://www.86oo.com
接受ajax请求的action。 www.86oo.com
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; 86oo精彩教程
/**
* <p>Title:AjaxAction </p>
*/
www.86oo.com
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;
}
} 86oo.com提供各类教程
struts-config.xml 86oo精彩教程
<action type="test.whw.upload.AjaxAction" validate="false" scope="request" path="/ajax"/>
---------------------------- www.86oo.com
如果是servlet www.86oo.com
web.xml 欢迎各位访问86oo.com
<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> 86oo.com
AjaxServlet.java 86oo精彩教程
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;
86oo.com
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);
} 86oo.com
//Process the HTTP Put request
public void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
} 欢迎各位访问86oo.com
//Process the HTTP Delete request
public void doDelete(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
您所浏览的文章来自86oo.com
//Clean up resources
public void destroy() {
}
}
86oo.com欢迎你
------------------------------------- 您所浏览的文章来自86oo.com
如果是webwork
86oo.com提供各类教程
xwork.xml
86oo.com
<action name="ajax" class="com.whw.upload.action.webwork.AjaxAction" method="ajax"/>
86oo精彩教程
AjaxAction.java
86oo精彩教程
import java.io.PrintWriter;
www.86oo.com
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();
} 86oo精彩教程
}
欢迎各位访问86oo.com
分享到:
- 2008-01-12 11:23
- 浏览 2612
- 评论(0)
- 论坛回复 / 浏览 (0 / 1802)
- 查看更多
相关推荐
本文将探讨AJAX在JSP、Struts、Servlet、WebWork等不同框架中的应用方式,并通过一个示例来具体展示其实现过程。 #### 二、基础知识概述 1. **JSP(JavaServer Pages)**:是一种基于Java的服务器端技术,用于生成...
ActionContext是WebWork中的一个关键组件,它为Action提供了一个上下文,其中包含了请求、响应、session和application等Web环境中的数据。ActionContext允许你在Action间共享数据,并且可以访问到拦截器和控制器层的...
- **CRUD操作**:将增删改查操作整合到同一个Action中,简化代码结构。 - **使用注释**:利用注解来简化配置,提高代码可读性。 #### 7. 视图技术选项 - **标签库**:Struts2提供了丰富的标签库,用于简化前端页面...
Struts2还内置了对AJAX的支持,使用Dojo toolkit,为网页增加动态效果和丰富的客户端控件,如日期选择器。 Struts2与Spring框架的深度集成也是其一大亮点。通过Spring,开发者可以方便地实现依赖注入,管理Action的...
总的来说,这个压缩包提供的代码示例将帮助开发者深入理解Struts2框架的使用,特别是如何在实际项目中与其他Java Web技术进行整合。通过学习和实践这些代码,开发者可以提升自己的Java Web开发技能,更好地应对各种...
标题"十个struts入门程序源码"表明这是一份包含10个不同示例的源代码集合,用于初学者学习和理解Struts 2框架的基础用法。这些源码通常会涵盖Struts 2中的核心概念和常用功能,如Action类、结果类型、拦截器、动态...
示例程序展示了如何使用Servlet、Bean和JSP构建一个简单的Web应用程序,包括了页面的搭建、数据模型的定义、以及Servlet对请求的处理流程。通过这种方式,可以清晰地看到MVC架构下各部分的分工合作,有助于理解Web...
- **结果处理**:Struts2支持多种结果类型,包括但不限于FreeMarker模板、Velocity模板等,而Struts1主要使用JSP页面作为视图层。 ### 动作、拦截器和类型转换 #### 章节概述 - **第3章**:介绍如何使用Struts2的...
Struts2是一个强大的Java Web应用框架,它源自WebWork2并吸收了Struts1.x的优点。这个框架的主要目标是简化企业级应用的开发、部署和维护。Struts2的易用性和灵活性使得开发者能更专注于业务逻辑,而不是底层的HTTP...
该指南不仅介绍了WebWork的基本概念、架构设计以及与Struts框架的比较,还深入探讨了如何利用WebWork进行快速开发,并支持AJAX等现代Web技术。 #### 作者简介 本书的作者是Patrick,一位资深的软件开发者和技术领袖...
4. **控制器Servlet**:Struts使用一个名为`ActionServlet`的Servlet来管理请求和响应,它是框架的入口点,负责解析配置文件并调度Action。 5. **视图**:视图通常是JSP页面,用来展示用户界面。Struts提供了一系列...
Struts 2基于WebWork框架,并引入了拦截器(Interceptor)机制,使得框架更加灵活和强大,同时也支持更多的功能,如AJAX、文件上传等。 ##### Struts2的核心特性 - **标签库**:Struts 2提供了丰富的标签库,用于...
6. **结果返回**: Action执行完成后,ActionInvocation根据struts.xml配置查找并返回结果,通常为一个JSP页面。 7. **视图展示**: JSP页面使用Struts框架提供的标签库展示数据。 #### Struts2的安装与配置 1. **...
- **面向对象**:Struts2将请求映射到Java Action类而非Servlet。 - **内置拦截器**:提供了丰富的拦截器机制,可以方便地扩展框架的功能。 - **支持多种视图技术**:如JSP、Velocity等。 - **强大的表单处理...
通过本书的学习,开发者不仅可以掌握DWR的基本用法,还能学会如何将其与其他主流框架结合使用,以构建更加强大和灵活的Ajax应用程序。无论是对于前端还是后端开发者,这都是一本不可多得的好书。
**DWR**(Direct Web Remoting)是一种轻量级的Ajax框架,它简化了Java应用程序中Ajax的使用。DWR的主要特点包括: - **简单易用**:DWR简化了前端与后端之间的通信过程,使得开发者可以更专注于业务逻辑的实现而...
- **JSP与Servlet的异同**: 讨论JSP与Servlet之间的相同点与不同点,以及它们之间的联系。例如,JSP是Servlet技术的扩展,更加注重应用的外观表达;JSP编译后成为“类Servlet”形式等。 综上所述,通过对这些领域的...
- **4.7.2 在JSP中导入脚本**:在WebWork的JSP页面中使用DWR。 **4.8 DWR与Acegi** - Acegi是Spring Security的前身,DWR可以与Acegi结合使用。 - **4.8.1 问题提出**:指出在安全方面可能遇到的问题。 - **4.8.2 ...
在Java中,Model-View-Controller(MVC)架构模式是构建Web应用程序的常见方式,它将业务逻辑、数据模型和用户界面有效地分离,提高了代码的可维护性和可扩展性。本实例将探讨如何使用一种轻量级的Java MVC框架来...
- DWR是构建在**Ajax**技术基础之上的一种实现方式,其核心思想是通过Ajax技术实现实时交互性较强的Web应用。 - DWR通过JavaScript调用服务器端的方法来获取数据,并通过Ajax异步传输这些数据,使得网页可以在不重新...