servlet
2016-06-15 20:26
225 查看
动态web资源开发技术有两种:servlet和jsp。
servlet:动态web资源开发技术。sun公司提供了一个servlet接口,若想开发一个动态web资源,需完成:1、编写一个java类,实现servlet接口;2、把开发好的java类部署到web服务器中。
servlet的生命周期:用户第一次访问servlet时创建servlet对象,这个对象就驻留在内存,供后续请求;servlet被创建时,init()方法会执行;客户端的每次请求会导致service()方法执行;servlet被摧毁时,destroy()方法执行,web应用关闭或删除时,servlet对象会被摧毁。
注:在servlet的整个生命周期内,servlet的init方法只被调用一次(因为对象只创建一个)。而对一个servlet的每次访问请求都导致servlet引擎调用一次servlet的service方法。对于每次访问请求,servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的servlet的service方法,service方法再根据请求方式分别调用doXXX方法。
Servlet运行过程:servlet程序是由web服务器调用。
web服务器中调用servlet的程序叫做servlet引擎。
servlet是供其他java程序(servlet引擎)调用的java类,它不能独立运行,它的运行完全由servlet引擎来控制和调度。
web服务器收到客户端的servlet访问请求后:
1. web服务器首先检查是否已经装载并创建了该servlet的实例对象。如果是,则直接执行第4步;否则,执行第2步。
2. 装载并创建该servlet的一个实例对象。
3. 调用servlet实例对象的init()方法。
4. 创建一个用于封装HTTP请求的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
5. web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
注:针对客户端的多次servlet请求,通常,服务器只会创建一个servlet实例对象,也就是说servlet实例对象一旦创建,它就会驻留在内存中,为后续的其他请求服务,直至web容器退出,servlet实例对象才会销毁。
Servlet接口实现类:GenericServlet、HttpServlet
HttpServlet:能够处理http请求的servlet,HttpServlet在实现servlet接口时,覆盖了service方法,该方法会自动判断用户的请求方式,若为GET请求,则调用HttpServlet的doGet方法;若为POST请求,则调用doPost方法。因此在编写servlet时,只需覆盖doGet或doPost即可,而不要覆盖service方法。
servlet映射到URL地址:
客户端是通过URL地址访问web服务器中的资源,所以servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上。同一个servlet可以被映射到多个URL上,Servlet映射到的URL也可以使用
注:1、多个servlet都匹配到请求URL,
2、如果某个servlet的映射路径仅仅为一个正斜杠(/),那么这个servlet就成为当前web应用程序的缺省servlet。缺省servlet用于处理所有其他servlet都不处理的访问请求。当访问服务器中某个静态HTML文件和图片时,实际上就在访问这个缺省servlet。
servlet:动态web资源开发技术。sun公司提供了一个servlet接口,若想开发一个动态web资源,需完成:1、编写一个java类,实现servlet接口;2、把开发好的java类部署到web服务器中。
servlet的生命周期:用户第一次访问servlet时创建servlet对象,这个对象就驻留在内存,供后续请求;servlet被创建时,init()方法会执行;客户端的每次请求会导致service()方法执行;servlet被摧毁时,destroy()方法执行,web应用关闭或删除时,servlet对象会被摧毁。
注:在servlet的整个生命周期内,servlet的init方法只被调用一次(因为对象只创建一个)。而对一个servlet的每次访问请求都导致servlet引擎调用一次servlet的service方法。对于每次访问请求,servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的servlet的service方法,service方法再根据请求方式分别调用doXXX方法。
Servlet运行过程:servlet程序是由web服务器调用。
web服务器中调用servlet的程序叫做servlet引擎。
servlet是供其他java程序(servlet引擎)调用的java类,它不能独立运行,它的运行完全由servlet引擎来控制和调度。
web服务器收到客户端的servlet访问请求后:
1. web服务器首先检查是否已经装载并创建了该servlet的实例对象。如果是,则直接执行第4步;否则,执行第2步。
2. 装载并创建该servlet的一个实例对象。
3. 调用servlet实例对象的init()方法。
4. 创建一个用于封装HTTP请求的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
5. web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
注:针对客户端的多次servlet请求,通常,服务器只会创建一个servlet实例对象,也就是说servlet实例对象一旦创建,它就会驻留在内存中,为后续的其他请求服务,直至web容器退出,servlet实例对象才会销毁。
Servlet接口实现类:GenericServlet、HttpServlet
HttpServlet:能够处理http请求的servlet,HttpServlet在实现servlet接口时,覆盖了service方法,该方法会自动判断用户的请求方式,若为GET请求,则调用HttpServlet的doGet方法;若为POST请求,则调用doPost方法。因此在编写servlet时,只需覆盖doGet或doPost即可,而不要覆盖service方法。
servlet映射到URL地址:
客户端是通过URL地址访问web服务器中的资源,所以servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上。同一个servlet可以被映射到多个URL上,Servlet映射到的URL也可以使用
*通配符,但只能有两种固定的格式:一种是”
*.扩展名“(例:
*.html、
*.do),另一种是以正斜杠(/)开头并以“
/*”结尾(例:
/*、
/action/*)。
注:1、多个servlet都匹配到请求URL,
*在前的servlet优先级最低。
2、如果某个servlet的映射路径仅仅为一个正斜杠(/),那么这个servlet就成为当前web应用程序的缺省servlet。缺省servlet用于处理所有其他servlet都不处理的访问请求。当访问服务器中某个静态HTML文件和图片时,实际上就在访问这个缺省servlet。
相关文章推荐
- Java Servlet生成JSON格式数据并用jQuery显示的方法
- jsp和servlet中实现页面跳转的方式实例总结
- java servlet结合mysql搭建java web开发环境
- Servlet与JSP间的两种传值情况
- JSP、Servlet中get请求和post请求的区别总结
- jsp和servlet的区别探讨
- Struts2访问servlet分享
- java中Servlet处理乱码的方法
- Servlet 过滤器详细介绍
- JSP+Servlet+JavaBean实现登录网页实例详解
- servlet中session简介和使用例子
- 在Jsp Servlet中页面重新定向总汇
- JSP使用Servlet作为控制器实现MVC模式实例详解
- JSP使用Servlet过滤器进行身份验证的方法
- Servlet动态网页技术详解
- jsp和servlet操作mysql中文乱码问题的解决办法
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- js调用后台servlet方法实例
- 利用JQuery和Servlet实现跨域提交请求示例分享