`
Thomas会Coding
  • 浏览: 96654 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts的ajax与servlet的ajax比较

 
阅读更多

首先写的是servlet的ajax。

在index.jsp中

 

 <body>
    <input type="button" onclick="ajaxCall()" value="确定"/>
    <div id="show"></div>
  </body>
	<script type="text/javascript">
		function ajaxCall(){
			$.get("AjaxServlet",null,function(data){
				$('#show').html(data);
			});
		}
	</script>

 因为其中使用了jquery,所以在开始的时候要引入jquery的js文件。

 

在AjaxServlet的service中主要是以下代码

 

public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.print("欢迎您");
	}

 这样便实现了点击按钮,无刷新显示了。

 

2:使用struts的ajax。其实和使用servlet一样,首先要完成基本的配置。在

$.get()中第一个参数改成相应action的名称。

action中的相应内容改成

 

package action;


import java.io.ByteArrayInputStream;
import java.io.InputStream;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
	private String username;
	private String password;
	private InputStream inputStream;
	public String getUsername() {
		return username;
	}
	public InputStream getResult(){
		return inputStream;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String execute() throws Exception{
		System.out.println("execute....");
		inputStream=new ByteArrayInputStream("恭喜你,成功登录!".getBytes("utf-8"));
		return SUCCESS;
	}
}

 这里的inputstream 就是要显示在页面上的内容。

在struts.xml中

<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<constant name="struts.i18n.encoding" value="gbk"/>
	<constant name="struts.devMode" value="true"/>
	<package name="action" extends="struts-default">
		<action name="login" class="action.LoginAction">
			<result name="success" type="stream">
				<param name="contentType">text/html</param>
				<param name="inputName">result</param>
			</result>
		</action>
	</package>
</struts>

 

 

其中第二个参数设置的result 指定由action中的getResult方法返回输出结果。

总结下来区别就是,在action中加了一个inputStream,然后 使用一个getResult方法返回需要显示的信息。

在action中配置result 的type为stream类型。当然这种方法对于大量数据的传递还是有缺陷的。

 

分享到:
评论

相关推荐

    ajax与Servlet交互

    使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Servlet的交互开始。

    Struts2与Ajax 精简源码

    Struts2与Ajax 的实现原理,于Servlet+Ajax原理是一致的,都是通过后台的response.getWriter().print("");把数据传输给前台的。 前台Ajax格式如下(需要导入ajax库,比如:jquery-1.11.3.js) 格式: $(function()...

    struts-ajax.rar_ajax struts _struts ajax_struts ajax war

    标签"ajax_struts_struts_ajax_struts_ajax_war"进一步强调了这是关于Struts和Ajax的整合,并且可能包含了一个war文件,war文件是Java Web应用的标准打包格式,可以直接部署到Servlet容器如Tomcat中运行。...

    Ajax + servlet 实现上传进度条显示

    利用Ajax和Servlet实现文件上传,用来commons-fileupload和commons-io两个包。这两个包也在里边。东西做的很简单,但重点是能对这个方法有所了解就行了,有人想做的更炫的可以自行修改。希望能对大家有所帮助。如果...

    struts2+jquery+ajax+servlet

    Struts2、jQuery、Ajax和Servlet是Web开发中常见的技术栈,它们共同构建了动态、交互式的用户界面。本文将详细解析这些技术及其在给定示例中的应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...

    ajax+servlet/struts/json

    在这个例子中,你将看到如何使用Ajax发送请求到后台的Servlet或Struts控制器,并接收返回的数据。这通常涉及到创建XMLHttpRequest实例,设置请求方法、URL、数据以及回调函数来处理响应。描述中提到的"最后的例子...

    jsp+ajax+servlet+jdbc案例

    通过这个案例,开发者可以深入理解JSP、AJAX、Servlet和JDBC之间的协同工作原理,为后续学习更高级的Web框架如Spring MVC或Struts打下坚实基础。同时,这也是一个实际操作的练习,帮助开发者提高动手能力和问题解决...

    Struts AJAX文件上传

    Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX(Asynchronous JavaScript and XML)的优势,提供了一种用户友好的、无刷新的文件上传方式。这种方式可以显著提升...

    ajax例子servlet传值

    ### AJAX与Servlet交互详解 #### 一、引言 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于实现网页的部分更新而无需重新加载整个页面,从而提升了用户体验。本文将通过一个具体的例子来...

    关于struts和servlet同时用

    在实际应用中,Servlet常常与Struts一起使用,Servlet作为基础处理HTTP请求,Struts则负责更高的业务逻辑抽象和控制流管理。例如,Servlet可以用来处理上传文件或解析复杂的HTTP请求,而Struts框架则负责处理用户...

    struts-ajax.zip_ajax struts _javascript_struts ajax_struts-aj_ti

    在这个名为"struts-ajax.zip"的压缩包中,我们可以推测它包含了使用Struts框架与Ajax技术(通过JavaScript实现)进行开发的一些实例和资源。 Struts是一个开源的Java MVC(Model-View-Controller)框架,主要用于...

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

    public class AjaxServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/...

    Java.Web开发 JSP Servlet. Struts Spring Hibernate Ajax

    Java.Web开发 JSP Servlet. Struts Spring Hibernate Ajax

    java web 实战宝典_JSP+Servlet+Struts_2+Hibernate+Spring+Ajax

    根据标题、描述和部分内容,知识点覆盖范围主要集中在Java Web开发领域,并且包括了JSP、Servlet、Ajax以及SSH框架(Struts 2、Spring、Hibernate)的技术整合和实战案例分析。 JSP(Java Server Pages)是一种动态...

    extjs最全项目 js struts Ajax

    Struts是Java平台上的一个MVC框架,用于构建基于J2EE的Web应用程序,而Ajax(Asynchronous JavaScript and XML)则是一种创建动态网页的技术,通过在后台与服务器进行少量数据交换,使得网页实现异步更新。...

    零基础学Java[1].Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).rar

    本资源"零基础学Java[1].Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).rar"提供了一套完整的入门教材,涵盖了从基础到进阶的关键知识点。 首先,我们从基础开始,讲解【HTML相关技术基础知识】。HTML...

    Java.Web开发JSP.Servlet.Struts.Spring.Hibernate.Ajax.rar

    本压缩包"Java.Web开发JSP Servlet Struts Spring Hibernate Ajax.rar"显然包含了几个关键的Java Web开发技术,包括JSP(JavaServer Pages)、Servlet、Struts、Spring、Hibernate以及Ajax。以下是对这些技术的详细...

    ajax+servlet应用示例

    本人自己动手做的一个ajax程序,仅供参考,希望对学习得朋友有所帮助,在程序里面每一行代码都做了详细的解释,应用中没有是用Struts框架,直接用servlet做的,本人会在后续版本中采用Struts+hibernate,为初学者...

    Struts ajax

    Struts AJAX 是一个基于 Apache Struts 框架与 AJAX 技术的示例项目,展示了如何在 Struts 应用程序中实现异步数据交换和页面更新。在这个项目中,我们可以看到各种文件,包括 HTML、JSP、JSTL 和 XSL 文件,它们...

Global site tag (gtag.js) - Google Analytics