一、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方法。