super();
this.cid = cid;
this.cname = cname;
}
@Override
public String toString() {
return “Category [cid=” + cid + “, cname=” + cname + “]”;
}
}
3、创建IndexServlet
调用业务层的一个功能,获取全部的分类信息,返回集合
将返回的集合放入request内
转发到真实的首页
public class IndexServlet extends BaseServlet {
@Override
public String execute(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
// 调用业务层的一个功能,获取全部的分类信息,返回集合
CategoryService categoryService = new CategoryServiceImpl();
List list = categoryService.getAllCats();
// 将返回的集合放入request内
request.setAttribute(“allCats”, list);
// 转发到真实的首页
return “/jsp/index.jsp”;
}
}
分别创建CategoryServlet,CategoryService,CategoryServiceImpl,CategoryDao,CategoryDaoImpl
public interface CategoryService {
List getAllCats() throws Exception;
}
public class CategoryServiceImpl implements CategoryService {
@Override
public List getAllCats() throws Exception {
CategoryDao categoryDao = new CategoryDaoImpl();
return categoryDao.getAllCats();
}
}
import cn.itzheng.store.domain.Category;
public interface CategoryDao {
List getAllCats() throws Exception;
}
public class CategoryDaoImpl implements CategoryDao {
@Override
public List getAllCats() throws Exception {
String sql = “select * from category”;
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
return qr.query(sql, new BeanListHandler(Category.class));
}
}
在header.jsp页面当中获取IndexServlet发送的List集合
<c:forEach items=“${allCats}” var=“c”>
- ${c.cname }
</c:forEach>
弊端:当访问首页是可以看到全部的分类信息,但是如果访问其它登录页面,看不到分类信息
JSON 相关知识
https://www.runoob.com/json/json-tutorial.html
首页分类版本二(使用json)
步骤实现:
1、/jsp/header.jsp
在页面底部
$.post(url,{},function(data){},“json”){}
2、在CategoryServlet当中创建findAllCats方法
调用业务层的获取全部分类
将全部分类转换为JSON格式的数据
导入json相关的架包(web下的lib当中)
将全部的分类信息响应到客户端
public class CategoryServlet extends BaseServlet {
// findAllCats
public String findAllCats(HttpServletRequest req, HttpServletResponse resp) throws Exception {
// 调用业务层的获取全部分类
CategoryService categoryService = new CategoryServiceImpl();
List list = categoryService.getAllCats();
// 将全部分类的List数据转换为JSON格式的数据(转换之前要引入json相关的架包)
String jsonStr = JSONArray.fromObject(list).toString();
System.out.println(jsonStr);
// 将全部的分类信息响应到客户端
//告诉浏览器本次响应的数据是JSON格式的字符串
resp.setContentType(“application/json;charset=utf-8”);
resp.getWriter().print(jsonStr);//将json格式的字符串响应到客户端
return null;
}
}
3、调试
观察本次的请求和响应网络传输的情况,
目的:排除两端错误
[{“cid”:“1”,“cname”:“手机数码”},
{“cid”:“172934bd636d485c98fd2d3d9cccd409”,“cname”:“运动户外”},
{“cid”:“2”,“cname”:“电脑办公”},
{“cid”:“3”,“cname”:“家具家居”},
{“cid”:“4”,“cname”:“鞋靴箱包”},
{“cid”:“5”,“cname”:“图书音像”},
{“cid”:“59f56ba6ccb84cb591c66298766b83b5”,“cname”:“aaaa”},
{“cid”:“6”,“cname”:“母婴孕婴”},
{“cid”:“afdba41a139b4320a74904485bdb7719”,“cname”:“汽车用品”}]
版本二的弊端:如果用户频繁的访问包含分类信息的页面,每次都要去DB中去获取分类信息,影响性能。
首页分类版本三(使用Redis)
原理分析
步骤实现:
1、导入Redis,jar包
2、及其工具类(修改参数127.0.01)
public class JedisUtils {
//创建连接池
private static JedisPoolConfig config;
private static JedisPool pool;
static{
config=new JedisPoolConfig();
config.setMaxTotal(30);
config.setMaxIdle(2);
pool=new JedisPool(config, “127.0.0.1”, 6379);//链接本地的redis
}
//获取连接的方法
public static Jedis getJedis(){
return pool.getResource();
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
998)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
[外链图片转存中…(img-ZMjhqwq8-1713497389998)]
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。