Resin初识

1. resin简介

刚入职的公司用的后台服务器是resin,故因此学习记录一下。

resin是一个非常流行的web引用服务器,对servlet和jsp提供了良好的支持,自身采用java开发。resin分为普通版和专业版,主要区别是专业版支持缓存和负载均衡。

2. 安装配置

官方下载地址:http://caucho.com/products/resin/download#download。由于是在windows上运行,笔者下载的是zip版本的,直接解压,运行根目录下的resin.exe就可以启动了,提供了界面来进行启停操作。启动成功后访问http://localhost:8080/,就会出现resin的主页,显示Resin® Default Home Page,和tomcat一样,将项目文件或者war包丢进webapps下面就可以访问了。resin的配置文件在conf文件夹下,在resin.xml中可以发布自己的工程,比如:

<!-- the default host, matching any host name -->
<host id="" root-directory=".">
<!--
- webapps can be overridden/extended in the resin.xml
-->
<web-app id="/" root-directory="webapps/ROOT"/>
<!-- 发布自己的工程:learnSpringMVC,相当于tomcat的context配置 -->
<web-app id="/test" root-directory="webapps/learnSpringMVC"/> </host>

然后就可以通过访:http://localhost:8080/test/,访问自己的项目了。在本项目中,实际访问的是learnSpringMVC下面的index.jsp。在webapp下发布了自己的工程,就可以通过自己的自定义头路径访问发布的接口了,比如之前没有配置web-app时,访问接口:http://localhost:8080/learnSpringMVC/hello/showdemo,配置完后应该访问:http://localhost:8080/test/hello/showdemo。learnSpringMVC项目地址:https://github.com/WangJun-SCU/LearnSpringMVC。

3. resin和tomcat的比较

之前接触到的项目都是使用Tomcat作为服务器,到底resin和tomcat的区别是什么呢?为什么现在的项目使用resin,通过查询资料总结整理一下。

  1. 生态:首先tomcat作为javaweb的首选服务器,用户数量肯定比resin多,并且相关的文档也比较丰富和完善了。
  2. 和eclipse集成:resin和eclipse比较复杂,并且调试开发也复杂,更新类后会自动重启。
  3. 热部署:在更新class及jsp或者配置文件(比如web.xml)时,resin会自动部署重启,但是在开发环境下如果配置了session超时会比较麻烦。而tomcat可以按需配置修改java和jsp文件时是否重启,但是在生产环境下更新配置文件必须手动重启,如果一次性更新太多文件时,经常造成tomcat重启失败。
  4. 速度:resin的速度相对于tomcat来说快很多。
  5. 报错机制:resin的报错机制更加人性化,tomcat报错不明显对于新手来说比较困难。
  6. 中文支持:resin比tomcat具有更好的中文支持。

参考:

https://blog.csdn.net/xiongyouqiang/article/details/78944825

https://blog.csdn.net/shehun1/article/details/38185219

resin初识的更多相关文章

  1. 搭建Eclipse、Resin Web开发环境

    搭建Eclipse.Resin Web开发环境 一.当然是安装java开发环境 参看: Java环境的搭建 http://www.cnblogs.com/ghj1976/archive/2010/04 ...

  2. 初识Nginx及编译安装Nginx

    初识Nginx及编译安装Nginx 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...

  3. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  4. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  5. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  6. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  7. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  8. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  9. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

随机推荐

  1. nginx 反向代理配置(二)

    上一篇文章主要是对 nginx 各个模块做了一个介绍,以及对什么是反向代理在文章开头做了一个简单介绍,这篇文章我们主要来看下如何进行 nginx 反向代理的配置 proxy 模块      nginx ...

  2. 学习到目前,自己封装的db类和pdo类

    DB封装类 <?php class DBDA { public $host = "localhost"; public $uid = "root"; pu ...

  3. Android NDK 学习之在C中调用Java的变量和静态变量

    本博客主要是在Ubuntu 下开发,且默认你已经安装了Eclipse,Android SDK, Android NDK, CDT插件. 在Eclipse中添加配置NDK,路径如下Eclipse-> ...

  4. Leaflet 调用百度瓦片地图服务

    在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图.高德地图.百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的.百度从中心点经纬度(0,0)度开始计算瓦片, ...

  5. Android笔记(十七) Android中的Service

    定义和用途 Service是Android的四大组件之一,一直在后台运行,没有用户界面.Service组件通常用于为其他组件提供后台服务或者监控其他组件的运行状态,例如播放音乐.记录地理位置,监听用户 ...

  6. apache Directory Studio 简易使用

    apache Directory Studio 简易使用 本文首发:https://www.somata.work/2019/apacheDirectoryStudioSimpleUse.html 以 ...

  7. 软件测试_Loadrunner_性能测试_脚本优化_关联_手动关联

    在写文章之前写一下自己的心路历程,录制脚本主要是上传图片并返回查询结果的过程.录制完脚本后发现函数中URl地址中有图片ID后台随机生成的32位随机数,并且每次上传图片id都会变化.我就上网搜索了一些解 ...

  8. G1垃圾收集器角色划分与重要概念详解【纯理论】

    继续接着上一次[https://www.cnblogs.com/webor2006/p/11129326.html]对G1进行理论化的学习,上一次学到了G1收集器的堆结构,回忆下: 接着继续对它进行了 ...

  9. 并发编程大师系列之:Synchronized的类锁和对象锁

    说到并发编程,感觉跟大多数人一样,谈之色变,说它简单把,其实很有内容,说难吧,用起来也挺容易,最近我硬着头皮,决心要把并发编程好好的搞一遍.以前,面试的时候,面试官问,并发编程会吗?嗯,接触过,就加一 ...

  10. vscode安装依赖报错 TypeError: zipfile.readEntry is not a function

    错误原因是npm的版本太高,需要把5.x的版本换回4.x的 npm install npm@4 -g 或者 cnpm install npm@4 -g 详见:https://github.com/Mi ...