容器创建了Servlet实例之后,它将调用实例的init(ServletConfig)方法初始化Servlet。该方法的参数ServletConfig对象包含了在Web应用程序的部署描述文件中指定的初始化参数。在init(ServletConfig)方法调用之后,容器将调用无参数的init()方法,之后Servlet就被初始化了。重复初始化一个对象是没有意义的,因此在Servlet生命周期中init()方法仅被调用了一次。
初始化参数不同:
例如:
无参数:this.getInitParameter()
有参数:this.gServletetServletConfig().getInitParameter(“c”);
2、HTTP的请求方法Get与Post的区别。
GET方法用来检索资源,它的含义是“获得(get)由该URI标识的资源”。GET方法请求的资源通常是被动资源。使用GET也可以请求主动资源,但一般要提供少量的请求参数。
POST方法用来向服务器发送需要处理的数据,它的含义是“将数据发送(post)到由该URI标识的主动资源。
在POST请求中,请求的数据是在消息体中发送的,而在GET请求中参数时请求URI的一部分。
GET和POST方法的比较
特征GET方法POST方法
资源类型主动的或被动的主动的
数据类型文本文本或二进制数据
数据量一般不超过255个字符没有限制
可见性数据是URL的一部分,在浏览数据不是URL的一部分而是作为请求的消
器的URL地址栏中用户可见息体发送,在浏览器的URL对用户不可见
数据缓存数据可以在浏览器的URL历数据不能在浏览器的URl历史中缓存
史中缓存
3、重定向与跳转的区别。
响应重定位和请求转发的区别:
(1)RequestDispatcher对象是一个Web资源的包装器,可以用来把当前请求转发到该资源。这种转发是服务器端控制权的转向,客户端发来的请求将交由新的页面进行处理。使用请求转发,在客户浏览器的地址栏中不会显示转发后的资源地址。使用请求转发,可以将前一个页面的数据、状态等信息传到转发的页面。
(2)使用响应对象的sendRedirect()方法实际是服务器向浏览器发送一个特殊的响应头(Location,状态吗 302),它命令浏览器连接到新的位置。因此,使用这种方法在浏览器的地址栏中可以看到地址的变化。重定向是作为不同请求来看待的,因此,所有请求作用域的参数在重定向到下一个页面时都会失效。另外,使用sendRedirect()方法重定向时,资源不能位于WEB-INF目录中。
在调用sendRedirect ()方法之前,主页面不能有内容输出。在调用sendRedirect()方法之后,应该有一个return语句。