Servlet复习笔记(一)

最近从图书馆找到一本《Head First Servlets & JSP》,就当是对Servlet进行一下复习。

web.xml配置
用于URL映射的两个部署描述文件:
<servlet> 用内部名映射到完全限定类名
<servlet-mapping> 把内部名映射到公共URL名
eg:

1 < servlet >
2          < servlet-name > myServlet </ servlet-name >    //这个名字只在这个部署描述文件真的其他部分中使用
3          < servlet-class > firstServlet </ servlet-class >  //类的完全限定名,但不加class后缀
4 </ servlet >
5
6 < servlet-mapping >
7          < servlet-name > myServlet </ servlet-name >
8          < url-pattern > /first </ url-pattern >   //这是客户看到和使用的Servlet名
9 </ servlet-mapping >


简单MVC架构流程:

1.浏览器把请求数据发送到网络;
2.容器根据URL找到正确的Servlet(控制器);并把请求传递给这个Servlet;
3.Servlet调用一个“专家”类(模型)寻求其“帮助”;
4.这个“专家”类返回一个“回答”,Servlet把这个回答增加到requset对象;
5.Servlet把请求转发给JSP(视图);
6.JSP从request对象得到“回答”;
7.JSP根据“回答”为容器生成一个页面;
8.容器把页面返回给用户。

Servlet把回答增加到request对象:

request.setAttribute( " styles " ,result);
RequestDispatcher view 
=  request.getRequestDispatcher( " result.jsp " );
view.forward(request,response);

          
Servlet受容器控制
 
过程:
1.加载Servlet类;
2.实例化Servlet(构造函数执行);
3.执行init();//在Servlet一生中只调用一次,在调用service()之前完成;
4.执行service(),调用Servlet对象的doGet(),doPost()等方法;
5.执行destroy();
Tips:
        在有初始化代码的情况下,可能覆盖init()方法,例如需得到一个数据库连接,或向其他对象注册;
        不应该覆盖service()方法,只需覆盖doGet()、doPost()等方法;
        记住,容器运行多个线程来处理一个Servlet的多个请求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值