estore书城项目用到的技术

    科技2025-11-17  3

    浏览器: 用户从jsp页面发送请求 进入三层架构

    WEB层:用servlet拦截jsp发送的请求, servlet获取请求参数并封装成实体类对象, 创建service层对象,

    Service层:

    将实体类对象传入service层进行业务逻辑判断。 service层调用dao层提供的真实数据判断。

    DAO层:

    dao层【开始执行JDBC五个铁定步骤或者使用MyBatis】从数据库获取真实数据。 然后将结果集封装并响应给service。

    重点关注session


    项目中使用到了哪些技术:

    **1、**MD5加密:两处

    ① 注册在CustomerServiceImpl中用getPwd()取到密码,使用MD5.getMD5Str()进行加密结果返回给setPwd()。

    ②登录用户输入的密码用MD5方法加密后与数据库中密文对比的业务逻辑判断。

    2、MyBatis框架:

    修改dao层,将原先dao层的实现类全部替换成***Mapper.xml存放在resources的文件目录下。

    原先的JDBC:可配置性低,可维护性差(SQL命令以Java代码形式定义),

    使用MyBatis:SQL命令封装在XML映射文件中,减少了很多冗余代码。

    ​ 自动解析结果集并封装Java对象。

    ​ 提供Spring框架集成支持。

    3、WEB层三大组件:

    **1、 servlet :**生命周期 init 、service、doget,dopost、destroy

    作用域:session 数据存储在服务器的内存中【提高安全性,高速存取】,

    2、 filter :

    字节编码的过滤,确定用户的登录状态,防止SQL注入【其中的SQLFilter如果用户传来’ 字符会用JS脚本window.history.back()在原地】

    3、listener:

    监听着书籍的销量,销量前三的书籍会被展示在首页。

    4、支付宝对接:

    可以用手机中的支付宝(沙箱版)扫码付款,与项目中的支付环节进行互动。

    5、JSTL标签库&EL表达式:

    在JSP页面中例如遍历一个类型的图书使用c:forEach标签遍历所有书籍使得代码灵活。

    <c:forEach>

    6、阿里Druid连接池:

    使用连接池技术的好处:

    1、资源重用:

    避免了频繁创建、释放连接引起的大量性能开销,在减少系统消耗的基础上,增进了系统运行环境的平稳性。

    2、更快的系统相应速度

    3、新的资源分配手段:可以通过配置文件修改参数。最大连接数量等。

    4、避免了数据库连接泄露。

    7、dom4j解析:

    待续···
    Processed: 0.009, SQL: 8