JavaWEB十六:web项目的整体构建

bookShop项目

一、需求分析
  1. 对于一个项目,最最重要的是需求分析,软件设计师教程中也用了三个章节来介绍项目的设计与分析,这个需要经手不同项目而逐渐积累经验。
  2. 对于该项目,只是属于学习web阶段的最后一个项目,还未能达到真正工程项目从无到有的项目开发的实战性,但是可以在实现各个功能版块的过程中,通过分析各个功能版块的业务逻辑,来逐渐体会需求分析。
二、数据库设计
  1. 数据库是给定好的,通过数据库中的数据表可进行一些分析

  2. 实体及属性分析

    实体名称属性
    图书Book书名、作者、价格、销量、库存、封面、状态
    用户User用户名、密码、邮箱
    订单Order订单号、日期、金额、数量、用户、订单状态
    订单详情OrderItem图书、数量、订单号
    购物车项CartItem图书、数量、用户
三、E-R图

1.在这里插入图片描述

四、在IDEA中新建一个项目
  1. 导入所需要的jar包

  2. 导入前端文件

  3. 配置web.xml文件

    	<!-- 前置路径值是基于根路径为“/web”而写的,后面要装载的所有html文件都应该在该路径下 -->
    	<param-name>view-prefix</param-name>
    	<param-value>/WEB-INF/pages/</param-value>
    
五、pojo设计
  1. 为数据库中的每个表创建一个对应的pojo类
  2. 在pojo类的属性中,会有自建类的引用类型,为了避免在BaseDAO解析的过程中报空指针异常,故建议每个类都有一个带id的构造器
  3. 属性名一定要和对应的字段名的名称完全一样
六、首页面
  1. 在tomcat中设置URL,通过pageController装在首页面对应的html文件

    在这里插入图片描述

  2. 在首页面对应的html文件上进行thymeleaf渲染

    <!--在html头上添加引用-->
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    
  3. 在跳转的位置做好传参配置

    <!-- 请求表单 -->
    <form th:action="@{/xxx.do}" method="post">
        <input name="xxx"  value="xxx"/>
    </form>
    <!-- 普通跳转 -->
    <a th:href="@{/xxx.do?operate=xxx&id=xxx}"
    
七、对应请求,完成相应的业务功能
  1. controller

    提供已有的参数,并创建service层实现业务时所需的参数

  2. dao

    根据业务所需,提供相应数据表的增删改查操作,一般将其方法头的参数设置为对应的pojo类型即可

  3. service

    实现主要的业务逻辑,并创建DAO执行所需的参数的实体,故代码的设计要围绕业务逻辑和为DAO传参而展开。

八、配置applicationContext.xml内的参数
九、controller中类的方法
  1. 这些方法都是从html/js页面或其它controller的方法跳转过来的,并且最终也会跳转到html页面或其它controller上。
  2. 在方法内要将需要传递出去的参数保存在作用域中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值