千里马

天马行空

servlet重点

 1,开发一个servlet大致需要的步骤:
   (1),编写servlet源码并编译。
    (2),在web.xml进行相应的配置。
     (3),将包含该servlet的web应用程序部署到web容器里,并启动web容器。
       (4),通过浏览器访问该servlet。
2,servlet 的四个周期: 加载,初始化(init()),提供服务(service()),销毁(detory())
3,get的请求方式会把请求的参数追加到请求的url后面,首先在url的后面加一个?,然后使用"参数名=参数值",的形式追加参数。
  post请求方式则是把请求的参数放在请求的正文里,不能直接通过url看到。,
4,获取客户端参数的两种方式:getParament()(只有一哥 参数)和getParamentValues()(用于多值的参数)
例子:
 String username= request.getParament("username")
String[] hobbies=request.getParamentValues("hobby");
5,cookie:记录在客户端浏览器的数据,它的格式是“名-值”对,一般可以通过cookie保存一些用户的数据,如,登录名,密码等。
java web容器会在用户第一次请求的时候在浏览器的cookie里加入 一条名为“jsessionid”的数据,同样web容器也有。以后的每次请求浏览器都会把cookie的值传回到服务器端,所以服务器就会根据‘jsessionid’的值跟踪一个用户了。浏览器关闭,跟踪结束。(回话的时间是有限制的)
6,servlet转发一个http请求分为直接转发和间接转发。
 间接转发本质是两次http请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个url发送,从而达到转发的目的。
直接转发是浏览器只发出一次请求,servlet把请求转发给servlet,Html,jsp或其他信息资源,有第二个信息资源响应该请求,在请求对象request中保存的对象对于每个信息资源都是共享的。
web应用程序大多会有一个控制器,由控制器来控制请求应该转发给那个信息资源,然后有信息资源处理请求,处理我完后还可能转发给另外的信息资源返回给用户,这个过程既是经典的MVC模式。
7,过滤器:就是在目标资源和源头资源之间起到过滤作用的一个东西。对于web应用程序来说,过滤器是处于服务器端的,队请求消息和响应消息进行过滤的一中组件。
过滤器是一种重要的设计模式,不仅引用在javaweb开发中,其他开发领域也会应用到过滤器模式,他可以在不侵入原有代码的基础上为他们提供一些功能。
8,java web 应用程序的范围模型。
request:请求 代表了一次http请求,他的生命周期从请求开始知道请求的响应结束。中间可能会穿插多个信息资源,如过滤器,                   servlet,jsp。
Session  会话,代表了一次会话,也可认为代表了一个用户,一个会话里可以包含多次的请求。如果用户长时间不发出请求,可能导致会话超时而过期,超时时长可以设置。因为它代表一个用户,所以一般使用session保存用户的数据,如购物车。
application :应用  他的生命周期从web 容器启动或部署该应用开始,一web 容器停止,或取消部署而结束。他的作用范围最大,一般用于存放应用标题,或其他外部资源连接器等。
9,监听器体现了一种监听事件模型。
  三种事件监听:1,request事件监听实现接口(ServltRequestListener)
               2,session事件监听接口(HttpSessionListener)
               3,application事件监听接口(ServletContextListener)
10,forward和redirect的区别:
forward是直接转发,通过request调用
redirect是间接转发,通过response调用
forward在服务端的内部发生,对于客户端来说是不可见的,即使请求在服务器端的各个资源间转发过多次,客户端浏览器的地址栏的地址依然是最初的请求地址,redirect则相反,他的请求转发实质是向客户端发送一条请求另一个地址的结果,浏览器会修改地址栏的地址,再重新发一次新的请求,对于客户端来说是可见的。
11,
 Servlet体系结构和层次结构 

1,Servlet体系结构       

  

            ------请求   --->                            ------->                              ------->                       

客户端                              HTTP服务器                    Servlet容器                        Servlet   

             <----- 响应  ----                            <---------                          <-------         

               

2,Servlet层次结构   

Servlet是实现javax.servlet.Servlet接口的对象,大多数Servlet通过GenericServlet或HttpServlet进行扩展.   Servlet API 由两个程序包组成  

 javax.servlet  包  

类:     

ServletInputStream类:从客户端读取二进制数据;     

ServletOutputStream类;向客户端发送二进制数据;     

GenericServlet类:抽象类,定义了一个通用的,独立于底层协议的Servlet。

   接口:    

 Servlet接口:管理Sevlet。定义实现Servlet的必须方法。一个Servlet必须实现Servlet接口或Servlet接口的扩展。     

ServletConfig接口:Servlet初始化时,向Servlet传递配置信息。     

ServletContext接口;Servlet上下文,使Servlet与其他的Servlet容器进行交互通信。    

 ServletRequest接口:向Servlet客户端提供请求信息     

ServletResponse接口;Servlet向客户端提供响应信息。        

javax.servlet.http     包

类:     

 Cookie类      

HttpServlet类:抽象类,继承自GenericServlet。应用于HTTP协议的请求和响应的Servlet。    

 接口:     

 HttpSession接口:     

 HttpAttributeListener接口:会话的属性监听接口;     

 HttpServletRequest接口;扩展ServletRequest接口,向Servlet客户端提供HTTP请求信息。    

 HttpServletResponse接口;扩展ServletResponse接口,Servlet向客户端提供HTTP响应信息。   

  总体可以分为:  

 Servlet类:     实现具体协议的业务类,其目的是一个业务实现的WEB组件类;   

Servlet接口:     该接口独立于协议实现,其目的是为了定义服务器的组件标准;   

GenericServlet抽象类:     该类提供了一个独立于协议的实现,其目的是为了满足服务器;   

HttpServlet:     该类实现了HTTP协议,其目的是为了让客户程序扩展;

posted on 2012-05-13 18:06 Mr Lee 阅读(610) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿

随笔分类

随笔档案

文章档案

(hibernate)http://www.blogjava.net/dyllove98/archive/2012/05/12/377959.html

搜索

最新评论

阅读排行榜

评论排行榜