生产部署与运维协作指南
在软件开发的生产部署环节,会面临诸多挑战,特别是在支持不同应用服务器以及与运维团队协作方面。下面将详细探讨这些问题及相应的解决办法。
不同应用服务器带来的挑战
在开发过程中,如果能避免针对不同的应用服务器进行开发,那是最好不过的,因为它们之间存在着或大或小的差异。但如果无法避免,就需要尽早发现问题并做好准备。以下是可能遇到的一些问题:
1. 底层行为差异 :不同的应用服务器可能支持相同的 API,但隐式行为略有不同,这是由于 Servlet 和 J2EE 规范的不同实现所致。例如,在 Tomcat 3.2 中, HttpRequest.getCookies 在没有 cookie 时返回长度为零的数组,而 Tomcat 4.0 则返回空指针。这可能导致代码在不同服务器上出现 NullPointerException 。解决方法是添加空指针检查:
public Cookie getAuthCookie(HttpServletRequest request) {
Cookie authCookie = null;
Cookie[] cookies = request.getCookies();
int limit = (cookies!=null) ? cookies.length : 0;
for (int i = 0; i < limit; i++) {
if (cookies[i].getName().equals("auth")) {
超级会员免费看
订阅专栏 解锁全文
1045

被折叠的 条评论
为什么被折叠?



