开启resin 服务器以后提示如下:(控制台不断的循环循环打印如下错误提示)

java.lang.RuntimeException: java.net.SocketException: Unrecognized Windows Socke
ts error: 0: JVM_Bind
at com.caucho.server.cluster.Server.start(Server.java:1191)
at com.caucho.server.cluster.Cluster.startServer(Cluster.java:708)
at com.caucho.server.cluster.ClusterServer.startServer(ClusterServer.jav
a:522)
at com.caucho.server.resin.Resin.start(Resin.java:692)
at com.caucho.server.resin.Resin.initMain(Resin.java:1113)
at com.caucho.server.resin.Resin.main(Resin.java:1314)
Caused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_
Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at com.caucho.vfs.QJniServerSocket.create(QJniServerSocket.java:85)
at com.caucho.vfs.QJniServerSocket.create(QJniServerSocket.java:61)
at com.caucho.server.port.Port.bind(Port.java:964)
at com.caucho.server.cluster.Server.bindPorts(Server.java:1225)
at com.caucho.server.cluster.Server.start(Server.java:1175)
... 5 more
2014-7-3 5:32:01 com.caucho.boot.ResinWatchdog run
信息: Watchdog[] stopping Resin

解决

一开始我以为是我的JDK有问题(其实后来查询后,才知道是端口冲突的问题)

首先来看几个简单的命令(1) netstat-ano  查看所有进程信息,包括协议 本地地址 外部地址 状态 PID等。一查询就知道本机的80端口已被占用,因此resin服务器使用该端口号的话肯定会报错,就会提示上面的这些信息。(下面是我的PC的信息)

活动连接

协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1272
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 816
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING 1556
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING 936
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING 1616
TCP 0.0.0.0:1029 0.0.0.0:0 LISTENING 888
TCP 0.0.0.0:1454 0.0.0.0:0 LISTENING 7796
TCP 0.0.0.0:2869 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2380
TCP 10.81.85.130:139 0.0.0.0:0 LISTENING 4
TCP 10.81.85.130:1590 220.181.125.5:80 ESTABLISHED 984
TCP 10.81.85.130:1925 106.120.151.123:80 CLOSE_WAIT 7796
TCP 10.81.85.130:2287 183.224.42.62:80 TIME_WAIT 0
TCP 10.81.85.130:2288 183.224.42.62:80 TIME_WAIT 0
TCP 127.0.0.1:1044 127.0.0.1:1045 ESTABLISHED 5424
TCP 127.0.0.1:1045 127.0.0.1:1044 ESTABLISHED 5424
TCP 127.0.0.1:1046 0.0.0.0:0 LISTENING 5424
TCP 127.0.0.1:1046 127.0.0.1:1047 ESTABLISHED 5424
TCP 127.0.0.1:1047 127.0.0.1:1046 ESTABLISHED 5424
TCP 127.0.0.1:1159 127.0.0.1:1160 ESTABLISHED 1164
TCP 127.0.0.1:1160 127.0.0.1:1159 ESTABLISHED 1164
TCP [::]:80 [::]:0 LISTENING 4
TCP [::]:135 [::]:0 LISTENING 1272
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:1025 [::]:0 LISTENING 816
TCP [::]:1026 [::]:0 LISTENING 1556
TCP [::]:1027 [::]:0 LISTENING 936
TCP [::]:1028 [::]:0 LISTENING 1616
TCP [::]:1029 [::]:0 LISTENING 888
TCP [::]:2869 [::]:0 LISTENING 4
UDP 0.0.0.0:500 *:* 1616
UDP 0.0.0.0:4500 *:* 1616
UDP 0.0.0.0:5355 *:* 1948
UDP 0.0.0.0:49152 *:* 1616
UDP 10.81.85.130:137 *:* 4
UDP 10.81.85.130:138 *:* 4
UDP 10.81.85.130:1900 *:* 2076
UDP 10.81.85.130:65033 *:* 2076
UDP 127.0.0.1:1900 *:* 2076
UDP 127.0.0.1:49153 *:* 1616
UDP 127.0.0.1:49166 *:* 1608
UDP 127.0.0.1:49174 *:* 1516
UDP 127.0.0.1:49175 *:* 5444
UDP 127.0.0.1:65034 *:* 2076
UDP [::]:500 *:* 1616
UDP [::]:4500 *:* 1616
UDP [::1]:1900 *:* 2076
UDP [::1]:65032 *:* 2076

(2)tasklist /fi "pid eq 4"   查看端口号80(其pid=4)的使用情况

C:\Windows\System32>tasklist /fi "pid eq 4"

映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
System 4 Services 0 828 K

可以看到,该端口是被系统服务所占用。

(下面的内容是转的,我只参考第一步,修改了端口号为9000就好了)

这里介绍的是jsp服务器resin的配置, 
在resin-3.0.1文件夹下有几个文件夹值得注意:
|--bin
   |--httpd.exe   resin服务器启动文件
   |--setup.exe  和iis一起使用的安装文件
|--conf
   |--resin.conf resin服务器配置文件,例:端口号、主目录
   |--app-default.xml
|--doc resin服务器默认的主目录
   |--css
   |--images
   |--resin-dox
   |--WEB-INF
   |--index.xtp resin服务器默认的欢迎页面。
|--lib
|--libexec
|--licenses
|--logs
   |--access.log resin服务器日志文件
|--webapps
|--xsl
|--license
|--readme.txt

有2个比较重要的服务器配置。

一:更改服务器的端口号。
resin默认的端口号是:8080。当你双击bin文件下的httpd.exe后,resin服务器就启动,在浏览器里地址栏输入:http://localhost:8080    就可以看到resin服务器的欢迎页面。出于需要,要把8080端口改成别的端口号要怎样做呢?打开conf文件夹,用dreamweaver打开(记事本也可以)resin.conf文件,找到<http id="" host="*" port="8080"/>这一行,把8080修改成你想要的端口号,比如81,然后保存,重新启动resin服务器,在浏览器地址栏里输入:http://localhost:81,看看是不是可以?有一个值得注意的是端口号不能与其它软件占用的端口号相冲突,例如跟iis默认的80端口冲突。

二:更改主目录。
resin默认的主目录是:doc。假设resin-3.0.1文件下你新建了自己的一个文件夹BBS,要定义主目录为BBS。怎么做呢?还是编辑resin.conf文件,找到<document-directory>doc</document-directory>一行,修改doc为BBS,保存resin.conf文件。重新启动服务器就生效了。

  以下是我在使用resin过程中的一此体会、理解,不一定对。还希望名位在使用过程中,有些经验性的总结写下来,大家互相学习,共同提高。
  我在resin3.0.4文件夹下新建了一个文件夹BBS并更改为主目录,在BBS文件夹下新建一个WEB-INF文件夹,并在这个文件下新建一个classes文件夹。其中BBS文件夹下存放JSP文件,classes文件夹下存放JSP要用到的类文件。resin在运行过程中,还会在WEB-INF文件下产生tmp,work这两个文件,其中work文件夹存放编译JSP文件生成的类文件。(resin解释JSP文件时,要把JAVA脚本翻译成servlet).有一次,我在类文件里添加了一个方法executeUpdate(),并在JSP文件里调用这个方法,但是JSP出错提示找不到这个方法,重启resin也没用,重启计算机也没用(我以为是缓冲的问题)。后来,把work文件下的文件全部删掉,JSP就能使用executeUpdate()方法了。我也不知道这是个什么道理!
  在JSP程序中要正确输出汉字,必须对字符串变量进行编码(string.getBytes("ISO8859_1"))。如果是服务器是tomcat一定要对字符串进行编码。但在resin服务器下,不用对字符串进行编码,用了反而出错。有一本书说“sql语句汉字问题更麻烦,如果sql命令为:select * from custom where uid='用户名'.在jdbc-odbc驱动下对sql进行编码无法编译通过。但是换了IBM的jdbc直接驱动后就可以通过了”,但是,我在resin服务器下检测这个问题,我发现resin对中文处理得很好。

resin WED服务器初用遇到的问题和解决方法 java.lang.RuntimeException: java.net.SocketException: Unrecognized Windows Socke ts error: 0: JVM_Bind的更多相关文章

  1. 关于Linux服务器磁盘空间占满问题的解决方法

    下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧   下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了), ...

  2. 你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 原文: ...

  3. 微信公众平台消息接口开发(2)你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token作者:http://txw1958.cnblogs.com/ 本系统 ...

  4. linux服务器报Too many open files的解决方法

    linux 上tomcat 服务器抛出socket异常“文件打开太多”的问题 java.net.SocketException: Too many open filesat java.net.Plai ...

  5. Apache服务器出现Forbidden 403错误提示的解决方法总结

    在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了,最后解决了,总结了一下.http 403错误是拒绝访问的意思,有很多原因的.还有,这些问题在win平台的 ...

  6. APACHE服务器httpd.exe进程占用cpu100%的解决方法

    httpd.exe进程占用cpu%100,关闭掉AppServ服务,cpu应用率立刻下降到0. 重新启动AppServ又出现占用cpu高的情况. 原因,httpd.exe和防火墙配置有冲突. 解决方法 ...

  7. Windwos服务器远程桌面不能复制粘贴的解决方法

    今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行. 网上搜了一下,主要有两种情况: 1.复制粘贴功能原本可以用,突然失灵了2.从头到尾都无法使用这个 ...

  8. Windows服务器外网无法访问web的解决方法

    windows环境下使用集成 IIS服务器时一般不会发生外网无法访问的问题,而使用apache.kangle.lighttpd.niginx.tomcat等时:服务器上可通过配置的域名访问网站,pin ...

  9. 阿里云服务器 Access to the path '....' is denied.解决方法

    昨天公司项目迁移服务器,从自己服务器迁移到阿里云服务器,部署完成后发现有一个页面要读取磁盘上的静态文件就报错了... 如图: 解决办法: 在 Web.Config 的 <System.Web&g ...

随机推荐

  1. Bootstrap抽样(自展法)

    Bootstrap又称自展法,是用小样本估计总体值的一种非参数方法,在进化和生态学研究中应用十分广泛.例如进化树分化节点的自展支持率等. Bootstrap的思想,是生成一系列bootstrap伪样本 ...

  2. 32Sql数据库的插入

    上一节讲了数据库的连接,本例直接将数据库的插入操作,重点还是QSqlQuery类 QSqlQuery query; //新建二维表 query.exec("CREATE TABLE stud ...

  3. 2018 Multi-University Training Contest 9 Solution

    A - Rikka with Nash Equilibrium 题意:构造一个$n * m$的矩阵,使得$[1, n * m]$ 中每个数只出现一次,并且纳什均衡只出现一次. 思路:从大到小的放置,每 ...

  4. 【android】开发笔记系列:行为篇

    1:键盘遮挡了输入框 在androidManifest.xml里,对应的activity里设置键盘模式 <activity android:name="活动名称" andro ...

  5. 项目中使用protobuf 3.0

    protocol buffer从3.0 原生的compiler支持c++,Java,Python,Go,Ruby,JavaNano,JavaScript,Objective-C,C#,PHP这篇文章作 ...

  6. RESTful源码笔记之RESTful Framework的Mixins小结

    0x00 引言 本篇对drf中的mixins进行简要的分析总结.Mixins在drf中主要配合viewset共同使用,实现http方法与mixins的相关类与方法进行关联. from rest_fra ...

  7. 前端学习笔记之HTTP协议

    阅读目录 一 HTTP协议简介 二 HTTP协议之请求Request 三 HTTP协议之响应Response 四 HTTP协议完整工作流程 五 HTTP协议关键性总结 六 自定义套接字分析HTTP协议 ...

  8. Linux内核分析04

    扒开系统调用的三层皮(上) 一,用户态.内核态和中断 用户态.内核态和中断的处理过程 用户态和内核态的区分 内核态:代码可以执行特权指令,访问任意的物理地址,CPU的这种执行级别就对应着~ 相对的用户 ...

  9. artTemplate 模板使用

    下载github中文件,浏览器引用lib/template-web.js 模板html: {{each ProductInfoList as prd}} <div class="res ...

  10. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)

    描述 axes在当前窗口中创建一个包含默认属性坐标系 axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxe ...