网上商城 重难点

本文主要探讨网上商城的技术实现,包括DbUtils简化JDBC操作、BaseServlet的抽取以处理多个请求,以及邮箱验证的实现。BaseServlet通过继承HttpServlet,利用反射机制调用不同请求的方法。此外,还介绍了使用Redis进行数据缓存和Gson转换数据,以及使用DOM4J解析XML文件,提高系统的解耦性。同时,提到了权限拦截Filter的定义及其在web.xml中的配置。
摘要由CSDN通过智能技术生成

网上商城

1. DbUtils是一个为简化JDBC操作的小类库

org.apache.commons.dbutils.handlers ,org.apache.commons.dbutils,

org.apache.commons.dbutils.wrappers 

使用步骤:

1.加载JDBC驱动程序类,并用DriverManager来得到一个数据库连接conn
2.实例化 QueryRunner,得到实例化对象qRunner
3. qRunner.update()方法,执行增改删的sql命令,
    qRunner.query()方法,得到结果集。

2. BaseServlet的抽取

普通的Servlet一个Servlet只能处理一个请求,可以仿Struts1中的DispatchAction让一个Servlet处理多个请求。

做法是:

让普通处理请求的Servlet继承父类的BaseServlet,然后让父类单独继承HttpServlet.然后再在处理请求的servlet中定义自己的处理请求的方法,但方法中必须包HttpServletRequest,

HttpServletResponse对象参数(方法名可以随意)。

 

servlet的生命周期是:

调用构造方法实例化该servlet----------调用有参的init()方法(会默认调用无参的init()方法)---------将请求交给无Http协议的service()方法----------将请求交给有Http协议的service()方法--------根据提交数据的方式的不同(post/get等)调用相应的doGet()/doPost()方法---------当重新加载此servlet实例(当servlet中的内容发生改变时,就会自动加载重新部署)时调用destory()方法  或者重新发生请求时又会重新调用对应的doGet()/doPost()方法。

根据servlet的生命周期,加上继承的关系,处理请求的serlvet会先调用父类BaseServlet的init()方法,再调用service()方法。

然后我们只需重写父类BaseServlet中的service()方法,在service方法中根据参数名的不同利用反射机制调用请求servlet中的不同方法。

 

 

3. 邮箱验证

 

 

4导航栏

采用异步读取数据(使用gson将集合转换json数据),并使用redis缓存技术实现

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

 jedis-2.7.0.jar

导入redis.properties

redis.maxIdle=30

redis.minIdle=10

redis.maxTotal=100

redis.url=localhost

redis.port=6379

导入JedisPoolUtils类

public class JedisPoolUtils {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值