5年JAVA应用系统开发,想做一个网站,居然不会
做JAVA开发5年了,一直从事的应用系统开发,基本上用SSH做应用系统的主要开发架构,做系统到是轻车熟路,游刃有余。但就最近做了一个网站,“大姑娘上轿头一回”,不知道采用什么方式去做(主要是前台页面数据显示的问题),而且网站也很简单,只需要做页面,然后把数据显示出来就行,因为要和应用系统嵌在一起,所以后台的开发都不存在什么问题,几天光景就给全部完成,关于前台数据显示我想Action去做,肯定不行,操作起来不是很方便,也不合理,后来我就采用JQuery+AJAX做的,网站到是做完了,自己测试一切OK,但是后来投入试运行,问题来了,人访问的多了,页面就一直处于打开等待状态,最后数据不显示,后来我在本机测试,我不停的刷新和打开页面,到一定次数,也出现同样地情况,出现这种情况我只有把我的tomcat重新启动,然后页面显示才正常。
例如我的首页(default.jsp)
要查询首页栏目(数据表:WWW_FANCE),系统公告(数据表:WWW_AFFICHE),文章(数据表:WWW_ARTICLE)....等等,总之这个首页查询的数据特别的多,如下:
<script type="text/javascript">
var dep = "40288a3925da98f90125daa35aa6000e";
$(document).ready(function(){
queryAffiche(dep);
disSysTime();
queryNewSlidesPic(dep, 4, "n");
queryWorkTask(dep, 8);
queryArticle("40288a3c3146af43013146e51b64000c", 10, "news ul", 19);
queryArticle("40288a3c3146af43013146e57aca000d", 10, "f2-1 ul", 19);
queryArticle("40288a3c326c3f9001326c7fe0e20006", 10, "f2-2 ul", 26);
queryArticle("40288a3c334868de01334ab1ec6a000e", 10, "f2-3 ul", 19);
querySafetyDays(dep);
queryMetting(dep, '0');
setLeftPosition();
queryLatestPhotoAlbum(dep, 6);
queryNavFance(dep);
queryPersonInfo();
});
</script>
我不知道是不是我这样一种方式去做是不是不可行的,,或者我出现这样的情况到底是什么原因引起的,希望JAVA搞网站开发的老大们指点一下,后来请教了一个朋友,说用DWR去做,,我现在的思路不是特别清楚,希望能指点指点,谢谢。
[解决办法]
老大你写的代码我重来没有见过!!!
我帮你顶一下吧~~!!
[解决办法]
tomcat 是一个内存连接什么的。你报错的信息有吗?
应该在你tomcat的log里头会看到报错的,我记得。
[解决办法]
代码不全呀
[解决办法]
tomcat的效能调校过了吗?
[解决办法]
谁告诉你首页不能action跳过去?你一个首页请求那么多,早晚垮。
网站访问量大,框架越简单越好,你非用最笨重的ssh。
一个页面上十几个查询,再加上用户身份什么的,一个人开二十几个数据库会话,游标估计都快到上限了
=================
首页没可能全部显示吧?都是前多少条然后给个“更多”链接吧?
数据库,把所有首页需要的数据变成物化视图。
后台,首页需要的所有查询写到一个方法里,防止每个调用都产生一个action代理,如果你struct2玩明白了就不用管这条。
前台,只有“用户读取之后做出动作才发生变化的”用ajax,其它的老老实实走跳转。
服务器,找个明白tomcat的人好好设置下参数。
[解决办法]
我们公司做的系统也出现了这个问题,最近刚刚发现。听他们说调tomcat,具体怎么我也不会,抱歉啊!
[解决办法]
我们的项目也是应用系统和web访问共存的。挑选合适的前台显示方式。你去看看velocity。
[解决办法]
打开页面等待状态,我碰到的情况就是服务器的线程满了,没有空闲的线程分配给其他用户,造成等待。
解决办法增加服务器的线程数,当然线程数是和服务器的CPU数量有关系不能随便加(我的是4个CPU,线程数定为120),同时300多人访问并操作还是够用。
[解决办法]
生成静态文件保险点。
[解决办法]
水深啊,我初学就更难了
[解决办法]
我觉得这个跟设计有关吧。。。。
请问楼主是否一直从事编码。。。。比较少干设计的事情啊。。。
如果你有经验设计过一个比较完整的系统的话,我觉得遇到这种题的可能性小
也比较容易解决。。。
技术很重要。。。。但如果设计的不好,可能会出现很多瓶颈。。。
[解决办法]
而且好的设计能使开发更加简单~~
[解决办法]
5年JAVA应用系统开发,想做一个网站,居然不会
==============================================
你以为你会做系统开发,直接就能上手做网站啊,现在的网站程序比你们的所谓系统开发复杂多了
[解决办法]
数据库设计是否合理,服务器配置是否合理,弄个监控软件看看哪里出现瓶颈了
[解决办法]
要查询首页栏目(数据表:WWW_FANCE),系统公告(数据表:WWW_AFFICHE),文章(数据表:WWW_ARTICLE)....等等,总之这个首页查询的数据特别的多,如下
首页数据必须缓存起来,后台数据没修改时候才去刷新缓存。
[解决办法]
ssh?数据源用了什么?
[解决办法]
jquery
[解决办法]
网站分很多种,有资讯类网站,有实时信息类网站,有交互类网站。
资讯类需要静态化,cdn加速。 实时信息类网站需要查询数据库,要求信息及时可靠,如证券信息,这个需要用到一些推技术后者socket技术实现。交互类网站(大型社区)这个架构最复杂。主从数据库,数据缓存,分流。
根据楼主的问题,可以获取的信息不是很多,初步估计是请求有阻塞。具体问题具体分析看是http阻塞还是数据库阻塞。
[解决办法]
貌似也遇到过 忘了怎么解决的...加个数据库连接池?
[解决办法]
网站跟企业级应用肯定不一样了,网站的特点是访问用户多,而访问用户多,常规架构的企业应用就顶不住了。考虑一些页面用静态化技术,系统架构方面考虑加一台或多台(用做负载均衡,分散访问量)Web服务器,避免频繁访问数据库如用缓存技术,还可以用gzip压缩。多试试,会有好转的。
[解决办法]
你们网站不做集群吗?
[解决办法]
碰到过类似的问题,我们这是数据库连接问题,连接占满了,不过我们用的是mysql数据库,还有一次是数据库有死锁了,楼主可以试试先不连接数据库进行刷新,看是不tomcat的事,有时tomcat线程不够用了也会出现等待
[解决办法]
有点悲催。。。。平常多积累一些优化知识。。。数据库的。。应用程序的。。。
网站的确有难度。。。对我来说 估计也是难事啊。。。。。。。
[解决办法]
我觉得,一方面首页除了在进行用户访问需要的时候才用jquery来做异步,其他时候不要那样。同时,同一个页面的查询使用一个数据库连接,连接资源相当宝贵,不要查一个表建一个连接,一方面数据库连接太多可能拒绝,另一方面等待时间长.第二个加上缓存系统,减少连接,比如连接池,使用上肯定比用纯JDBC好,而且你不是用了Hibernate么,把它的缓存好好利用.注意不要太多的jquery异步ajax,没实际作用的只会带来麻烦...也许说得不对,看哪个对你有作用吧!
[解决办法]
[解决办法]
人访问多了,不知道是不是tomcat内存溢出了,把内存调大些,
[解决办法]
我觉得 可能是你的Session没有管理好,我也遇到过类似的情况,一个列表页面多刷新几次就没反应了。
只有重启tomcat才好用,要是这种情况可以看看spring的配置方式,我用的注释型事务。
而且dwr 也可以用spring的依赖注入模式,说的不对见谅
[解决办法]
数据库连接关闭没,建议别用spring的事务
[解决办法]