Javaweb网上商城项目实战(14)实现首页的分类查询-版本2

原理分析

上一小节我们完成的版本1存在一个问题,当访问到首页能看到全部信息,可是访问登录页面就看不到分类信息了。

接下来我们将解决这个问题,实现首页分类查询的版本2.

具体实现

1、当页面加载完毕之后,向服务端发起Ajax请求,服务端经过处理,将所有分类信息以JSON格式的数据返回,客户端获取到返回的所有分类,绑定在页面的显示分类区域页面底部

%MINIFYHTML1fefeccbd5351f5269bc218efbb563c82%

在header.jsp中做如下修改

2、CategoryServlet–>getAllCats做如下几件事情:

调用业务层获取全部分类

将全部分类转换为JSON格式的数据

将全部分类信息响应到客户端

package com.geekerstar.store.web.servlet;

import java.util.List;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.geekerstar.store.web.base.BaseServlet;

import com.geekerstar.store.domain.Category;
import com.geekerstar.store.service.CategoryService;
import com.geekerstar.store.service.serviceImp.CategoryServiceImp;
import net.sf.json.JSONArray;

@WebServlet("/CategoryServlet")
public class CategoryServlet extends BaseServlet {
	// findAllCats
	public String findAllCats(HttpServletRequest req, HttpServletResponse resp) throws Exception {
		// 调用业务层获取全部分类
		CategoryService CategoryService = new CategoryServiceImp();
		List list = CategoryService.getAllCats();
		// 将全部分类转换为JSON格式的数据
		String jsonStr = JSONArray.fromObject(list).toString();
		System.out.println(jsonStr);
		// 将全部分类信息响应到客户端
		// 告诉浏览器本次响应的是JSON格式的字符串
		resp.setContentType("application/json;charset=utf-8");
		resp.getWriter().print(jsonStr);
		return null;
	}
}

运行程序,这样在每个界面都能够输出分类信息了

不过这种版本仍然有一个弊端:如果用户频繁的访问包含分类信息的页面,每次都要去DB中取获取分类信息,影响性能。

源码下载

[dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

导航目录

[dm href=’https://www.jikewenku.com/project/2786.html’]查看导航[/dm]

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » Javaweb网上商城项目实战(14)实现首页的分类查询-版本2

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多