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. 微信开发者工具 关于no such file or directory

    在新建页面中,保存后弹出 “ no such file or directory ” 错误 原因是打开了一个文件,然后在目录树中删除了它,但是这个被删除的页面依旧在打开状态,开发者工具在编译保存时由于 ...

  2. linux命令详解

    命令语法介绍 命令   [参数] [文件或路径] rm       -f                  /etc/hosts 注:命令和参数至少一个空格(可以多个连着写)      路径不带空格  ...

  3. DMA和通道的区别

    转:https://wenku.baidu.com/view/7987ae5283c4bb4cf7ecd18e.html

  4. IPTables 和 Netfilter 框架

    前言 防火墙是保护服务器的重要工具. Linux中最常用的基本防火墙软件是iptables.iptables通过与Linux内核网络堆栈(networking stack)中的包过滤钩子(packet ...

  5. Jfinal事务操作

    添加删除更新均可用以下事务 import java.sql.Connection; import java.sql.SQLException; import com.jfinal.plugin.act ...

  6. 基于Java+Selenium的WebUI自动化测试框架(六)---浏览器初始化

    本篇我们来讨论,如何写一个浏览器初始化的类.在写之前,先思考一下,我们需要一个什么样的初始化? 先来看看使用原生的Java + selenium是怎么做的.(以firefox为例) System.se ...

  7. Java对象内存分配原理与布局

    当一个对象被创建了,那在JVM中是如何的从一个对象不存在到存到,然后将对象存放在什么地方呢?这次主要来探讨一下Java对象创建的过程. new关键字创建对象的3个步骤: 1.在堆内存中创建出对象的实例 ...

  8. 修改httpd端口

    修改httpd端口 默认httpd端口为80,现在改成800 修改两个地方: 1.修改配置文件httpd.conf listen 把80改成需要的端口 2.修改配置文件httpd-vhosts.con ...

  9. singleton单例模式小结

    1.饿汉模式 public class SingletonEntity2 { // 在类加载的时候创建对象:饿汉模式 public static SingletonEntity2 obj = new ...

  10. 【杂谈】操作系统如何有效地掌控CPU

    操作系统的本质 操作系统本质上也是一个进程,它与其他用户进程共享CPU.与普通进程不同的是,它具有硬件的所有访问权限.而用户进程默认对硬件是没有任何访问权限的,它只能通过系统调用,委托操作系统来完成这 ...