开源 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>

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

查看所有标签

猜你喜欢:

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

入侵的艺术

入侵的艺术

Kevin D.Mitnick、William L.Simon / 袁月杨、谢衡 / 清华大学 / 2007-1 / 39.00元

《入侵的艺术》中四个志同道合的伙伴使用口袋大小的计算机在拉斯维加斯大把挣钱。一个无聊的加拿大小伙子居然能够非法访问南部的一家银行。几个年轻人被拉登的恐怖分子征召去攻击Lockheed Martin公司和防御信息系统网络。   [精彩试读一]   [精彩试读二]一起来看看 《入侵的艺术》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具