什么是Servlet?
sun公司制订的一种用来扩展web服务器功能的组件规范。
web服务器只能够处理静态资源的请求(即需要事先将静态页面写好),不能够处理动态资源的请求(即需要进行计算,生成动态页面),所以,需要扩展其功能。可以使Servlet来扩展web服务器功能,web服务器收到请求之后,如果需要计算,则调用Servlet来处理。

Servlet是如何运行的?

step1.浏览器依据ip和port建立连接。
step2.浏览器将相关数据放到请求数据包,然后将请求数据包发送给服务器。
step3.服务器解析请求数据包,将解析到的结果放到request对象里面,同时,创建一个response对象。
step4.服务器依据请求路径,创建Servlet对象,然后调用该对象的service方法。
注:
开发人员只需要调用request对象的方法,就可以获得请求数据包中的数据。类似的,只需要调用response对象的方法,就可以将处理结果写到response对象里面,容器会从response对象中取出处理结果,然后创建响应数据包并发送给浏览器。
step5.容器从response对象中取出处理结果,然后创建响应数据包并发送给浏览器。
step6.浏览器解析响应数据包,生成结果页面。
常见错误
1、404错误
含义: 服务器依据请求路径,找不到对应的资源。
错误原因: a.请求路径写错。 b.应用没有部署或者部署失败。
2、405错误
含义: 服务器找不到处理方法。
错误原因: 没有正确override HttpServlet的service方法。
3、500错误
含义: 服务器端程序运行发生问题。
错误原因:
a.没有严格按照规范来写代码
比如,没有继承HttpServlet或者实现Servlet接口。又或者部署描述文件写错。
b.代码写得不严谨
比如,对请求参数值没有做任何检查就直接做类型转换。
网友评论