一:什么是servlet
1.servlet 是运行在服务端的java小程序,是用来处理客户端请求,响应给浏览器的动态资源。
2.Javaweb的三大组件 servlet filter listener
二:作用
1.用来处理从客户端发送过来的请求 并对请求做出响应。
2.servlet的任务:获取请求数据 处理请求 完成响应。
3.Servlet的定义必须继承 httpservlet 重写其中的 DoGet() 和DoPost()方法。并在web.xml中配置servlet的访问路径 必须是"/"开头的访问路径。
4. request 接收请求参数
String getparameter(String name) 获得指定参数名对应的值。如果没有返回null,如果有多个获取第一个。
三.servlet 的生命周期
1.servlet的生命周期就是从创建到销毁的过程。
何时创建:用户第一次访问Servlet时创建servlet的实例(servlet是单实例)
何时销毁:当项目从服务器中移除或关闭服务器的时候。
2.第一调用servlet的时候 将执行初始化方法 init()
3.每一次调用 都将执行service()方法
3.服务器关闭 或者移除项目 执行销毁方法。
4.Servlet是单实例的 即不同的http请求都会创建一个servlet对象。
四: servletContext
1.服务器启动的时候 为每个web应用创建一个单独的ServletContext对象 我们可以使用这个对象存取数据,用这个对象存取的数据可以在整个web应用中获得。
setAttribute(String name,Object object) | 向ServletContext中存数据。 |
getAttribute(String name) | 从ServletContext中取数据。 |
removeAttribute(name) | 从ServletContext中移除数据 |
2.ServletContext 读取web文件工程的文件
* 可以在多个servlet之间共享数据(存放:setAttribute() 获取:getAttribute() 删除:removeAttribute())
* 可以获取当前web项目中的指定资源。
* 可以经行整个web项目初始化数据设置。
五:httpServletResponse 对象
1. HttpServletResponse 继承于ServletResonse接口 专门是用来封装HTTP响应消息。
2.HttpServletResponse 中有两个向客户端发送状态码的方法
* setStatus(int status)方法:该方法用户设置HTTP响应消息的状态码,并生成响应状态行。默认的状态码是 200
* sendError(int sc)方法:该方法用于发送错误信息状态码,例404.
六: 发送响应消息体的相关方法
1. 在HTTP响应消息中 大量的数据都是通过响应消息传递的 因此 ServletResonse 遵循以IO流传递大量数据的设计理念。在发送消息体时定义了两个与输出流相关的方法。
*getOutputStream()方法
该方法获取的字节输出流对象为ServletOutputStream类型。可以直接输出字节数组中的二进制数据。
*getWriter()方法
该方法获取字节输出流对象为PrintWriter类型,可以直接输出字符文本内容。