欢迎来到天天文库
浏览记录
ID:42773259
大小:197.11 KB
页数:12页
时间:2019-09-22
《关于Servlet的学习概要》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、关于Servlet的学习概要:监听器是什么过滤器丄有什么作用ServletCookie技术生命周期与JSP区别怎么处理请求1>什么是Sevlet?是java类,他提供了基于协议的请求和响应服务,担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层,具有独立于平台和协议的特性,可以生成前台web页面,生命周期通过Web容器控制。2、有什么作用?主要是接收客户端的请求(多数是http),并将处理结果返回给客户端。在mvc模式中属于Control控制层。3、生命周期:由容器控制,如,tomcat,经过初始化、运行和销毁三个阶段。值得注意的是
2、,servlet是单实例,多线程,存在线程安全问题,所以,一定不要在sevlet中定义或修改成员变量。不管有多少请求客户,servlet关于Servlet的学习概要:监听器是什么过滤器丄有什么作用ServletCookie技术生命周期与JSP区别怎么处理请求1>什么是Sevlet?是java类,他提供了基于协议的请求和响应服务,担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层,具有独立于平台和协议的特性,可以生成前台web页面,生命周期通过Web容器控制。2、有什么作用?主要是接收客户端的请求(多数是http),并将处理结果返回给
3、客户端。在mvc模式中属于Control控制层。3、生命周期:由容器控制,如,tomcat,经过初始化、运行和销毁三个阶段。值得注意的是,servlet是单实例,多线程,存在线程安全问题,所以,一定不要在sevlet中定义或修改成员变量。不管有多少请求客户,servlet都只进行一次初始化,并在初始化的时候调用一次init()函数,之后,为每一个客户端的请求创建一个新的线程。而且,不要把sevlet手动修改为单线程,这样会严重影响网络访问,因为在同一个时刻,只能有一个线程可以访问。可以用下面的程序,验证他是单实例,多线程:[java]viewplaincopy11.4、font-size:18px;H>importjava.io.*;2•importjavax•servlet•http•*;3•importjavax•servlet•*;4.5.publicclassTestLifeCycleServletextendsHttpServlet{6.6.publicTestLifeCycleServlet(){7.System.out•print1-TestLifeCycleServlet()--H);8.}10.9.publicvoidinit()10.throwsServletException{11.System.out.println(H--ini5、t14・}15.16.publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)17.throwsServletException$IOException{18.System.out■print]n(,f---doGetn);19.}20.20.publicvoiddestroy(){22.21.}22.}初始阶段:1.servlet容器加载servlet类,把servlet类的.class文件独到内存2容器创建ServletConfig对象,该对象包含了servlet的初始化信息3•容器创建一6、个servlet对象,调用对象的int方法进行初始化。运行阶段:当容器接到客户端的请求的时候,会创建servletRequest和servletResponse对象,然后调用service方法,并把这两个参数传进去。不管是通过doGet(参数放到请求的头,故有长度限制)还是doPost方法处理请求(参数放到请求体中,故无长度限制),都是由service方法来处理的。servletResponse获得请求的信息,servletResponse返回处理后的信息。销毁阶段:因为只有一个实例,所以只进行一次销毁,调用的是destroy方法,将servlet对象和相关联的servletConfig对7、象也一并销毁。我们可以在destroy方法中,添加一些释放资源的方法,这样会提高系统的性能。如,关闭连接,关闭流的输出等。四、Servlet处理请求:不管是否基于mvc模式,servlet处理请求主要是基于servletRequest和servletResponse对象的。在mvc模式中,为达到职责单一的目的,采用了转发和重定向的思想。这里是一个重点。转发只发生在服务端,客户端是不知道的,不涉及重新发送请求的问题,所以数
4、font-size:18px;H>importjava.io.*;2•importjavax•servlet•http•*;3•importjavax•servlet•*;4.5.publicclassTestLifeCycleServletextendsHttpServlet{6.6.publicTestLifeCycleServlet(){7.System.out•print1-TestLifeCycleServlet()--H);8.}10.9.publicvoidinit()10.throwsServletException{11.System.out.println(H--ini
5、t14・}15.16.publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)17.throwsServletException$IOException{18.System.out■print]n(,f---doGetn);19.}20.20.publicvoiddestroy(){22.21.}22.}初始阶段:1.servlet容器加载servlet类,把servlet类的.class文件独到内存2容器创建ServletConfig对象,该对象包含了servlet的初始化信息3•容器创建一
6、个servlet对象,调用对象的int方法进行初始化。运行阶段:当容器接到客户端的请求的时候,会创建servletRequest和servletResponse对象,然后调用service方法,并把这两个参数传进去。不管是通过doGet(参数放到请求的头,故有长度限制)还是doPost方法处理请求(参数放到请求体中,故无长度限制),都是由service方法来处理的。servletResponse获得请求的信息,servletResponse返回处理后的信息。销毁阶段:因为只有一个实例,所以只进行一次销毁,调用的是destroy方法,将servlet对象和相关联的servletConfig对
7、象也一并销毁。我们可以在destroy方法中,添加一些释放资源的方法,这样会提高系统的性能。如,关闭连接,关闭流的输出等。四、Servlet处理请求:不管是否基于mvc模式,servlet处理请求主要是基于servletRequest和servletResponse对象的。在mvc模式中,为达到职责单一的目的,采用了转发和重定向的思想。这里是一个重点。转发只发生在服务端,客户端是不知道的,不涉及重新发送请求的问题,所以数
此文档下载收益归作者所有