`
文章列表
有一种观点如下,请大家围观并踊跃讨论: pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容编码 JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。 第二阶段是由JAVAC的JAVA源 ...
我们在本地开发web应用的时候,直接在IDE里面就可以完成jdk、容器、数据库的配置和集成。 但是如果当我们把应用程序交付给用户使用的时候,不可能把在客户端配置eclipse。 而且我遇到的这个情况是,十几个客户在不同的地 ...
一直想找时间把自己实践中理解的、运用的设计模式整理一下。 最初的困扰 想想最初接触设计模式的时候,看到一本译文书籍,哇,真是看不懂。然后尝试看网上的各种博文,买一些大家推荐的设计模式书籍,看到是能看懂了,但是具体什么场景下合适什么模式,在实际的编码时还是犹豫不定,不敢下手,感觉还是没有学会。尤其是在做设计的时候,总是想把设计模式在前期设计的时候引入到设计中,但是总是觉得比较牵强,投鼠忌器、战战兢兢。 释然的机缘 再后来,接触到一本书,讲的是重构和设计的关系,在这里获得了一种思想,即为了避免过度设计,除非是在能预见系统的需求变化的情况下,否则不建议在系统设计的前期来引入设计模式。而是在 ...
经过前两次的性能优化之后,系统性能已经得到了很大提升,不存在登陆页面打不开的情况。 又经过一段时间的观察,发现系统有如下两个比较明显的问题: 1、登进系统之后点菜单,能明显感觉到系统有停顿 2、个别实例偶 ...
系统怎么这么慢???   甲方的人又从楼上走下来,边走变嚷嚷这慢慢慢。   嗯?怎么可能,昨天不是放大连接池了么,为什么还慢?   迅速拾掇出昨天的定位步骤,三步下来,不属于任何一种情况:cpu、内存、正常! tomcat没有溢出!!没有连接不够用的异常!!!   这里需要介绍一下我们的系统架构,前端apache负载均衡到后面的四个集群节点,apache独立部署在一台主机上,四个节点分别部署在两台主机,每台主机各两个。   用户反映说登陆页面打开要好长时间。静心想想这个过程吧。   请求到了apache,apache根据负载均衡策略,分发请求到后面的四个节点。现在是页 ...
生产系统登不上去啦!!! 刚到单位,无数个用户电话接踵而至。甲方的人员也过来了,恨不得一口气说完所有的抱怨,给我们的排查增加了额外的凝重。   好吧,静静心,捋一捋思路: 通常我们会从极端情况开始盘查:   1、生产主机的内存、cpu、IO、负载是不是很高? 根据经验,如果主机环境这些参数较高的话,服务器的响应能力肯定会急速下降。 top命令查看之后,基本排除这个假设   2、tomcat是不是内存溢出了? 根据经验,如果服务器内存溢出,肯定不会有任何响应了,但是我们从tomcat日志中看到,还有业务日志不停的记录。 所以,基本上也排除了这个想法。   3、既然主 ...
最近有用户反馈,生产系统登陆页面总是打不开。经过一段时间的优化,做一个总结。 我将围绕此次实战的前前后后展开问题定位和排查的思路和最终的解决方案。 希望各位兄台多交流。

程序猿的苦闷一

    一直待在从事企业应用开发的大公司,有一个问题比较突出。接触的东西比较少,眼界不够开阔。     大公司太规范,不会创造全才。举个例子来说:大公司中,架构师是分很多类的,有业务架构师、应用架构师、数据库架构师。为什么这样做呢,其实也比较容易想明白。三个人每人负责一类,那公司对你三人的依赖不是那么强,即便有一个架构师离职了,那不还有两个在吗?离职的那一块很容易就补上了。但是如果一个人身兼三份,那离职之后这个公司岂不。。。这其实就像面向对象的单一职责,被公司运用到了极致,呵呵。     所以,这类猿兄们你们从事企业应用,接触不到多少高并发、数据库拆分、使用不上消息队列、各种一系列的苦闷。。 ...
单例模式不是你想的那么简单!! 面试的时候,好多人都说自己会使用单例模式,但是让他写出来代码看看,还是不够理想的。 其实单例模式有很多要点,今天就由我来总结一下吧: 单例模式的目标:在整个软件系统中,使得某一个类的就保持一个实例对象的存在。 好吧,那换句话说就是:实例不是你想new,想new就能new。那该怎么保证呢? 单例第一条:构造方法必须自定义为private,这样调用者就休想实例化,你是否注意到了? 至此,有一个问题需要我们来解决了,那就是实例谁来创建? 单例第二条:聚合自己,即含有本类型的一个静态成员,并提供对外接口用于返回该成员 嗯,那现在是不是该看看大家一直比较关注 ...
    每每想起自己之前所在的一个公司,代码中导出充斥着try-catch、throw 这些代码,就觉得这个公司对不起他自己的名声。     呵呵,后来释然了,好多大公司其实代码都是从无到有的过程,只是后来想重构的时候,却发现工作量巨大,所以就放弃了。可能当时的环境,技术还没有那么纯熟,诸多因素吧,造就了今天我们觉得繁杂的代码。     今天就把自己多年的实践经验和大家分享一下:如何在web应用设计中,少些异常捕获相关代码,多关注业务逻辑。     我们以常见的三层设计为例,action、service、dao,看看如何在三层java代码中规避异常捕获代码。 假设我们的dao中,有一个异 ...
DBCP配置如下: maxactive  5 minidle    5 maxidle    5 initialsize 5 问题一:这个池中最多可能会有多少连接? 问题二:这个池中最少可能会有多少连接? 问题三:inactive状态的连接是不是就是空闲连接?
coder做久了,就有一种不安分,鲤鱼跳龙门的躁动。   想理解SOA,别想着如何实现(通病),咱们慢慢聊~~   SOA 是一个架构模型 , 可以说是一个宏伟的设想和蓝图 。每当听到火箭发射成功的时候,总有一个总设计师出现。对,他就是提出这种设想和蓝图的人。   Webservice  是一种实现SOA蓝图的规范和标准。Webservice说,照着我的标准和规范作,你就可以实现SOA蓝图。火箭设计指导专家,他制定规范和标准。   Axis / Xfire / CXF /JWS 他们哥几个是对Webservice的标准和规范的实现,是真正用来开发SOA应用的工具和平台。就是站在操 ...
我们下载了jbpm4.3之后,在建立自己的jbpm web工程时,往往要使用mysql、oracle数据库,而非例子中的内存数据库。以下是我的搭建经历。   1、建mysql数据库   2、使用mysql图形化工具导入见表脚本,路径在jBPM4.3\jbpm-4.3\install\src\db\ ...
这一段时间一直在学习jbpm,刚刚能把临远的例子写出来,但是一个头疼的问题就萦绕在脑海中了。   临远提到的例子,只是简单的流程流转。让我知道了,如何获取流程引擎,如何获取代办任务,如何让完成任务等等。但是如果将这点工作流知识结合我正在做的系统,貌似工作流根本就和我的业务关联不起来。于是有了今天的话题,那就是工作流和业务系统的结合到底在哪里。   忽然想起以前的一个系统,先做一下简单的介绍。那个系统是做产品的,从产品创建一直到产品消亡的全生命周期的管理。在这个产品表里面有一个字段,记录的是流程实例ID,那个时候我刚入行,对于这种设计只会机械的接受,不会有过多的思考。现在想来,貌似就是我们 ...
自定义jsp标签步骤: 1、定义标签类:继承TagSupport类,实现doStartTag方法 在该方法中,用pageContext获取request和responst,如下: HttpServletRequest req = (HttpServletRequest) pageContext.getRequest(); 用pageContext获取writer对象,往页面写东西,如下: JspWriter out = pageContext.getOut();   通常我们是写一段拼接html的字符串,然后out.write输出字符串 记得关闭out   2、配置一个tld ...
Global site tag (gtag.js) - Google Analytics