转:Firebug的使用
摘要:本文最初发表《程序员》杂志第三期,现将全文贴上,内容已经过编辑修饰了很多:)什么是Firebug从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码;要编写精致的CSS样式表展示每个页面模块;要调试javascript给页面增加一些更活泼的要素;要使用Ajax给用户带来更好的体验。一个优秀的WEB开发人员需要顾及更多层面,才能交出一份同样优秀的作业。为帮助广大正处于Web2.0洪流中的开发人员,在这里为大家介绍一款轻巧灵活的辅助开发工具。Firebug是Firefox下的一款开发类插件,现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编
阅读全文
转:Http完整状态码列表
摘要:1xx(临时响应):用于表示临时响应并需要请求者执行操作才能继续的状态代码。100(继续)请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备进行切换。2xx(成功):用于表示服务器已成功处理了请求的状态代码。200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。201(已创建)请求成功且服务器已创建了新的资源。202(已接受)服务器已接受了请求,但尚未对其进行处理。203(非授权信息)服务器已成功处理了请求,但返回了可能来自另一来源的信息。204(无内容)服
阅读全文
转:web性能开发随笔
摘要:目标:开发高性能,可扩展的WEB应用。1.WEB应用的分层a.前端b.后端a.前端优化的重要性。分析工具GA和YSLOW1.一个request之前要做的优化。2.不要紧盯WEB后端优化。尽可能的访问服务器之前,消灭掉request. 前端优化的方法1.减少http请求。 方法:合并图片:使用CSS或者HTML的MAP标签来定位。 合并脚本和样式表:视情况而定。同一功能的耦合在一个脚本发布。如果是landing page和index页可以考虑使用内联脚 本和CSS的方法2.缓存图片和脚本. 方法:再web服务器设置Expires头。据统计大概60%以上用户带有完整缓存。要做的就是发布JS,CSS
阅读全文
Servlet简介
摘要:一、Servlet简介 Servlet是对支持Java的服务器的一般扩充。它最常见的用途是扩展Web服务器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一种动态加载的模块,为来自Web服务器的请求提供服务。它完全运行在Java虚拟机上。由于它在服务器端运行,因此它不依赖于浏览器的兼容性。servlet容器:负责处理客户请求、把请求传送给servlet并把结果返回给客户。不同程序的容器实际实现可能有所变化,但容器与servlet之间的接口是由servlet API定义好的,这个接口定义了servlet容器在servlet上要调用的方法及传递给servlet的对象类。servlet的生命
阅读全文
Servlets/JSP开发技术问答
摘要:(1)、为什么GenericServlet在init(ServletConfig config)基础上增加了一个init()方法? init()方法被GenericServlet.init(ServletConfig config)方法调用。 init()方法方便了开发人员定制Servlet的初始化,而无须去维护ServletConfig对象的存储工作。重写GenericServlet.init(ServletConfig config)必须要显示的调用super.init(config)方法。ServletContext.getContect(java.lang.Stringuripat
阅读全文
Servlet规范定义的Servlet 生命周期
摘要:Servlet有良好的生存期的定义,包括如何加载、实例化、初始化、处理客户端请求以及如何被移除。这个生存期由javax.servlet.servlet接口的init,service和destroy方法表达。1、加载和实例化 容器负责加载和实例化一个Servlet。实例化和加载可以发生在引擎启动的时候,也可以推迟到容器需要该Servlet为客户请求服务的时候。首先容器必须先定位Servlet类,在必要的情况下,容器使用通常的Java类加载工具加载该Servlet,可能是从本机文件系统,也可以是从远程文件系统甚至其它的网络服务。容器加载Servlet类以后,它会实例化该类的一个实例。需要注意的是可
阅读全文
JavaBean的Scope属性
摘要:对于JSP 程序而言,使用JavaBeans 组件不仅可以封装许多信息,而且还可以将一些数据处理的逻辑隐藏到JavaBeans 的内部,除此之外,我们还可以设定JavaBeans 的Scope属性,使得JavaBeans 组件对于不同的任务具有不同的生命周期和不同的使用范围。在前面我们已经提到过Scope属性具有四个可能的值分别是application 、session 、request、page分别代表JavaBeans 的四种不同的生命周期和四种不同的使用范围。bean只有在它定义的范围里才能使用,在它的活动范围外将无法访问到它。JSP为它设定的范围有:page: bean的缺省使用范围r
阅读全文
JSP运行时错误处理与应该注意的六个常见问题
摘要:1.对应String类型的对象使用println()方法时,如果对象为null,将打印null而不是引发NullPointerException,由此引用的问题是容易造成错觉,对于以后对字符串的操作容易引起问题。 2.引发NullPointerException异常,主要原因是没有对对象的存在性进行验证,在jsp编程中经常出现:if (request.getParameter(“username”).equals(“xxx”))、out.println(session.getAttribute(“record”))等。解决这个问题的方法是在使用前进行判空比较: if(request.getP
阅读全文
<%@ include file=""%>与<jsp:include page=""/>区别
摘要:我们都知道在jsp中include有两种形式,分别是Include指令:%@ include file=""%和include动作:jsp:include page="" flush="true"/ 前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。 通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用%@ include file=""%,哪些时候用jsp:include page="" flush="true"/。这种形
阅读全文
jsp语法概要
摘要:1、JSP表达式:%= expression % 计算表达式并输出结果。 等价的XML表达是: jsp:expressionexpression /jsp:expression 可以使用的预定义变量包括:request,response,out,session,application,config,pageContext。这些预定义变量也可以在JSP Scriptlet中使用。 JSP Scriptlet % code% 插入到service方法的代码。 等价的XML表达是: jsp:scriptlet code /jsp:scriptlet 2、JSP声明: %!
阅读全文
Velocity简介
摘要:Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例
阅读全文
FreeMarker简介
摘要:FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境FreeMarker更适合作为Model2框架(如Struts)的视图组件,
阅读全文