smart-servlet 是一款实现了Servlet 3.1规范,支持多应用隔离部署的的 Web 容器。除此之外,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。
smart-servlet 在 smart-http 的架构之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。
产品特色
有所不为
有些规范我们默认不会提供实现方案,毕竟时代不一样了。 很多东西在当下已经过时或有了更好的替代方案,我们认为是时候跟过去告别了。
smart-servlet 还未正式发布,如需体验请从本仓库下载源码并导入 IDE 完成工程编译,编译执行顺序如下:
路径:smart-servlet/pom.xml,执行mvn install
。当控制台出现以下信息时,说明编译成功。
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] smart-servlet-parent ............................... SUCCESS [ 1.168 s]
[INFO] servlet-core ....................................... SUCCESS [ 10.142 s]
[INFO] smart-servlet-spring-boot-starter .................. SUCCESS [ 2.107 s]
[INFO] smart-servlet-maven-plugin ......................... SUCCESS [ 6.330 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
路径:smart-servlet/plugins/pom.xml,执行mvn install
。当控制台出现以下信息时,说明编译成功。
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for servlet-plugins-parent 0.1.2:
[INFO]
[INFO] servlet-plugins-parent ............................. SUCCESS [ 2.403 s]
[INFO] plugin-session ..................................... SUCCESS [ 3.104 s]
[INFO] plugin-dispatcher .................................. SUCCESS [ 2.005 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
路径:smart-servlet/archives/pom.xml,执行mvn install
。当控制台出现以下信息时,说明编译成功。
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
特别说明:smart-servlet 提供的演示文件来自 Tomcat 的示例,存放于
smart-servlet/archives/webapps
目录下。
完成前面的工程编译后,运行archives模块中的org.smartboot.servlet.starter.Bootstrap
启动服务器。
若启动过程无任何异常,打开浏览器访问 http://127.0.0.1:8080/examples。
根据业务工程实际情况选择相应的集成方式。
maven plugin
适用于传统的 Servlet 或者 Spring MVC 工程,且必须是 maven 工程。需要在 web 模块所在的 pom.xml 中加入以下配置,若存在端口冲突自行调整。完成配置后通过:mvn smart-servlet:run
启动服务。
<!-- pom.xml -->
<project>
<build>
<plugins>
<plugin>
<groupId>org.smartboot.servlet</groupId>
<artifactId>smart-servlet-maven-plugin</artifactId>
<version>0.1.2</version>
<configuration>
<port>8080</port>
</configuration>
<dependencies>
<dependency>
<groupId>org.smartboot.servlet</groupId>
<artifactId>plugin-session</artifactId>
<version>0.1.2</version>
</dependency>
<dependency>
<groupId>org.smartboot.servlet</groupId>
<artifactId>plugin-dispatcher</artifactId>
<version>0.1.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
springboot starter
对于 Springboot 提供的集成方式,替换原 spring-boot-starter-web 默认绑定的 Servlet 容器。
<!-- pom.xml -->
<project>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.smartboot.servlet</groupId>
<artifactId>smart-servlet-spring-boot-starter</artifactId>
<version>0.1.2</version>
</dependency>
</dependencies>
</project>
本项目还处于研发阶段,还未完成所有 Servlet 标准的兑现。如若在使用过程中发现问题可提 Issues 反馈,我们会尽快安排处理,感谢您的理解和支持!
QQ交流社群:1167545865(付费制),入群福利:
Sign in for post a comment
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.
Comments ( 4 )