网上商城
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 {