您现在的位置是:首页 > 文章详情

开源 Servlet 服务器 smart-servlet v0.1.1 发布

日期:2020-12-18点击:483

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。

smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。

项目特色

  • 零学习成本,素未谋面,却已相知。保留用户原有的 Tomcat、Undertow 使用习惯。
  • 朴实无华,用最初级的设计手法打造专业级服务器。
  • 实现 Servlet 核心规范:Request、Response、Session、Cookie、Dispatcher、ServletContext。
  • 插件化设计,自由 DIY 服务器。
  • 延续一贯的极简、易用、高性能设计风格。
  • 开箱即用,运行程序包、maven本地开发/调试插件、springboot starter 一应俱全,满足你的开发、部署等各项需求。

更新内容

  1. 升级 smart-http 至最新版 1.0.21。
  2. 根据《Servlet3.1规范中文版》12.2 映射规范 中的定义重新设计 URI 在servlet、filter中的路由解析算法,并通过索引的方式降低过程中字符串的内存开销。
  3. PrintWriter 输出内容支持缓冲区暂存。
  4. 重构 url-mapping 处理逻辑。
  5. servlet、filter 匹配结果支持缓存,提升处理性能,降低内存开销。
  6. 优化 cookie 解析方式,提升内存利用率。
  7. 实现 servlet 规范:getRequestedSessionId、isRequestedSessionIdValid、isRequestedSessionIdFromCookie、isRequestedSessionIdFromURL、isRequestedSessionIdFromUrl。
  8. 采用 org.w3c.dom 解析 web.xml,解除 dom4j 的依赖。

项目体验

  1. 下载项目进行本地编译。

  2. 运行archives模块中的org.smartboot.servlet.starter.Bootstrap启动服务器。

  3. 若启动过程无任何异常,打开浏览器访问 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.1</version> <configuration> <port>8080</port> </configuration> <dependencies> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>plugin-session</artifactId> <version>0.1.1</version> </dependency> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>plugin-dispatcher</artifactId> <version>0.1.1</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.1</version> </dependency> </dependencies> </project>
原文链接:https://www.oschina.net/news/123814/smart-servlet-0-1-1-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章