1、两个init方法的区别。

容器创建了Servlet实例后,它将调用实例的init(ServletConfig)方法初始化Servlet。该方法的参数ServletConfig对象包含了在Web应用程序的部署描述文件中指定的初始化参数。在3.2节中将看到如何在web.xml文件中制定这些参数。在init(ServletConfig)方法调用后,容器降调永无参数的init()方法,之后Servlet就被初始化了。重复初始化一个对象是没有意义的,因此在Servlet生命周期中init()方法仅被调用一次。

2、Get与Post的区别。

(1). Get是从服务器上获取数据,Post是向服务器传送数据。
(2). Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。Post是通过HTTP Post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
(3). 对于Get方式,服务器端用Request.QueryString获取变量的值,对于Post方式,服务器端用Request.Form获取提交的数据。
(4). Get传送的数据量较小,不能大于2KB。Post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
(5). Get安全性非常低,Post安全性较高。但是执行效率却比Post方法好。
建议:
(1)、Get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
(2)、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

(3)、重定向与跳转的区别。

        当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
        怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。

转发和重定向的区别
不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。