JSP + Servlet+ JavaBean2010-04-0400:181.Servlet中doGet和doPost的区别:
doGet:处理GET请求
doPost:处理POST请求
两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。
当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。
HTTP Servlet 使用一个 HTML 表格来发送和接收数据。要创建一个 HTTPServlet,请扩展 HttpServlet 类。
HttpServlet 类包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是继承的。
执行一次 init() 方法。
2. Servlet的生命周期:
1、servlet容器创建servlet的一个实例
2、容器调用该实例的init()方法
3、如果容器对该servlet有请求,则调用此实例的service()方法
4、容器在销毁本实例前调用它的destroy()方法
5、销毁并标记该实例以供作为垃圾收集
3.Servlet的主要功能及过程:
Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
客户端发送请求至服务器端;
服务器将请求信息发送至Servlet
Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求
服务器将响应返回给客户端
其实jsp就是servlet,每一个jsp在第一次运行时被转换成servlet文件,再编译成.class来运行。
有了jsp,因此在MVC模式中servlet不再负责生成html页面,转而担任控制程序逻辑的作用,控制jsp和javabean之间的流转。
4. JSP与Servlet的区别与联系:
尽管jsp在本质上就是servlet,但是两者的创建方式不一样:
servlet完全是java程序代码构成,擅长于流程控制和事务处理,而通过servlet来生成动态网页很不直观;对于静态的html标签,servlet都必须使用页面输出流逐行输出
Jsp由html代码和jsp标签构成可以方便地编写动态网页因此在实际应用中采用servlet来控制业务流程,而采用jsp来生成动态页面。在struts框架中,jsp位于MVC设计模式的视图层,而servlet位于控制层。
Servlet中没有内置对象。
Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端。
总之,jsp是servlet的一种简化,使用jsp只需要完成程序员需要输出到客户端的内容,至于jsp中的java脚本如果镶嵌到一个类中,由jsp容器完成,而servlet则是个完整的java类,这个累的service方法用于生成对客户端的响应。
JSP就象宾馆前台的服务员,要长的不错,让顾客一看就觉得比较舒服,他主要就是负责显示这个宾馆的形象的.而SERVLET就象部门经理,要处理各种各样的业务和事情,而bean呢就象是高层领导了,他负责从部门经理处获得信息,报告给董事会,或者把董事会的建议和计划吩咐下去.他们分工合作,各干其职。
5.JavaBean
JavaBean是一个可重复使用的软件组件。
实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。
由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:
1. 可以实现代码的重复利用
2. 易编写、易维护、易使用
3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。编写javabean就是编写一个java的类,所以你只要会写类就能编写一个bean,这个类创建的一个对象称做一个bean。为了能让使用这个bean的应用程序构建工具(比如JSP引擎)知道这个bean的属性和方法,只需在类的方法命名上遵守以下规则: 1. 如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法: getXxx(),用来获取属性xxx。 setXxx(),用来修改属性xxx.。 2. 对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用"is"代替上面的"get"和"set"。 3. 类中方法的访问属性都必须是public的。
4. 类中如果有构造方法,那么这个构造方法也是public的并且是无参数的。
JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。