使用 servlet 响应ajax请求,返回 json 数据

版权声明:借鉴时注明出处就行 https://blog.csdn.net/weixin_42144379/article/details/85477945

前提:会写一个 servlet ,参考文章 写一个 servlet 的方法

1.导入对象转 json 的jar 包

我这里使用的时maven 导包

<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.8.3</version>
	</dependency>

不会使用maven导包的话自行百度,下载 jackson 的包导入项目

2.参考代码,有详细注释 就不废话了

/**
 * @author jacktu
 * Creaet Date 2018-03-16
 */
public class HelloServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//设置content-type消息头,告诉浏览器, 服务器返回的数据类型。
		
		//我这里是返回 json 类型
		response.setContentType("application/json;charset=utf-8");
		
		//通过response对象获得输出流。
		PrintWriter out = response.getWriter();
		
		//构建 对象 转 json 类
		ObjectMapper mapper = new ObjectMapper();
		/**
		 * 这里是我返回给前端的对象,其他类型也可以
		 */
		Map<String, List<String>> list = new HashMap<String, List<String>>();
		//把 对象转为 json 字符串
		String json = mapper.writeValueAsString(list);
		
		//把数据写到response对象上。 
		// 注: Servlet容器会将response对象上存放的 数据取出来
		//,打一个包(响应数据包), 然后发送给浏览器。
		out.println(json);
		
		//如果没有调用out.close,则容器会自动 关闭out。
		out.close();
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42144379/article/details/85477945