页面中通过ajax请求连接服务器的Servlet

本文介绍了如何通过Ajax请求连接服务器的Servlet进行数据交互。首先配置环境,导入JSON处理库,然后在webapp目录下创建jQuery文件和Servlet。接着在ajax.jsp页面设置按钮事件,触发Ajax请求到AjaxServlet。在Servlet中创建User类,存储数据并转化为JSON格式返回给前端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:首先是把环境配置好
准备工作:导入对json处理的jar包,在pom.xml中添加依赖。

dependency>
    	<!-- 单元测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<!-- 处理json -->
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-core-asl</artifactId>
			<version>1.9.13</version>
		</dependency>

在src/main/java目录下创建ajax文件,以及User实例类。
①在webapp下新建jquery3.4.1.js文件
在这里插入图片描述②在Servlet中的doPost方法中引入jqusry文件。

二:在webapp中建立ajax.jsp页面,按钮绑定单击事件,通过ajax请求,部署在服务器中的AjaxServlet对象,如下:
在这里插入图片描述ajax页面详解
在这里插入图片描述
三 , ①因为还未连接服务器的原因,我们需要在我们的项目中新建一个User类,以存储数据,
②然后再在AjaxServlet对象中创建list集合存储User对象。当然还可以添加map集合通过键值对来改变一下它的格式。
③需要注意的一点是,在我们将数据传入页面中的时候,我们就需要将数据改成json格式,这里可以借助框架JsonUtils(不会用的小伙伴可以尝试一下,博主强烈推荐),其中objectToJson方法可以帮我们将数据转换为json格式。
eg:String strjson=JsonUtils.objectToJson(map);
④最后我们通过response.getWriter().priint(strjson);方法先获取一个输出流,再通过输出流的.print()方法将其传给页面。
在这里插入图片描述上述用到的重要方法记忆:

1.解决输入中文代码混乱问题:
request.setCharacterEncoding("UTF-8");
解决输出中文代码混乱问题:
response.setContentType("text/html;charset=utf-8");
2.使用第三方工具类将  map集合转换成json格式的字符串
String str=JsonUtils.objecToJson(map);
3.使用字符流在不跳转页面的情况下,将字符串发送给页面
response.getWriter().print(str);
4.ajax请求的模板方法:
//第一个参数,请求的servlet的地址。
//第二个参数,是一个对象,里面的内容是键值对格式是  {"key":value}
//第三个参数,方法输出依次是服务器返回的数据,数据类型,以及数据中心的第一个key所对应的value的名字
//第四个参数,传回来的数据时何种格式。
	$.post(
	"AjaxServlet",
	{
		//Json.stringify();	
		//字符串转化为json
				"data" : JSON.stringify({
					"userId" : 1001,
					"userName" : "qiufen",
					"userPwd" : "123456"
				})}	, 
				function(data) {
					console.info(data);
					console.info(typeof data);
					console.info(data.list[0].userName);
				
					},
					"json");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值