`
小风尘
  • 浏览: 3943 次
  • 性别: Icon_minigender_2
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JSP网站建设

 
阅读更多
转自:http://sunweiherber.iteye.com/blog/717524
前段时间作了一个政府部门的网站,由于他们完全不懂,所以是全委托开发和发布的。
总结以下心得,和朋友们分享。
1、需求
  对于一般大公司接的项目,需求比较好作。而这个项目他们的负责人心里也没有谱,只是有个大概的思想,最终 也得领导看过才能确定下来。没办法,只有先作出一个静态网站出来,作需求。因为他们不是很懂,所以给他们做成什么样子,大框基本不会改动,只是修改栏目和 内容。用了不到一周的时间,静态网站完成,先掛上再说(因为他们还会不断的改这改那,一直到网站最终完成,需求也就结束了)。

2、JSP虚拟空间的选择
  小型的网站一般都是租用空间。对于JSP虚拟空间的选择,一是看稳定性,二是看价格。在国内可选的JSP空间租用的公司相对ASP空间不是很多,而且价格也很高。一般选择前都要看一看网友对这家公司的评价。另一方面就服务器的性能,是LINUX的服务器还是WINDOWS的服务器,还有servlet容器(比如tomcat)的版本,jre的版本,数据库是什么版本。对WEB服务器无所谓,iis还是Apache都可以,不用关心。如果是BEA或IBM服务器的价格也相对高一些。(有钱租它们,还不如直接租用主机,性能会更好。)我租用的是LINUX主机 ,Apache+tomcat服务器,电信单线(单线便宜),服务商赠送的mysql数据库,最多访问数100。JSP虚拟空间大数都是这样的。而对于服务器和JRE,还有数据库的版本都比较低(服务商都会采用比较稳定的一个版本),这个是要注意的,如果版本不一样tomcat工程文件和CLASS文件上传上去,可能会发生错误的。这个在开发之前一定要确定好,最好一样。最后,大多数人的开发环境都是WINDOWS,而我们选择的服务却是LINUX,不用但心,用ftp上传上去,一点问题都没有(这就是JAVA跨平台的好处)。

3、数据库
(1)编码,只要存入和显示都正确就可以,在本地环境和实际环境还是不一样的。一般都是utf8编码,JAVA文件,JSP页面,数据库设置保持一致就好。这样问题就想简单了,我们自己可以控制JAVA文件和JSP页面,但数据库就不行了,服务商是不会给你改的,毕竟这个数据库不是你一个人在用的。
我也遇到了,后来在datasource里是这样设置的:useUnicode=true;characterEncoding=utf-8,hibernate设置:hibernate.connection.url jdbc:mysql://localhost:3306/数据库?useUnicode=true&characterEncoding=utf-8 ##统一编码。
(2)接连问题
接连池是一定要有的,提高访问效率吗。修改TOMCAT的连接池,不可能。我用的是hibernate的c3p0,要注意连接数据不要太大,虚拟主机不会给你分配太大的内存,连接数过多,服务器会爆掉的。
也可以不用接连池,但虚拟主机设接连池的好处主要就是自动连接数据库。数据库重启或异常断开,你不能总自己去重启TOMCAT吧(而且又不知道什么时候连接断开)。
c3p0的设置很多,主要测试连接的那项设置一定要选上。
(3)phpadmin很好用的数据库管理系统。

4、域名
现在申请个域名那就是一个字难,还要审批,最少要20个工作日。

5、内存
虚拟主机被分配的内存很小,一般只有100多兆,一不小心TOMCAT服务器爆了。以前我写代码从不关心内存问题,相信java会自己释放内存。它是会自动释放内存,但不是时时释放,稍微攒一小会就内存不足了,而且虚拟主机的TOMCAT不会自动释放内存,一但内存不足,WEB服务马上被停掉,这是服务商设置的。我找他们理论过,只能自己优化代码。
代码优化:
(1) 少的引用jar包。
(2) 少用new,对象用后最好设置为null(优先释放)。
(3) 数据库连接和数据流的操作后,一定要关闭,最后设置为null。
(4) 少用session存大量数据。
(5) 大数据量文本时最好存文件,引用时可用include。
做了以上优化后,内存不足的问题真的解决了吗?答案是NO。
(6) 每调用action结束时主动gc。(只有牺牲性能作为代价了。)
试运行一周没问题。

6、网站强大的后台管理
网站开发结束了,需求也结束了。我滴个神啊,网站后台管理太丰富了,他们任何一个内容都要动态管理。

7、费用
费用结算无限期等待中…
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics