初学者对Servlet、JSP及Web容器之间关系的理解
2015-09-05 23:08
666 查看
Servlet就是一个Java程序,一个
Servlet应用程序经常包含一个或者多个
Servlet也就是当用户发送请求,例如提交表单,那么需要一个或多个
Servlet协同作用,而访问的
jsp页面也是一个
Servlet。当每次我们发送请求时,
Servlet应用程序中的
service()方法就会被触发执行一次。当初次访问一个
Servlet时,
init()方法会触发执行一次,之后的请求都是执行
service()方法。
如果你觉得奇怪,为什么没看到过
service()这个方法,那是因为我们一般用的是通过继承
HttpServlet来实现
Servlet,而在
HttpServlet中一般的请求我们只要
@override
doGet()和
doPost()方法即可实现我们对请求的处理。而
HttpServlet中的
service()方法会根据请求的类型调用对应的
doGet()、
doPost()等等方法,所以只要实现
doGet()和
doPost()方法等等即可。
为什么说
jsp也是一个
Servlet呢,那是因为当我们使用
Servlet/JSP容器时,例如最常用的
Tomcat会将
jsp文件转化成相应的一个
Servlet程序,
jsp页面的主体就转化成相应代码位于
service()方法当中。
jsp技术只是将开发变得简单,然而基本原理还是不变的,实现及其复杂的
Servlet就由
Tomcat这一类的容器来实现,我们只要实现
jsp页面就可以了。
访问
Servlet只需为地址添加映射到
Servlet类即可或者是
@WebServlet注解实现。
Servlet是一个接口,含有五个方法:
init。仅在第一次访问Servlet时调用,之后不再调用。
service。每次请求Servlet时,Servlet容器都会调用这个方法。第一次调用init,之后调用service。这里编写Servlet要实现的处理代码。
destroy。销毁Servlet时,Servlet容器就会调用这个方法。
getServletInfo……
getServletConfig……
相关文章推荐
- thinkjs
- JS正则表达式
- js算法:动态规划-多边形游戏
- Canvas制作排序算法演示动画
- 使用json存储结构化数据
- 学习javascript系列之变量
- emberjs之加载
- javascript实现继承的6种方式
- Javascript闭包演示【转】
- [连载]Tutorial series: learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript[英]
- Js中的this和window.event.srcElement
- JavaScript学习笔记(一)
- Javascript高级程序设计——BOM(浏览器对象模型)
- jsp分页代码
- JSR 303 - Bean Validation 介绍及最佳实践
- Javascript中的事件绑定
- JavaScript实现用户注册表单的简单检查
- 关于使用JavaScript实现图片点击切换(附带改变导航图片 方案二)
- JavaScript技巧(二)续
- angular js的一些操作