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. stm32 FSMC-TFTLCD显示

    TFTLCD TFT液晶屏常用的通信模式主要有6800模式和8080模式,对于TFT彩屏通常都使用8080并口(简称80并口)模式 8080模式的读写时序其实跟LCD1602或者LCD12864的读写 ...

  2. git推送代码Gogs报401错误

    1.git push 报错:RPC failed; HTTP 401 curl 22 The requested URL returned error: 401 The remote end hung ...

  3. jquery-weui滚动事件的注册与注销

    注册infinite(50)是自定义的,详细暂时没去了解,可以不写即代表默认值. // body是整一块代码的标签,也就是滚动的部分. $('body').infinite().on("in ...

  4. Nginx 安装 和 特性介绍

    一:nginx 环境搭建 四项确认 确认系统网络可通行 确认yum可用 确认关闭iptables规则 确认停用selinux 查看iptables规则 iptables -L 关闭iptables规则 ...

  5. 修改ssh的22端口

    将ssh22端口修改为12345 https://www.cnblogs.com/chen-lhx/p/3974605.html # iptables开放12345端口iptables -I INPU ...

  6. 五、DML操作汇总

    前言: DML(Data Manipulation Language)数据操作语言,以INSERT.UPDATE.DELETE三种指令为核心,分别代表插入.更新与删除,是必须要掌握的指令,DML和SQ ...

  7. 前端框架开始学习Vue(二)

    1 根据关键字实现数组的过滤 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  8. 注册码云和使用git

    1.4.1 码云 注册码云 码云 填写信息注册后进入 创建仓库 问题:提交到码云的中文变成乱码 可以改变本机文件保存的编码为UTF-8即可 1.4.2 git git官网下载安装包 双击安装包开始安装 ...

  9. 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法

    原理:wxml中不能直接使用较高级的js语法,如‘.toFixed’,‘toString()’,但可以通过引入wxs模块实现效果 1.新建`filter.wxs` var filters = {    ...

  10. python返回值的缺省设置

    有时候并不需要返回所有的值,但是原始函数的return语句中又有较多参数时: 方法一:修改原始返回值,只返回需要的参数 方法二:如果原始函数时第三方库或者python自带库,则直接修改可能不太好,于是 ...