这里写目录标题
软件的生命周期
- 业务人员提需求
- 产品经理产出产品(线框图,原型图)
- 系统设计(概设,详设)
- 开发
- 测试
- 部署
所以我们先解决我们的需求
业务:在线聊天室
项目背景
消息推送实现方案
需求分析
(一)注册用户
先可以点击注册按钮来注册新的用户
(二)登录账号
登录后左边显示登录后的昵称,右边有不同房间的聊天室
(三)频道中收发消息
对应消息频道,用户间可以互相收发消息
不同的消息频道,不能收发
(四)新登录用户收到消息
新登录的用户,点开频道后
会收到退出登录后的所有消息
开发web项目的流程
- 开发:基于 Maven 来进行开发
- 打包:用 Maven 中的 package 命令来进行打包
- 部署:复制 war 包到 tomcat 中的 webapps 中
- 运行:运行 tomcat ,此时会自动结痂 webapps 目录下的 war 文件(解压文件夹的名称就是 war 文件名),其中的每个文件夹就是一个 web 项目(应用上下文路径)
- 验证
前提准备
(一)配置servlet项目
具体可以看我这篇文章:https://blog.csdn.net/starry1441/article/details/115359161
(二)idea 中配置 tomcat
具体可以看我的这篇文章:https://blog.csdn.net/starry1441/article/details/115415285
注意事项:应用上下文路径,在前端已经写死了,需要保持一致为 java_chatroom
(三)配置pom文件
<dependencies>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<!-- servlet 版本和 tomcat 版本有对应关系,切记 -->
<version>3.1.0</version>
<!-- 这个意思是我们只在开发阶段需要这个依赖,部署到 tomcat 上时就不需要了 -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
</dependencies>