发表于: java/j2ee | 作者: | 日期: 2010/1/14 02:01
标签:

1、servlet与applet的区别:
(1):applet运行于浏览器中的JRE中,而servlet运行于Web服务器的servlet容器中;
(2):servlet没有图形用户界面,而Applet有丰富的图形用户界面。

2、servlet与JSP的区别:
servlet侧重于逻辑,JSP侧重于显示。一句和经典的话:servlet是包含HTML代码的Java程序,而JSP是包含Java代码的HTML网页。

3、servlet的运行机理:
servlet和Web应用服务器的servlet容器交互以接收请求返回响应。
请求最先由Web应用服务器的servlet容器处理并传给servlet,
servlet通过Web应用服务器返回响应给客户端。
客户端程序可以使用任何可向Web应用服务器发送请求的语言开发。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/13 12:01

web.xml里面可以定义两种参数:

(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: More …

发表于: java/j2ee | 作者: | 日期: 2010/1/13 11:01
标签: ,

Filter概述
或许,servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一种功能强大且标准的替代品。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/12 12:01
标签:

=====================================
前言
在太原经历了一年的痛苦开发之后,项目已经日趋稳定,接下来的工作就是拿现有的代码到其他的省市进行实施、然后做一些本地化开发。日子相对轻松了许多,于是可以抽出时间来温习一下基础的技术知识,给自己列了一个复习提纲,这也是一个java程序员所应该掌握的知识脉络。

=====================================
1、Core Java
Core Java是基础之中的基础,所以对core java的要求也相对较高一些。我一直对自己说要用java培训讲师的标准来要求自己,虽然未必能够做到,但要一直朝着这个方向努力。

推荐书籍:
(1)《张孝祥Java 就业培训教程》(下载链接:http://download.csdn.net/source/185549
(2)《Java编程思想》(下载链接:http://download.csdn.net/source/1847523

===================================== More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/11 08:01

=====================================
jsp自定义标签概述
JSP自定义标签(有些书籍中称为JSP标签扩展)可以看成是一种通过用户编写的标签处理器(实现特定接口的Java类)生成基于XML的脚本的方法。从概念上讲,标签就是很简单而且可重用的代码结构。

一般处理相似任务的若干个自定义标签会被打包为一个JAR文件,作为一个标签库来使用。

使用自定义标签的好处:

1、逻辑与显示的分离。
在没有使用自定义标签之前,我们一般使用scriptlet来进行逻辑处理。使用scriptlet可以快速编码,但随之而来的一个弊端就是逻辑与显示混杂在一起,从长远来看,这并不是一种好的解决方案。而自定义标签则能够将逻辑与显示分离,为项目带来了长期的收益。

2、代码可重用
自定义标签很容易从一个JSP项目迁移到其他项目。一旦建立了一个标签库,则只需要将所有的东西打包为一个JAR文件,你就可以在任何的JSP项目中重新使用。
 
3.可以对JSP进行无限扩展
标签库可以具备JSP规范(JSP 1.2)中的任何特性和功能,你可以无限制地扩展和增加JSP的功能,而无需要等待下一版本JSP的出现。例如,你对JSP的include调用不太满意。你可以建立自己的include标签,该标签执行的是你自己的规范。 More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/09 03:01

=====================================
前言
jsp的9个内置对象中,request对象和response对象是最常用的,需要掌握的东东也相对多一些,于是分别单独作了一些笔记,其他的7个内置对象则在此简单记录一下,有了大致了解就OK了。

request对象学习笔记:
http://www.darkmi.com/blog/archives/1024

response对象学习笔记:
http://www.darkmi.com/blog/archives/1025

=====================================
out对象
out对象的类型是javax.servlet.jsp.JspWriter,该类从java.io.Writer类派生,以字符流的形式输出数据。out对象实际上是PrintWriter对象的带缓冲的版本(在out对象内部使用PrintWriter对象来输出数据),可以通过page指令的buffer属性来调整缓冲区的大小,默认的缓冲区是8kb。

JspWriter抽象类的API帮助文档地址:
http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/jsp/JspWriter.html

out对象的主要方法如下:
(1)print()、及println()
输出数据,包括对各数据类型进行支持的重构方法。是out对象最常用的方法。

同print()相比,println()函数会多输出一个换行符,不过换行的效果是针对生成的html源代码,而在页面显示上是看不到换行效果的。想要在页面上换行可以这样做:


out.println(“
“);

More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/09 03:01

=====================================
JSP编译指令概述
编译指令的英文原话是“directive”,原意是“指示、命令”的意思。在一些java技术书籍中将其称翻译为“伪指令”,也有将其翻译为“编译指令”的,我个人更习惯叫编译指令。只要知道都是指的“directive”就OK了。

JSP的编译指令是通知JSP引擎的消息,它不直接生成输出。编译指令都有默认值,因此开发人员无须为每个指令设置值。

常见的编译指令有3个:

page:该指令是针对当前页面的指令。

include:用于指定包含另一个页面。

taglib:用于定义和访问自定义标签。

使用编译指令的语法格式如下:

<%@ 编译指令名 属性名="属性值"…%>

===================================== More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/08 01:01

response对象
response对象包含了响应客户端请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse的实例。

(1)String getCharacterEncoding()
返回响应用的是何种字符编码,该输出同page编译指令的pageEncoding是相关的。


<%@ page language="java" pageEncoding="GBK"%>


a.jsp


<% System.out.println(response.getCharacterEncoding()); %>


输出为:

GBK

如果将pageEncoding修改UTF-8,那么输入则为UTF-8。

(2)ServletOutputStream getOutputStream()
返回响应的一个二进制输出流

(3)PrintWriter getWriter()
返回可以向客户端输出字符的一个对象

(4)void setContentLength(int len)
设置响应头长度

(5)void setContentType(String type)
设置响应的MIME类型

(6) sendRedirect(java.lang.String location)
重新定向客户端的请求

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/08 01:01

request对象
request对象封装了客户端的请求信息,服务端通过request对象可以了解到客户端的需求,然后做出响应。request对象是HttpServletRequest(接口)的实例。HttpServletRequest接口继承自ServletRequest接口,只是增加了一些HTTP相关的方法。所谓的request(在JSP中使用的)其实只是规范中的一个名称而已,它是一个对象,但并不是由SUN提供,而是由各个不同的Servlet提供商编写的,SUN只是规定这个类要实现HttpServletRequest接口,并且规定了各个方法的用途,但具体的实现则由各个提供商自己决定。

request对象的主要方法:

(1)setAttribute(String name, Object value) 和 getAttribute(String name)
前者用来在request中保存一个属性值,后者则返回name指定的属性值,如果指定的属性值不存在,则返回一个null值。这一对方法用来在不同的请求之间传递数据,而且从上一个请求到下一个请求必须是转发请求(forward),而不能是重定向请求(redirect)。API文档中已经有明确的说明,这两个方法是同RequestDispatcher联合使用的。
More …

评论关闭
发表于: java/j2ee | 作者: | 日期: 2010/1/08 01:01

=====================================
javaBean简介
模块化的设计思想首先在硬件及电子技术领域中得到广泛应用。通过模块化的设计,电子产品得以在流水线上通过各种标准化零部件进行组装生产。这种思想逐渐延伸及软件领域,就是基于组件的编程技术。在java世界中,javaBean即是其中一种组件技术。

bean的定义很广泛。bean简单的说是满足两项需求的Java类:
(1)它包含一个无参的构造器;
(2)它利用Serializable接口使之可持续。
More …

评论关闭