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

栏目: 软件资讯 · 发布时间: 3年前

内容简介:smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。 smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通...

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

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

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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

移动风暴

移动风暴

[美]弗雷德·沃格尔斯坦 / 朱邦芊 / 中信出版社 / 2014-1-1 / 39

也许,除了伟大的乔布斯,每一位奋力改变世界的硅谷英雄,都值得我们肃然起敬。苹果与谷歌十年博弈,关于这场移动平台战争的报道早已铺天盖地,而这是第一次,我们能听到幕后工程师的真实声音。两大科技巨人用智能手机和平板电脑颠覆了电脑产业。它们位处变革的中心,凭借各自的经营哲学、魅力领袖和商业敏感度,把竞争变成了残酷对决。商业记者沃格尔斯坦报道这场对抗已逾十载,在《移动风暴》中,他带领我们来到一间间办公室和会......一起来看看 《移动风暴》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具