熟悉项目业务需求

  1. 登录
  2. 登录之后显示什么
  3. 之后会进入那些页面
  4. 增删改查
  5. 数据库关联,超链接等

数据库设计

抽取实体类:eg.用户登录,用户基本信息,回复,用户日志等等

实体类与实体类之间的联系:1:1 or  1:n

等等

数据时间类型和String之间的转换

导入的包名一般都为:java.util.Date

数据类型的转换:String->Date的转换

String date1="2022-7-24 5:10:30";SimpleDateFormate  sdf=new SimpleDateformat("yyyy-MM-dd HH-mm-ss");Date date2=sdf.parse(sdf);

数据类型的转换:Date->String的转换

Date  date1=new Date();SimpleDateformat sdf=new SimpleDateformat();String  date2=sdf.format(date1)

JAVAwe项目实现的一般思路

  1. 首先导入myssm包
  2. 新建配置文件applicationContext.xml 这个名字随意,只要和web.xml中配置的名字一致就行
  3. 配置web.xml文件
配置前缀
<context-param><param-name>view-prefix</param-name><param-value>/</param-value>
</context-param>‘
配置后缀
<context-param><param-name>view-suffix</param-name><param-value>.html</param-value>
/context-param>
配置IOC读取对应的xm文件
<context-param><param-name>contextConfigLocation</param-name><param-value>applicationContext.xml</param-value>
</context-param>

配置xml文件的目的是:加载IOC容器配置文件,并且在内部转发的时候加上/和html

开发具体的业务模块

  1. html页面
  2. POJO类
  3. DAO接口和实现类
  4. Service接口和实现类
  5. Controller控制组件

注意事项

  • 如果有html页面不能直接访问,需要经过pageController,不然不会有thymeleaf的渲染,这会导致数据有一定的偏差。
  • 在applicationContext.xml中配置 DAO、Service、Controller,以及三者之间的依赖关系
  • DAO实现类中 , 继承BaseDAO,然后实现具体的接口, 需要注意。泛型的不同会对数据的存储和处理的不同。
  • Service是业务控制类,Service业务层不单单可以调用DAO组件还可以调用Service的功能,不必考虑一Service里面复杂的调用
  • Controller类的编写规则
     applicationContext.xml中配置Controller
              <bean id="user" class="com.atguigu.qqzone.controllers.UserController>
              那么,用户在前端发请求时,对应的servletpath就是  /user.do   , 其中的“user”就是对应此处的bean的id值
              在Controller中设计的方法名需要和operate的值一致,operate时调用的Controller层中的方法,来对数据的处理。
这里action方法就是user.do这就会访问userController,然后再调用operate对应的值login方法
<form th:action="@{/user.do}" method="post">    <input type="hidden" name="operate" value="login"/></form>
  • 在表单中,组件的name属性和Controller中方法的参数名一致
          表单:<input type="text" name="loginId" />

将表单中的参数传入对应的方法中去

public String login(String loginId , String pwd , HttpSession session)

  • DispatcherServlet中步骤大致分为:

1. 从application作用域获取IOC容器
          2. 解析servletPath , 在IOC容器中寻找对应的Controller组件
          3. 准备operate指定的方法所要求的参数
          4. 调用operate指定的方法
          5. 接收到执行operate指定的方法的返回值,对返回值进行处理 - 视图处理

  • 为什么DispatcherServlet能够从application作用域获取到IOC容器?

ContextLoaderListener在容器启动时会执行初始化任务,而它的操作就是:
         1. 解析IOC的配置文件,创建一个一个的组件,并完成组件之间依赖关系的注入
         2. 将IOC容器保存到application作用域

一个web项目就此完成

结束语:后面会有更多更好的框架来对项目的进一步的优化,可以使得我们的界面更加的好更加的棒,更高内聚低耦合。

Web项目实现一般思路相关推荐

  1. web项目中js加载慢问题解决思路

    web项目中js加载慢问题解决思路 参考文章: (1)web项目中js加载慢问题解决思路 (2)https://www.cnblogs.com/cslj2013/p/8491786.html 备忘一下 ...

  2. web项目答辩总结_web实战项目遇到问题总结探索

    最近在写一个django的web项目,后端代码基本都已经写好了,主要是前端,以前学过一段前端,只是对一些基本的方法知道,但还有很多东西不熟练,问题是在遇到表单数据时候,如何对参数整体打包发送后端接口, ...

  3. 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)

    Wednesday, 23 JUNE 近来一直在研究关于如何在我的WebGIS项目中实现对空间数据(已发布在GeoServer上)进行权限管理的问题.虽然到目前为止没能找到一个完美的解决方案,但通过这 ...

  4. Weblogic部署web项目获取项目根目录为null

    写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...

  5. 详解log4j2(下) - Log4j2在WEB项目中配置

    官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① log4j-api-2.4.1.jar ② log4j- ...

  6. 关于部署传统的Dynamic Web项目

    现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...

  7. java web 颜色灰色_网站动态变灰解决方案(java web项目网站)

    每逢5.12和哀悼日,各大门户网站都会把自己网站变灰色,以此来表示对逝者的哀悼. 下面是一个java web项目网站变化的设计方案. 思路是这样的,首先由个页面来操作网站是变灰还是不变灰, 然后把选择 ...

  8. java 做项目踩坑,web项目踩坑过程

    sql函数设计: 一开始本来是直接用Java的jdbc直接传输操作语句的.但后来学了存储过程发现存储过程可以提高不少的效率.就重构了自己对数据库的操作代码.包括:开启,查找,修改,关闭. 开启:直接使 ...

  9. java web 请求跟踪_java web 项目跟踪用户操作

    java web项目,就几个JSP页面,本人怎么跟踪用户什么时间点击了那个jsp页面,什么时候登录的,什么时候关闭jsp页面的,把跟踪用户的操作(基本上就上面这三个操作),存入数据库里面,什么时候干什 ...

最新文章

  1. 第3关:4位快速加法器设计
  2. 哪些业务流程和RPA更匹配?
  3. 苹果如何不显示云服务器照片,苹果云端照片怎么恢复到相册-互盾苹果恢复精灵...
  4. 如何从零规划一个产品?
  5. java按位取反“~“运算符,负数右移
  6. HBase实战:记一次Safepoint导致长时间STW的踩坑之旅
  7. 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
  8. JS五种运算符,运算符的优先级
  9. 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介
  10. 如何直接打开AutoCAD格式的DXF文件
  11. 微信小程序仿陶票票课程设计
  12. R安装时出现辑程包不存在,解决方法
  13. LSTM长短期记忆网络对车辆尾气排放进行预测
  14. iOS日常开发之frame和bounds的不同
  15. 二、8【FPGA】Verilog中锁存器(Latch)原理、危害及避免
  16. 又拍云叶靖:基于Docker的云处理服务平台
  17. MySQL DBA的KPI考核指标有哪些
  18. 红米note7主板电路图_红米Note7Pro手机主板故障案例解析
  19. 计算机网络管理技术参考文献,报文网络论文,关于计算机网络管理相关技术相关参考文献资料-免费论文范文...
  20. 考研计算机C语言算法视频,计算机算法考研视频哪个好

热门文章

  1. 越想越难,越做越简单,电磁兼容性设计
  2. JAVA生成二维码-zxing
  3. 彼得·蒂尔:别浪费你的无知,去做那些没人做过的事
  4. TensorFlowJS 基础 -前端人工智能入门必看系列
  5. 简单视频播放AVPlayer和AVPlayerViewController
  6. dbms支持哪几种数据模型_DBMS数据库模型
  7. 史玉柱高调杀回IT产业 2亿元豪赌网游征途
  8. 怎么卸载jdk 才能卸载干净(怎么卸载jdk)
  9. 什么情况下我们需要进行硬盘对拷?硬盘对拷怎么操作?
  10. 未能加载文件或程序集“Microsoft.AI.Web”