一、Servlet的概念和特点 :
    1、概念:
               下一的Servlet是指Java语言实现的一个接口,广义的Servlet是指
       任何实现了这个Servlet接口的类,一般情况下,人们将其理解为后者。
       Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应
       任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的
       Web服务器。
   
    2、 特点:
            (1)运行在支持Java的应用服务器上。
            (2)Servlet的实现遵循了服务器能识别的规则,也就是服务器会自
                  动的根据请求调用对应的Servlet进行请求处理。
           (3)简单方便,可移植性强。
二、 Servlet运行流程:
          浏览器发送请求到服务器,服务器根据请求URL地址中的URI
        信息在相对应的目录下找到项目文件夹,然后在web.xml中检索对应
        的servlet,找到后并执行Servlet。
三、Servlet的使用流程:
              1、创建普通的java类并继承HttpServlet。
              2、重写service方法。
              3、在service方法中书写逻辑代码即可。
                             (1)设置请求编码格式
                                       req.setCharacterEncoding("utf-8"); 
            	             (2)设置响应编码格式
                                       resp.setContentType("text/html;charset = utf-8"); 
	             (3)获取请求信息
		        req.getParameter("uname");
       		        req.getParameter("pwd");
	             (4)处理请求信息
	             (5)响应处理结果
                                           //直接响应
 		             //请求转发
		           //重定向
              4、在web下的WEB-INF文件夹下的web.xml文件中配置servlet
                      或者直接在程序中用注解来配置servlet(注意:两者只能选其一
                      不能同时存在,否侧服务器会报错)
四、Servlet的生命周期:
              1、从第一次调用到服务器关闭。
              2、如果Servlet在web.xml中配置了load-on-startup,
                      生命周期为从服务器启动到服务器关闭 。(eclipse)
               注意:
                        (1)nit方法是对Servlet进行初始化的一个方法,会在
                  Servlet第一次加载进行存储时进行。
                      (2)destory方法是在Servlet被销毁时执行,也就是服
                  务器关闭时。
 
五、Servlet常见的错误总结:
            1、404错误:资源未找到
                         原因1:在请求地址中Servlet的别名书写错误。
                         原因2:项目的名称拼写错误。
            2、500错误:内部服务器错误
                          错误一:Java.lang.ClassNotFoundException:   .............。
                          解决:在web.xml中校验Servlet类的全限定路径是否拼写错误。
                          错误二:因为service方法的代码执行导致错误。
                          解决:根据错误提示对service方法体中的代码进行错误更改。
             3、405错误:请求方法不支持
                           原因:请求方式和Servlet中的方法不匹配所导致的。
                           解决:尽量使用service方法进行请求处理,并且不要在service方法
                                      里面直接调用父类的service方法。
Servlet学习笔记(这是我在学习Servlet时记的笔记,仅供博友参考,有不对的地方可以相互交流哈)
原文:https://www.cnblogs.com/wat1314/p/11008822.html