Java Web 学习笔记3——Model 2. Servlet的引入

一、Model 2 的概念

在Model 1 中(如下图),逻辑和数据处理从JSP中分离出来。从而JSP可以单纯的只处理View动作。但是,逻辑和数据封装都被集中到了JavaBean中。因此我们就有了Model 2。 简单说来, Model 2 就是把逻辑和数据封装也区分开,把逻辑/控制 封装成Servlet,在服务器端运行。而JavaBean只封装数据,来与Data Base交互。这样,整体就符合MVC的设计理念了。 


Model 1= jsp+javaBeans


MVC 设计模式: MVC(Model\View\Controller) 分离模型、控制和视图。


Model 2=Jsp(View)+JavaBeans(Model)+Sevlet(Controller)


二、Servlet 概述

Servlet:一个Java类,被服务器运行。是Jsp的前身。Jsp其实是Servlet的一种简化的code形式。可通过请求/响应
模型访问。


Tomcat容器等级:分为四个等级。 其中一个Context容器对应一个Web Project

HttpServlet 的父类(GenericServlet) implements 了Servlet接口,因此需要实现Init() service(), destory()三个方法


自定义Servlet的步骤:


1)继承于HttpServlet,重写doPost() doGet()
2)在XML中注册 Servlet (类似于Android中你要注册某个style/String 或之类的资源,然后才能在你的代码中使用
其实,eclipse/myEclipse 里有一个 new servlet的选项,比较方便,省了你自己继承和注册到XML。有点类似用new Activity的引导页的效果


<servlet>
<servlet-name>类命名</servlet-name>
<servlet-class>类位置</servlet-class>
</servlet>


<Servlet-mapping>
<servlet-name>类命名</servlet-name>
<url-pattern>访问的url路径</url-pattern>
</Servlet-mapping>


servlet 生命周期:


Servlet 实际调用流程:
1)网页页面处罚请求(post or get)。
2)在XML中检索<servlet-name>,找到匹配的则根据〈servlet-class〉向服务器请求对应的servlet类。
3)服务器执行对应servlet的doGet() or doPost() 方法。(下图service方法判断调用哪个)


对应下图来看,以上流程很清晰了。




servlet 一旦被实例化,将永久驻留内存。
servlet 在三种情况下会被装载到容器。

1)预装载:xml中<servlet> </servlet>标签中包含 如下标签
〈loadon-startup〉1〈/loadon-startup〉 数字越小,优先级越高
初次调用装载:
2)servlet容器启动后,用户首次发出请求;
3)servlet 修改后;


Servlet 9大内置对象
1)out resp.getWriter() 返回
2)request service方法中的req参数
3)response service 方法中的resp参数
4)session req.getSession 
5)application getServletContext 
6)exception Throwable
7)page this
8)pageContext pageContext
9) config getServletConfig()


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值