Spring boot和SSM项目对比
目录对比
springboot目录
project├─src│ ├─main│ │ ├─java│ │ │ ├─com.example.demo│ │ │ │ ├─config // 存放SpringBoot的配置类│ │ │ │ ├─controller // 存放控制器类│ │ │ │ ├─entity // 存放实体类│ │ │ │ ├─mapper // 存放Mapper接口和xml文件│ │ │ │ ├─service // 存放业务逻辑接口和实现类│ │ │ │ └─Application.java // SpringBoot启动类│ │ │ └─resources│ │ │ ├─static // 存放静态资源(css/js/img等)│ │ │ ├─templates // 存放模板页面(不是jsp)│ │ │ ├─application.yml // SpringBoot配置文件│ │ │ └─mybatis // 存放MyBatis配置和sql文件│ │ └─test // 存放测试类│ └─test└─target // 执行maven命令后生成的build目录
src/main/java:Java源代码目录
src/main/resources:资源文件目录
src/test/java:测试代码目录
src/test/resources:测试资源目录
pom.xml:Maven构建文件
SSM目录
src/main/java:Java源代码目录
controller:SpringMVC的控制器目录
dao:数据访问层目录,实现与数据库的交互
entity:实体类目录,与数据库表一一对应
service:业务逻辑层目录,实现业务逻辑的处理
utils:工具类目录,例如处理分页、日期等通用操作的类
src/main/resources:配置文件目录
mapper:MyBatis的映射文件目录,实现SQL语句的映射
spring:Spring相关的配置文件目录,包括Spring的配置文件、SpringMVC的配置文件等
db.properties:数据库连接配置文件
src/main/webapp:Web应用目录
WEB-INF:包含JSP文件的目录和Spring配置文件
static:包含静态资源的目录,如CSS、JS、图片等
index.jsp:首页文件
src/main/java:Java源代码目录
src/main/resources:资源文件目录
src/test:测试代码目录
src/main/webapp:Web应用程序的Web资源目录
pom.xml:Maven构建文件
SSM是一种传统的Java Web开发框架,它们三者分别是Spring、SpringMVC和MyBatis。
SpringBoot则是一个基于Spring框架的快速开发框架,它提供了很多基础功能的自动化配置和约定优于配置的方式来简化开发,比如自动配置数据源、自动配置Servlet容器、自动配置日志等等。
使得开发人员可以更专注于业务逻辑的实现,而不是耗费大量的时间在配置和调整上。
选择SpringBoot项目的原因有以下几点:
简化配置:SpringBoot通过自动配置,简化了项目的配置过程。开发者不需要再手动配置众多的XML文件或注解,只需要使用一些默认配置,就可以快速开发出一个可用的应用程序。
集成度高:SpringBoot提供了丰富的starter依赖,可以快速集成常用的框架和技术,如Spring、Hibernate、MyBatis、Thymeleaf等,同时也支持与其他开源项目的集成。
提高开发效率:SpringBoot通过自动配置和快速集成的特性,让开发者更加关注业务逻辑的实现,快速开发出高质量的应用程序,提高了开发效率。
易于维护:由于SpringBoot减少了配置文件和注解的复杂性,项目结构简单,代码易于维护,提高了项目的可读性和可维护性。
社区活跃:SpringBoot作为Spring官方针对开发者的需求推出的一个项目,得到了广泛的认可和支持,因此拥有一个活跃的社区,可以及时获取到问题的解决方案和新版本的更新。
Servlet
Servlet 是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术。编写 Servlet 代码需要遵循 Java 语法,一个 Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。Servlet 程序需要先编译成字节码文件(.class文件),然后再部署到服务器运行。
Servlet 是基于 Java 语言的,运行 Servlet 必然少不了 JRE 的支持,它负责解析和执行字节码文件(.class文件)。然而 JRE 只包含了 Java 虚拟机(JVM)、Java 核心类库和一些辅助性性文件,它并不支持 Servlet 规范。要想运行 Servlet 代码,还需要一种额外的部件,该部件必须支持 Servlet 规范,实现了 Servlet 接口和一些基础类,这种部件就是 Servlet容器。
一个动态页面对应一个 Servlet 类,开发一个动态页面就是编写一个 Servlet 类,当用户请求到达时,Servlet 容器会根据配置文件(web.xml)来决定调用哪个类。
Servlet 容器就是 Servlet 程序的运行环境,它主要包含以下几个功能:
- 实现 Servlet 规范定义的各种接口和类,为 Servlet 的运行提供底层支持;
- 管理用户编写的 Servlet 类,以及实例化以后的对象;
- 提供 HTTP 服务,相当于一个简化的服务器。
Web容器
部署动态网站一般需要 Web 服务器的支持,例如:
- 运行 PHP 网站一般选择 Apache 或者 Nginx;
- 运行 ASP/ASP.NET 网站一般选择 IIS;
- 运行 Python 网站一般选择内置的 WSGI 服务器模块——wsgiref。
常用的 Web 容器有 Tomcat、Jboss、Jetty、WebLogic 等,其中 Tomcat 由 Java 官方提供,Web 容器往往也会自带 Web 服务器模块,提供基本的 HTTP 服务,因此这里的 Web容器 = Web服务器 + Servlet容器
TOMCAT
子目录 | 说明 |
---|---|
bin | 命令中心(启动命令,关闭命令……) |
conf | 配置中心(端口号,内存大小……) |
lib | Tomcat 的库文件。Tomcat 运行时需要的 jar 包所在的目录。 |
logs | 存放日志文件。 |
temp | 存储临时产生的文件,即缓存。 |
webapps | 存放项目的文件,web 应用放置到此目录下浏览器可以直接访问。 |
work | 编译以后的 class 文件。 |
在 Servlet 中,一个动态网页对应一个 Servlet 类,我们可以通过 web.xml 配置文件将 URL 路径和 Servlet 类对应起来。访问一个动态网页的过程,实际上是将对应的 Servlet 类加载、实例化并调用相关方法的过程;网页上显示的内容,就是通过 Servlet 类中的某些方法向浏览器输出的 HTML 语句。
serlet三种创建方式
在Serlet中,一个动态网页对应一个 Servlet 类,我们可以通过 web.xml 配置文件将 URL 路径和 Servlet 类对应起来。
所以,使用 Servlet 创建动态网页的第一步,就是创建 Servlet 类。
Servlet 规范的最顶层是一个名为 javax.servlet.Servlet 的接口,所有的 Servlet 类都要直接或者间接地实现该接口。直接实现 Servlet 接口不太方便,所以 Servlet 又内置了两个 Servlet 接口的实现类(抽象类),分别为 GenericServlet 和 HttpServlet,因此,创建 Servlet 类有如下三种方式:
- 实现 javax.servlet.Servlet 接口,重写其全部方法。
- 继承 javax.servlet.GenericServlet 抽象类,重写 service() 方法。
- 继承 javax.servlet.http.HttpServlet 抽象类,重写 doGet() 或 doPost() 方法。