1.后台返回text类型的数据

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
//获取用户的输入
var name= $("#name").val();
$.ajax({
url:"AjaxServlet", /*对应的是web.xml文件中url 也是我们的请求路径 */
type:"post", /* 请求的方式 */
data:"name="+name, /* 请求中携带的数据 */
dataType:"text", /* 后台返回的数据类型 */
beforeSend:function(){
alert("请求正在处理。。。。。。");
},
success:function(data){
alert(data); }
});
});
});
</script> </head> <body> 用户名:<input type="text" id="name">
<input type="button" id="btn" value="请求ajax"> </body>
</html>

前台jsp页面

public class AjaxServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入了ajax..........");
response.setHeader("Content-type", "text/html;charset=utf-8"); // 01.获取ajax请求过来的name值
String name = request.getParameter("name");
response.getWriter().print(name); } }

创建对应的servlet

2.返回单个对象

public class Student {
private String name;
private String pwd; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPwd() {
return pwd;
} public void setPwd(String pwd) {
this.pwd = pwd;
} public Student(String name, String pwd) {
super();
this.name = name;
this.pwd = pwd;
} public Student() {
super();
} @Override
public String toString() {
return "Student [name=" + name + ", pwd=" + pwd + "]";
} }

Student实体类

前台jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
//获取用户的输入
var name= $("#name").val();
$.ajax({
url:"AjaxServlet", /*对应的是web.xml文件中url 也是我们的请求路径 */
type:"post", /* 请求的方式 */
data:"name="+name, /* 请求中携带的数据 */
dataType:"json", /* 后台返回的数据类型 */
beforeSend:function(){
alert("请求正在处理。。。。。。");
},
success:function(data){
/* 返回集合 */ //返回单个对象 alert(data);
$("#myDiv").append("姓名:"+data.name);
$("#myDiv").append("密码:"+data.pwd);
}
});
});
});
</script> </head> <body> 用户名:<input type="text" id="name">
<input type="button" id="btn" value="请求ajax">
<div id="myDiv"></div> </body>
</html>

public class AjaxServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入了ajax..........");
response.setHeader("Content-type", "text/html;charset=utf-8"); // 创建一个Student对象 返回给前台
Student student = new Student("admin1", "123456");
// 需要把student对象转换成json格式
System.out.println("转换前==》" + student);
Gson gson = new Gson();
// json 就是转换之后的 student对象 {"name":"admin","pwd":"123456"}
String json = gson.toJson(student);
System.out.println("转换后==" + json);
response.getWriter().print(json); } }

对应的servlet

3.返回对象的集合

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
//获取用户的输入
var name= $("#name").val();
$.ajax({
url:"AjaxServlet", /*对应的是web.xml文件中url 也是我们的请求路径 */
type:"post", /* 请求的方式 */
data:"name="+name, /* 请求中携带的数据 */
dataType:"json", /* 后台返回的数据类型 */
beforeSend:function(){
alert("请求正在处理。。。。。。");
},
success:function(data){
/* 返回集合 */
$("#myDiv").append("<span>姓名</span>&nbsp;&nbsp;&nbsp;");
$("#myDiv").append("<span>密码</span></br>");
//遍历传递过来的json数组
$(data).each(function(i){
$("#myDiv").append("<span>"+data[i].name+"</span>&nbsp;&nbsp;&nbsp;");
$("#myDiv").append("<span>"+data[i].pwd+"</span></br>");
}) }
});
});
});
</script> </head> <body> 用户名:<input type="text" id="name">
<input type="button" id="btn" value="请求ajax">
<div id="myDiv"></div> </body>
</html>

前台jsp页面

public class AjaxServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入了ajax..........");
response.setHeader("Content-type", "text/html;charset=utf-8"); Student student1 = new Student("admin1", "123456");
Student student2 = new Student("admin2", "123456");
Student student3 = new Student("admin3", "123456");
Student student4 = new Student("admin4", "123456"); ArrayList<Student> list = new ArrayList<Student>();
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
System.out.println("转换前==》" + list);
Gson gson = new Gson();
String json = gson.toJson(list);
System.out.println(json);
response.getWriter().print(json); } }

对应的servlet

ajax与Servlet的更多相关文章

  1. ajax和servlet交互,表单日历插件,表单验证,form.js

    我的index.jsp <body> <a>点我获取数据</a> <table border=1px> <tr> <td>ID& ...

  2. ajax和servlet交互

    网上有比较多的教程来将如何实现ajax与servlet的交互了,这里和这里的教程可以参考参考,在此处我只简单说明一下,并记录一下我这次遇到的问题. 整个思路是:写个js函数,在里面使用XHR(ajax ...

  3. Jquery+ajax+json+servlet原理和Demo

    Jquery+ajax+json+servlet原理和Demo 大致过程: 用户时间点击,触发js,设置$.ajax,开始请求.服务器响应,获取ajax传递的值,然后处理.以JSON格式返回给ajax ...

  4. Ajax+Jsp+servlet+json技术的使用

    Ajax+Jsp+servlet+json技术的使用 在使用json的时候,记得必须导入如下几个.jar包,最好是手动复制.jar包只lib路径下,否则可能出现异常. commons-beanutil ...

  5. servlet向ajax传递list数据类型,ajax向servlet传递array数据类型

    因工作需要, 1,后台向前台传递一个list 2,前台向后台传递类似于list的结构,但是因为javascript不支持list类型,所以只能使用二维数组代替 后台运行后的截图:           ...

  6. ajax调用servlet

    1.利用myecilpse建立一个web项目 2.导入需要的包: commons-beanutils.jar commons-collections-3.1.jar       commons-lan ...

  7. 服务器端AJAX的Servlet代码实现

    package com.itheima.servlet; import java.io.IOException; import javax.servlet.ServletException; impo ...

  8. Ajax(6) Ajax向servlet请求数据库操作 并显示到当前页面 这个未经测试

    假设:1.你的页面在Web-Root下,内容为: <div id="showMsg"></div><input type="text&quo ...

  9. ajax与servlet交互(通过JSON),JAVA的arraylist传到前端的方法

    所实现的效果:首先从前端(ajax)传参数给servlet,然后servlet经过处理,把arraylist类型的参数以JSON字符串的形式返回给前端(ajax),然后前端经过解析,把JSON字符串解 ...

随机推荐

  1. (转)Android Studio系列教程一下载与安装 背景Android Studio VS Eclipse准备下载创建HelloWorld项目

    背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Goo ...

  2. Fedora21源配置与显卡安装

    1. 安装fastestmirror Fedora的源速度很慢,令人很烦恼,不过它有个自动选最快的源包. yum install yum-fastestmirror yum-presto 它会判断你的 ...

  3. underscorejs-each学习

    2.1 each 2.1.1 语法: _.each(list, iteratee, [context]) 2.1.2 说明: 依次对集合的所有元素进行某种操作,原样返回list.接收3个参数,list ...

  4. JS判断鼠标从哪个方向进入DIV容器

    写的不够高大上 , 不要介意哦... Js: //进去 $(".flash").bind("mouseenter",function(e){ /** the w ...

  5. php 数组 类对象 值传递 引用传递 区别

    一般的数据类型(int, float, bool)不做这方面的解说了 这里详细介绍一下数组和的类的对象作为参数进行值传递的区别 数组值传递 实例代码: <?php function main() ...

  6. win10 64bit 安装scrapy-1.1

    0.环境说明 win10 64bit,电脑也是64bit的处理器,电脑装有vs2010 64bit,但是为了保险起见,只试验了32位的安装,等有时间了,再试下64位的安装.如无特殊说明,一切操作都是在 ...

  7. Linux文本操作三大利器总结:sed、awk、grep

    grep:(去除一行中需要的信息,同类与cut) grep全称是Global Regular Expression Print #常规用法 # grep -n root /etc/passwd :ro ...

  8. Python——学习笔记

    list  ['','',''] 类似PHP数组   可以修改 tuple  ('','')  不能修改其中的元素 切片 list[int 开始: int 结束: int 间隔=1] 字符串也可以看成 ...

  9. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  10. iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)

    iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)   使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: ...