• 关于

    HTTP/2出现问题怎么解决

    的搜索结果

回答

一、NGINX 502错误排查 NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手: 1.FastCGI进程是否已经启动 2.FastCGI worker进程数是否不够 运行 netstat -anpo | grep “php-cgi” | wc -l 判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少 3.FastCGI执行时间过长 根据实际情况调高以下参数值 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; 4.FastCGI Buffer不够 nginx和apache一样,有前端缓冲限制,可以调整缓冲参数 fastcgi_buffer_size 32k; fastcgi_buffers 8 32k; 5.Proxy Buffer不够 如果你用了Proxying,调整 proxy_buffer_size   16k; proxy_buffers    4 16k; 参见:http://www.server110.com 6.https转发配置错误 正确的配置方法 server_name www.mydomain.com; location /myproj/repos { set $fixed_destination $http_destination; if ( $http_destination ~* ^https(.*)$ ) { set $fixed_destination http$1; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Destination $fixed_destination; proxy_pass http://subversion_hosts; } 当然,还要看你后端用的是哪种类型的FastCGI,我用过的有php-fpm,流量约为单台机器40万PV(动态页面), 现在基本上没有碰到502。 7.php脚本执行时间过长 将php-fpm.conf的<value name="request_terminate_timeout">0s</value>的0s改成一个时间 二、Nginx 413错误的排查:修改上传文件大小限制 在上传时nginx返回了413错误,查看log文件,显示的错误信息是:”413 Request Entity Too Large”, 于是在网上找了下“nginx 413错误”发现需要做以下设置: 在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制; 如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。 post_max_size = 8M upload_max_filesize = 2M 三、Nginx 400错误排查:HTTP头/Cookie过大 今天有人汇报nginx的HTTP400错误,而且这个HTTP400错误并不是每次都会出现的,查了一下发现nginx400错误是由于request header过大,通常是由于cookie中写入了较长的字符串所引起的。 解决方法是不要在cookie里记录过多数据,如果实在需要的话可以考虑调整在nginx.conf中的client_header_buffer_size(默认1k) 若cookie太大,可能还需要调整large_client_header_buffers(默认4k),该参数说明如下: 请求行如果超过buffer,就会报HTTP 414错误(URI Too Long) nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报400的HTTP错误(Bad Request)。 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。 Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。 解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,而Nginx 504 Gateway Time-out则是与nginx.conf的设置有关。 而正确的设置需要考虑服务器自身的性能和访客的数量等多重因素。 以我目前的服务器为例子CPU是奔四1.5G的,内存1GB,CENTOS的系统,访客大概是50人左右同时在线。 但是在线的人大都需要请求PHP-CGI进行大量的信息处理,因此我将nginx.conf设置为: fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k;#8 128 fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; 这里最主要的设置是前三条,即 fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; 这里规定了PHP-CGI的连接、发送和读取的时间,300秒足够用了,因此我的服务器很少出现504 Gateway Time-out这个错误。最关键的是php-fpm.conf的设置,这个会直接导致502 Bad Gateway和504 Gateway Time-out。 下面我们来仔细分析一下php-fpm.conf几个重要的参数: php-fpm.conf有两个至关重要的参数,一个是”max_children”,另一个是”request_terminate_timeout” 我的两个设置的值一个是”40″,一个是”900″,但是这个值不是通用的,而是需要自己计算的。 计算的方式如下: 如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话你可以直接将”request_terminate_timeout”设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。 而”max_children”这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。设置”max_children”也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右,因此我的”max_children”我设置成40个,20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内,低于我的有效内存1Gb。而如果我的”max_children”设置的较小,比如5-10个,那么php-cgi就会“很累”,处理速度也很慢,等待的时间也较长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// nginx中配置php fastcgi组解决莫名其妙的502 Bad Gateway错误 一般nginx搭配php都采用这样的方式: location ~ .php$ { proxy_pass        http://localhost:9000; fastcgi_param   SCRIPT_FILENAME   /data/_hongdou$fastcgi_script_name; include        fastcgi_params; } 这个方式只能连接到一组spawn-fcgi开启的fastcgi,在服务器负载稍高时常常出现502 bad gateway错误。 起先怀疑这是php-cgi的进程开得太少,增加后仍然有反映时常有错,偶然间发现php-cgi会报出这样的错误: zend_mm_heap corrupted 看来是php-cgi在执行某些代码时有问题,以致于该线程中止。 在服务器上可能还会看到php-cgi进程在不断变少,估计是出现错误的php-cgi的进程自动退出了。 php的问题总是不太容易能解决,所以在nginx方面想想办法,nginx的好处是它总是能爆出一些稀奇古怪的做法出来。 在nginx的proxy中,规避莫名其妙错误的办法无非是proxy到一个upstream的服务器组中,然后配置 proxy_next_upstream,让nginx遇到某种错误码时,自动跳到下一个后端上。这样,应用服务器即使不稳定,但是在nginx后面就变成了稳定服务。想到nginx的fastcgi和proxy是一路东西,所以proxy能用的经验,移植到fastcgi也能跑得起来。 照着这个思路,用spawn-fcgi多开同样一组php进程,所不同的仅仅是端口: spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -f php-cgi -C 100 spawn-fcgi -a 127.0.0.1 -p 9001 -u nobody -f php-cgi -C 100 然后把fastcgi的这段配置改成用upstream的方式: upstream backend { server 127.0.0.1:9000; server 127.0.0.1:9001; } location ~ .php$ { fastcgi_pass        backend; fastcgi_param   SCRIPT_FILENAME   /data/_hongdou$fastcgi_script_name; include        fastcgi_params; } 检查配置结果正确,能跑起来;同时在服务器上netstat -n|grep 9000和grep 9001都有记录,证明连接无误;在前台查阅页面,一切运行正常。 这个配置是最简单的配置,既然能连接上upstream,那么很显然upstream的一些东西都可以拿来用,比如ip_hash、weight、max_fails等。 这样的配置在单机下不知能不能共享session,没有测试,如果有问题,可以加上ip_hash,或者配置php把session存进memcached中。 然后就是fastcgi_next_upstream的配置,nginx wiki中没有介绍到这个配置,查了一下,在nginx的CHANGES中有提到,而且出生年月是和proxy_next_upstream一样的。既然如此,那就照proxy_next_upstream一样配吧。一般按默认的值error timeout就可以工作,因为php出现502错误的异常是返回的500错误,所以我把fastcgi_next_upstream定为: fastcgi_next_upstream error timeout invalid_header http_500; 通过这个配置,就可以基本杜绝任何时常性的500错误,出问题的几率会变小很多,如果客户反映仍然激烈,那么就多增加几组fastcgi进程。

sosyxg 2019-12-02 02:43:07 0 浏览量 回答数 0

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19

问题

Error: couldn't connect to server 127.0.?报错

爱吃鱼的程序员 2020-06-14 22:28:26 0 浏览量 回答数 1

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

大数据时代——数据存储技术百问

yq传送门 2019-12-01 20:27:42 31965 浏览量 回答数 35

问题

求助使用nodejs抓取时,出现问题怎么解决?

吴孟桥 2019-12-01 19:36:00 1174 浏览量 回答数 1

问题

安装tomcat后,打开http://localhost:8080/出现102错误,什么问题?

落地花开啦 2019-12-01 19:34:19 1039 浏览量 回答数 1

问题

程序员报错QA大分享(1)

问问小秘 2020-06-18 15:46:14 8 浏览量 回答数 1

问题

Eclipse LUNA 4.40如何配置GWT web开发环境:报错

kun坤 2020-06-14 07:03:47 0 浏览量 回答数 1

问题

Eclipse LUNA 4.40如何配置GWT web开发环境 - 配置报错

montos 2020-06-02 20:40:24 1 浏览量 回答数 1

问题

Eclipse LUNA 4.40如何配置GWT web开发环境:配置报错 

kun坤 2020-05-31 22:45:12 0 浏览量 回答数 1

问题

使用nodejs抓取时,出现转码问题

小旋风柴进 2019-12-01 19:28:09 976 浏览量 回答数 1

问题

日志服务,使用分隔符的问题。

seafile 2019-12-01 21:22:17 1562 浏览量 回答数 0

问题

IE下resize无限触发问题。

a123456678 2019-12-01 20:21:05 769 浏览量 回答数 1

回答

"请参考: <a href=""http://www.ruchee.com/code/c/gtk/eclipse.html"" target=""_blank"" rel=""nofollow"">http://www.ruchee.com/code/c/gtk/eclipse.html######<a href=""http://my.oschina.net/u/184225"" class=""referer"" target=""_blank"">@王一峰 : 我是安装的最新的,不存在这个问题。网上教程仅供参考,或许他人的方法对于他自己来说是适用的,但看教程的人因为环境配置不当或环境设置得不一样,所以出现问题也属正常######<a href=""http://my.oschina.net/rucheecn"" class=""referer"" target=""_blank"">@Ruchee : 解决了,我的MinGW没装好,建议你把博客更新下,下载最新的MinGW,不然有问题的,关键是网上教程很杂,很多都说build时要用GNU make build,我发现不行,要用内置的CDT internal build######<a href=""http://my.oschina.net/u/184225"" class=""referer"" target=""_blank"">@王一峰 : 你看下include/gtk-2.0/gtk目录下有没有gtkstyle.h这个文件,如果没有就是GTK安装包不完整的问题,如果有则我也无计可施######<a href=""http://my.oschina.net/rucheecn"" class=""referer"" target=""_blank"">@Ruchee : GTK的应该是设置好了,编译器怎么配置?######<a href=""http://my.oschina.net/u/184225"" class=""referer"" target=""_blank"">@王一峰 : 你确定环境变量以及MinGW都配置好了?######按照楼上的步骤,把gtk配置完了,嘿嘿######<div class=""ref""> 引用来自“南宫傲”的答案 按照楼上的步骤,把gtk配置完了,嘿嘿 me too ######哈哈!安装成功!谢谢!######楼主解决了吗、怎么解决的"

montos 2020-05-31 12:14:25 0 浏览量 回答数 0

问题

ECS故障处理百问合集

yq传送门 2019-12-01 19:35:27 15348 浏览量 回答数 11

回答

xhtml中隐藏滚动条在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transitional doctype的解释缺陷.对于这个bug一般有3种解决方案,方法1:代码:程序代码html { overflow-y: scroll; } 原理:强制显示ie的垂直滚动条,而忽略水平滚动条优点:完全解决了这个问题, 允许你保持完整的XHTML doctype.缺点:即使页面不需要垂直滚动条的时候也会出现垂直滚动条。方法2:(推荐采用)代码:程序代码html { overflow-x: hidden; overflow-y: auto; }原理:隐藏横向滚动,垂直滚动根据内容自适应优点:在视觉上解决了这个问题.在不必要的时候, 未强制垂直滚动条出现.缺点:只是隐藏了水平滚动条,如果页面真正需要水平滚动条的时候,屏幕以外的内容会因为用户无法水平滚动,而看不到。方法3:代码:程序代码body { margin-right: -15px; margin-bottom: -15px; }原理:这会在margin的水平和垂直方向上添加一个负值, IE添加了该精确数值后, 便会去除对滚动条的需求假象.优点:在视觉上解决了这个问题.,垂直滚动根据内容自适应缺点:由于"人为创建"了15px的外边距(margin), 所以无法使用该填充过的屏幕区域.设置样式在原来的html的时候,我们可以这样定义整个页面的滚动条程序代码body{ scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/ scrollbar-highlight-color:#fff; /*- 左二 -*/ scrollbar-face-color:#E4E4E4; /*- 面子 -*/ scrollbar-arrow-color:#666; /*- 箭头 -*/ scrollbar-shadow-color:#808080; /*- 右二 -*/ scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/ scrollbar-base-color:#D7DCE0; /*- 基色 -*/ scrollbar-track-color:#;/*- 滑道 -*/ } 但是同样的代码,我们应用在 xhtml下就不起作用了,我相信好多好朋友也遇到过同样的问题那么怎么才能在xhtml下应用滚动条样式呢?看下列代码程序代码html{scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/ scrollbar-highlight-color:#fff; /*- 左二 -*/ scrollbar-face-color:#E4E4E4; /*- 面子 -*/ scrollbar-arrow-color:#666; /*- 箭头 -*/ scrollbar-shadow-color:#808080; /*- 右二 -*/ scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/ scrollbar-base-color:#D7DCE0; /*- 基色 -*/ scrollbar-track-color:#;/*- 滑道 -*/ }这段代码和上一段唯一的不同就是在css定义的元素上,一个是body一个是html。我们再测试一下,把html页面的"body"修改成"html"测试一下,发现依然可以实现效果。那到底是为什么呢?从字面上来看,xhtml比html多一个x,那么这个x其实也就是xml,为什么要加一个xml在里面?其实最根本的原因就是要让html更加结构化标准化(因为html实在是太烂)。我们在html里面定义的是body,因为html不是很标准所以这样可以生效,而在xhtml里面这样就不行了,我看看那个图很明显,body标签本身不是根元素,只有html才是根元素,而页面的滚动条也是属于根元素的,所以这就是我们为什么定义body没有效果的原因,因为我们定义的只是一个子原素。ok,我们知道了原理,来做一个试验如果把定义"body"或"xhtml"换成"*",程序代码*{ scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/ scrollbar-highlight-color:#fff; /*- 左二 -*/ scrollbar-face-color:#E4E4E4; /*- 面子 -*/ scrollbar-arrow-color:#666; /*- 箭头 -*/ scrollbar-shadow-color:#808080; /*- 右二 -*/ scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/ scrollbar-base-color:#D7DCE0; /*- 基色 -*/ scrollbar-track-color:#;/*- 滑道 -*/ }在html和xhtml都通过,因为*就是定义页面上的任何标签当然也包括了“html”这个标签。(ps:其实与其说是html与xhtml的区别到不如说是有无XHTML 1.0 transitional doctype的区别,但是如果你把页面的XHTML 1.0 transitional doctype去掉的话,那么这个页面就没有doctype,默认的显示方式就是html4.01,不过你要把XHTML 1.0 transitional doctype修改成HTML 4.01 doctype同样页面定义body也不会有效果的,虽然这个页面的标准是html 4.01)转载:http://www.cnblogs.com/Miton/archive/2011/06/01/2066056.html

杨冬芳 2019-12-02 02:41:02 0 浏览量 回答数 0

问题

OSS for PHPWIND 8.7 [20121127更新]

enj0y 2019-12-01 20:25:35 50835 浏览量 回答数 31

问题

Eclipse LUNA 4.40如何配置GWT web开发环境-eclipse报错

montos 2020-05-31 15:04:11 0 浏览量 回答数 1

问题

SLB的BUG有人来解决吗

我来学习呀 2019-12-01 21:42:12 3828 浏览量 回答数 2

回答

告诉你依赖没解决。把你的build.gradle贴出来看看回复<aclass='referer'target='_blank'>@自作多情pan:看gradle文档中的关于依赖管理部分的配置。只要不是隔离的网络环境,建议你使用maven仓库解决依赖,可以减少源码库的容量。回复<aclass='referer'target='_blank'>@Feng_Yu:怎么引入本地的jar包啊回复<aclass='referer'target='_blank'>@自作多情pan:看来不是父子项目构建.是所有的项目都无法构建吗?如果是的话,随便打开一个build.gradle看看就行了。自己看看gradle的官方文档也能解决,总体来说gradle并不算难回复<aclass='referer'target='_blank'>@自作多情pan:在看吗我的jar包是人家给我的对方架设的私服远程无法下载他让我引入进去就行了但是我不知道gradle怎么引入回复<aclass='referer'target='_blank'>@Feng_Yu:已经贴出来了在新的回复里面 <imgsrc="http://static.oschina.net/uploads/space/2016/1019/145158_gA0C_2889352.png"alt=""><imgsrc="http://static.oschina.net/uploads/space/2016/1019/145208_SunK_2889352.png"alt=""><imgsrc="http://static.oschina.net/uploads/space/2016/1019/145219_RrsV_2889352.png"alt=""><imgsrc="http://static.oschina.net/uploads/space/2016/1019/145229_6dVO_2889352.png"alt=""> 被涂掉的地方还望见谅gradle+maven+springboot实战 课程观看地址:<atarget="_blank"rel="nofollow">http://www.xuetuwuyou.com/course/114 课程出自学途无忧网:<atarget="_blank"rel="nofollow">http://www.xuetuwuyou.com 课程大纲: 详细剖析Maven的插件,打包发布 Maven私服Nexus的讲解 根据ApacheHadoop源码,分析Maven的聚合和继承,以及如何构建多模块项目 SpringBoot的Freemark,Websocket,以及常见问题讲解 Gradle的内部实现原理 Gradle的maven,java插件,打包发布到maven私服 Gradle的Task编写,自定义插件 Gradle的java插件源码分析 Gradle打Zip包详解 如何在Linux上,运行SpringBoot项目,采用Shell脚本启动 课程目录: 课时1:简单项目构建  课时2:springbootmaven项目构建  课时3:maven的插件  课时4:maven的生命周期以及常见问题  课时5:maven的私服  课时6:maven的继承与聚合  课时7:Springboot的freemark 课时8:Springboot的Websocket  课时9:Gradle的springboot项目构建  课时10:Gradle打包,发布 课时11:Gradle_Task 课时12:Gradle_内部运行原理以及自定义插件编写  课时13:Gradle_打zip包自动拷贝依赖  课时14:jar包如何运行到线上 课程目标:  熟练掌握当前最流行的Gradle以及Maven构建工具的内部实现原理  熟练掌握SpringBoot的使用,以及解决在使用中出现的常见问题

爱吃鱼的程序员 2020-06-09 15:45:37 0 浏览量 回答数 0

问题

用JS实现图片轮播的问题,

小旋风柴进 2019-12-01 20:18:14 1137 浏览量 回答数 1

问题

用JS实现图片轮播的问题,谢谢了

小旋风柴进 2019-12-01 20:24:46 1137 浏览量 回答数 1

问题

给移动硬盘安装rhel7提示grub rescue>

杨冬芳 2019-12-01 20:20:51 1107 浏览量 回答数 1

回答

ClassNotFoundException?我写了一个测试类,运行没有问题,用web.xml启动就报错 IllegalStateException大多是provider没注册上 @liujl110<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns=" http://www.springframework.org/schema/beans"xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo=" http://code.alibabatech...provider没问题,可以在dubbo管控台查看到服务 java.lang.ClassNotFoundException:com.home.service.UserService生产者的接口没加载回复 @开源中国操盘师:重新install会报错回复 @liujl110:可是错误信息显示没拿到啊,重新install下?我的项目是maven管理的,在pom文件中配置了接口的依赖,接口怎么会没加载,在测试类中getBeans就可以拿到啊! <dubbo:consumercheck="false"/> 关掉tomcat启动时检查服务,如果能正常启动那就是服务不可用了 这个是加了的,启动tomcat还是报错你的POM能发出来看看吗,感觉像是Dubbo的XML配置没加载进maven~回复 @liujl110:官方git上的pom文件地址如下:https://github.com/alibaba/dubbo/blob/master/pom.xml回复 @liujl110:官网的POM配置上面在dependecy标签后面有个build标签,感觉是少了这个东西,里面是关于maven工程的一些配置回复 @liujl110:在POM最后一行加上这段试试呢,生产者和消费者的POM都加上看看<build><finalName>生产者/消费者名称</finalName><build>我把所有文件都贴出来了,你帮我看下吧。回复 @liujl110:我最近也在学dubbo,这是我从官方文档看到的,所以感觉是POM里面的配置问题,http://dubbo.io/FAQ-zh.htm pom文件如下 <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>  <parent>   <groupId>com.home</groupId>   <artifactId>oa-parent</artifactId>   <version>0.0.1-SNAPSHOT</version>   <relativePath>../oa-parent/pom.xml</relativePath>  </parent>  <artifactId>oa-web-boss2</artifactId>  <packaging>war</packaging>  <build>  <resources> <resource> <targetPath>${project.build.directory}/classes</targetPath> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources>  </build>  <dependencies>  <dependency>    <groupId>com.home</groupId>    <artifactId>oa-facade</artifactId>    <version>${oa-facade.version}</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> <dependency>    <groupId>com.home</groupId>    <artifactId>oa-common-config</artifactId>    <version>${oa-common-config.version}</version> </dependency>    <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <artifactId>jmxtools</artifactId> <groupId>com.sun.jdmk</groupId> </exclusion> <exclusion> <artifactId>jmxri</artifactId> <groupId>com.sun.jmx</groupId> </exclusion> <exclusion> <artifactId>jms</artifactId> <groupId>javax.jms</groupId> </exclusion> </exclusions> </dependency> <!--spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <exclusions> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> </dependency>  </dependencies> </project> dubbo-consumer.xml文件如下: <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans.xsd      http://code.alibabatech.com/schema/dubbo      http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!--消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样--> <dubbo:applicationname="oa-web-boss"/> <!--使用zookeeper注册中心暴露服务地址--> <!--注册中心地址--> <dubbo:registryprotocol="zookeeper"address="127.0.0.1:2181"/> <!--用户服务接口--> <dubbo:referenceinterface="com.home.service.UserService"id="userService"check="false"/> </beans>  spring-mvc.xml文件如下: <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd       http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd       http://www.springframework.org/schema/tx       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context-3.2.xsd"default-autowire="byName"default-lazy-init="false"><!--采用注释的方式配置bean--><context:annotation-config/><mvc:annotation-driven/><!--配置要扫描的包--><context:component-scanbase-package="com.home"/><!--定义跳转的文件的前后缀,视图模式配置--><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个可用的url地址--><propertyname="prefix"value="/"/><propertyname="suffix"value=".jsp"/></bean></beans> web.xml如下: <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>ArchetypeCreatedWebApplication</display-name> <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/dubbo-consumer.xml</param-value></context-param><!--编码过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--Spring监听器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--防止Spring内存溢出监听器--><listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><!--SpringMVCservlet--><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-context.xml</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping> <welcome-file-list>  <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app> 我猜是spring的配置和dubbo的配置加载顺序的问题,加载dubbo之前必须先加载bean配置,否则就会出现ClassNotFound.你试试将bean的配置加到dubbo配置的第一行看看结果回复 @liujl110:请问你后来是怎么解决的呢?我也遇到了一样的问题会不会是打包的问题,我没有打包,只配置了依赖我使用mavenclean,然后用maveninstall会报:还是不可以

爱吃鱼的程序员 2020-06-09 15:50:42 0 浏览量 回答数 0

问题

php 如何实现批量监测网页中的某一内容是否发生变化?:报错

kun坤 2020-06-07 16:33:57 0 浏览量 回答数 1

问题

struts2做计算器报错,希望高手指出解决方法?报错

爱吃鱼的程序员 2020-06-22 20:25:03 0 浏览量 回答数 1

问题

导入maven项目,jar包下载不成功的问题?报错

爱吃鱼的程序员 2020-06-10 14:22:54 0 浏览量 回答数 1

回答

引用来自“hanzhankang”的答案 那地址是:http://111.186.100.77:8080/Wireless_Server/servelet/Updateservelet 不过http://111.186.100.77:8080  你这个像是外网地址,你确定正确能访问? 我把从网络读取的数据流转化字符串,用的方法是: int b; StringBuffer sb = new StringBuffer(); while((b = in.read())!=-1 ){ sb.append((char)b); } System.out.println(sb); 打印出来: 10-20 10:47:26.079: I/System.out(32577): <?xml version="1.0" encoding="utf-8"?> 10-20 10:47:26.079: I/System.out(995): <menulist> 10-20 10:47:26.079: I/System.out(995): <> 10-20 10:47:26.079: I/System.out(995): <menu> 10-20 10:47:26.089: I/System.out(995): <id>1</id> 10-20 10:47:26.089: I/System.out(995): <name>宫ä¿é¸¡ä¸</name> 10-20 10:47:26.089: I/System.out(995): </menu> 10-20 10:47:26.089: I/System.out(995): <menu> 10-20 10:47:26.089: I/System.out(995): <id>2</id> 10-20 10:47:26.089: I/System.out(995): <name>é¦è¾£åè±ä¸</name> 10-20 10:47:26.089: I/System.out(995): </menu> 10-20 10:47:26.089: I/System.out(995): <menu> 10-20 10:47:26.089: I/System.out(995): <id>3</id> 10-20 10:47:26.089: I/System.out(995): <name>çè¾ä»</name> 10-20 10:47:26.089: I/System.out(995): </menu> 10-20 10:47:26.089: I/System.out(995): <menu> 10-20 10:47:26.089: I/System.out(995): <id>4</id> 10-20 10:47:26.089: I/System.out(995): <name>åæ¤éé¾é±¼</name> 10-20 10:47:26.099: I/System.out(995): </menu> 10-20 10:47:26.099: I/System.out(995): <menu> 10-20 10:47:26.099: I/System.out(995): <id>5</id> 10-20 10:47:26.099: I/System.out(995): <name>红ç§è</name> 10-20 10:47:26.099: I/System.out(995): </menu> 10-20 10:47:26.099: I/System.out(995): <menu> 10-20 10:47:26.099: I/System.out(995): <id>6</id> 10-20 10:47:26.099: I/System.out(995): <name>æé³ä¸åè</name> 10-20 10:47:26.099: I/System.out(995): </menu> 10-20 10:47:26.099: I/System.out(995): </menulist> 这就证明读取到了网络的xml,但是解析的时候出来问题。 接着我在本地的assets文件夹里写了一个xml文件: <?xml version="1.0" encoding="utf-8"?> <menulist> <menu> <id>1</id> <name>张三</name> </menu> <menu> <id>2</id> <name>李四</name> </menu> <menu> <id>3</id> <name>王五</name> </menu> <menu> <id>4</id> <name>高小小</name> </menu> <menu> <id>5</id> <name>李大大</name> </menu> <menu> <id>6</id> <name>郭剩剩</name> </menu> </menulist> 用同样的解析方法,可以解析出来,并且保存到SQLite数据表中。 这样看来是不是因为网络读取的xml文件格式有问题,所以导致的解析错误呢? 因为网络的xml是根据服务器的数据库文件自动生成的,所以到底该怎么弄呢?我没思路了又 ######回复 @hanzhankang : 最后发现就是空尖括号的错误,多谢多谢啦!!######回复 @skywxx : 估计是编码问题了,那个应该也不影响,判断一个xml文件正确的方法是用浏览器能不能正确打开不报错。 编码问题比较好解决,可以通过设置 过滤器 或者在读取的时候、放送的时候设置,这方面的资料网上很多的。######回复 @hanzhankang : 我也不知道为什么有<>因为服务器端的xml文件是根据数据库中表里的数据产生的,<>怎么产生的我也很纳闷。编码问题?应该是在数据库端的响应中设置,是吧?######估计是你的编码有问题,系统无法解析,就出现异常了吧、######首先你要把获取来的内容输出(记得统一编码格式),再根据内容解析出来数据。你要确保输出的内容符合xml编码规范。第三行为啥还有个“<>”?我看错了?######你先用浏览器看看能不能访问: http://111.186.100.77:8080/Wireless_Serverservelet/UpdataServelet######可以访问,说明,不会出现获取服务器数据被封的情况吧?######是可以访问的###### String urlStr = HttpUtil.BASE_URL + "servelet/UpdataServelet"; 和 http://111.186.100.77:8080/Wireless_Serverservelet/UpdataServelet 比起来,是不是多了个“servelet/”??? ######我定义的 BASE_URL 是:public static final String BASE_URL = "http://111.186.100.77:8080/Wireless_Server",然后加上后边的servelet/Updateservelet###### http://111.186.100.77:8080/Wireless_Server/Updateservelet 是你想访问的地址还是 http://111.186.100.77:8080/Wireless_Server/servelet/Updateservelet ######你最后把访问的 全网站打印出来,便于分析。######回复 @skywxx : 这个不是看你在哪个文件夹下的,而是看你在web.xml文件件下的配置,你把配置贴出来看看。######我改成http://111.186.100.77:8080/Wireless_Server/Updateservelet,还是报相同的错误.Updateservelet.java是在Servelet文件夹下的,所以我前边加了一个Servelet###### 引用来自“hanzhankang”的答案 http://111.186.100.77:8080/Wireless_Server/Updateservelet 是你想访问的地址还是 http://111.186.100.77:8080/Wireless_Server/servelet/Updateservelet <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.wang.servlet.LoginServlet</servlet-class> </servlet> <servlet> <servlet-name>PayMoneyServlet</servlet-name> <servlet-class>com.wang.servlet.PayMoneyServlet</servlet-class> </servlet> <servlet> <servlet-name>PayServlet</servlet-name> <servlet-class>com.wang.servlet.PayServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateServlet</servlet-name> <servlet-class>com.wang.servlet.UpdateServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>PayMoneyServlet</servlet-name> <url-pattern>/servlet/PayMoneyServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>PayServlet</servlet-name> <url-pattern>/servlet/PayServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/servlet/UpdateServlet</url-pattern> </servlet-mapping> <filter> <filter-name>EF</filter-name> <filter-class>com.wang.filter.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>EF</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> web.xml是这样的,昨天整程序整的晕得连汉语意思都看不懂了,你看看我这里边UpdateServlet ###### 那地址是:http://111.186.100.77:8080/Wireless_Server/servelet/Updateservelet 不过http://111.186.100.77:8080  你这个像是外网地址,你确定正确能访问? ######回复 @hanzhankang : 今天我换了一个思路,现在本地文件夹assets中写了一个xml,然后解析这个,程序是可以正常运行的,这就证明解析方法没错。那怎样看一下是不是读取过来数据 呢?######回复 @skywxx : 既然获取了数据,你就好好解析结果,dom,sax都无所谓的,网上也有代码,很好找的!xml,json数据格式最好都尝试一下,这些都是很实用的!######回复 @hanzhankang : 我try/catch异常,现在报了这个异常,好像是SAX解析的异常,但是我用的是DOM解析啊,这是什么原因呢?org.xml.sax.SAXParseException: name expected (position:START_TAG <null>@3:2 in java.io.InputStreamReader@411cce48)######回复 @skywxx : 我想你做了这个例子就知道原理是什么了,你的方法已经很好了,其他的方法也是对原始方法的封装!######关于android 手机端与服务器端数据传递的各种形式,你是怎么学习的啊?有没有好书推荐?

kun坤 2020-06-07 14:36:53 0 浏览量 回答数 0

回答

动过/etc/environment? ######装jdk的时候,自己配置,动了 /etc/environment,就会出现这个问题,以前我也经常被这个问题弄了###### 肯定是某个配置文件大意了~ 也许是bashrc啊也许是profile啊也许是bashprofile啊什么的涉及到登陆后载入的用户个性配置(~/.xxxx)或者是登陆后用户的总配置(/etc/xxxx) 可能你少了个分号什么的大意原因结果挂了。 尝试进入文字界面终端:Ctrl+Alt+F1~F7,如果进不去那就证明可能真是用户配置文件了 那就只有在grub里选恢复模式 或者直接在grub启动init 3 / bash 等等干净的进入文字系统 检查之前改的总配置文件和用户个性配置文件 如果总文件没问题又确定不了用户个性启动配置文件的问题所在,那就干脆放弃这个用户,重建一个用户。 ---- 其实在使用linux之初,应该建立几个用户以备不同需要,同时尽量不去动总配置文件,因为几乎所有的软件和系统相关配置都可以相对于用户去个性配置。。。这样即使出错也能快速定位甚至嫌麻烦直接舍弃某个被自己搞死的账号。O(∩_∩)O ######啊,越发觉得英语的世界里资料尤其丰富得多——而且,也更加钦佩 Google了,这是我所找到的与自己的问题相同的问题,只不过,我这里是由于改环境变量时少了个在$号,而导致整个环境变量完全没有了, after 12.04 upgrade: can't log in although password is correct 不过,至少我记起了ctl+alt+F1等操作 ###### 引用来自“明月照大江”的答案 装jdk的时候,自己配置,动了 /etc/environment,就会出现这个问题,以前我也经常被这个问题弄了 嗯,动过/etc/profile,里面的path设置动过,问题原因是找到了,但是怎么解决这个问题呢? ###### 引用来自“hdzw_Rock”的答案 肯定是某个配置文件大意了~ 也许是bashrc啊也许是profile啊也许是bashprofile啊什么的涉及到登陆后载入的用户个性配置(~/.xxxx)或者是登陆后用户的总配置(/etc/xxxx) 可能你少了个分号什么的大意原因结果挂了。 尝试进入文字界面终端:Ctrl+Alt+F1~F7,如果进不去那就证明可能真是用户配置文件了 那就只有在grub里选恢复模式 或者直接在grub启动init 3 / bash 等等干净的进入文字系统 检查之前改的总配置文件和用户个性配置文件 如果总文件没问题又确定不了用户个性启动配置文件的问题所在,那就干脆放弃这个用户,重建一个用户。 ---- 其实在使用linux之初,应该建立几个用户以备不同需要,同时尽量不去动总配置文件,因为几乎所有的软件和系统相关配置都可以相对于用户去个性配置。。。这样即使出错也能快速定位甚至嫌麻烦直接舍弃某个被自己搞死的账号。O(∩_∩)O 是的,后来在英文网站里找到相同问题及其解决方法,可惜的是:当我改为原来的PATH环境后,重启,还是进不去,采用虚拟终端进去后,发现环境变量又恢复为其默认的错误PATH环境! ######http://forum.ubuntu.org.cn/viewtopic.php?t=377149######http://m.baidu.com/bd_page_type=1/pu=sz%401320%5F1001%2Cusm%400%2Cta%40iphone%5F2%5F2%2E3%5F3%5F533/uid=C2875365951B482C9053DF9A09989B0A/t=iphone/w=0_10_%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3+ubuntu+%E9%85%8D%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%90%8E%E4%B8%8D%E8%83%BD%E7%99%BB+%E5%BD%95/ssid=0/from=844b/l=3/tc?pn=15&m=8&sec=24976&di=a40ffd9d1a694f45&src=hi%2Ebaidu%2Ecom%2F%25B2%25A9%25B2%25C5anan%2Fblog%2Fitem%2F720356dd1052cbaecd1166c6%2Ehtml######用12.04安装java的时候遇到过这个问题,也是由于将环境变量配置在 /etc/envirenment造成的,换个地方配置就可以了######ssh远程登录修改 /etc/envirenment或者用ubuntu 光盘用live模式进入修改/etc/envirenment

kun坤 2020-06-06 14:55:01 0 浏览量 回答数 0

问题

Maven hibernate映射文件单独分模块问题:报错

kun坤 2020-06-06 16:35:30 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站