Servlet是什么?
Servlet是JavaEE规范【接口】之一。
Servlet与Filter、Listener为JavaWeb三大组件
Servlet就是运行在服务器上的一个小java程序,它可以收到客户端的请求,并响应给客户端。
Servlet配置环境
需要在web.xml文件只设置访问路径
设置的原因:
或者使用注解:
实现Servlet程序
Servlet的生命周期
【1】执行Servlet构造器方法【2】执行init初始化Servlet程序
这两步是在第一次被访问的时候就会被调用
【3】执行service方法 (每次访问都会调用)
【4】执行destory销毁方法(web工程结束)
GET和POST分发处理
Servlet类的继承结构
ServletConfig类
描述:servlet程序的配置信息类。Servlet与ServletConfig对象都是Tomact负责创建,我们负责使用。Servlet程序默认是第一次访问的时候被创建,ServletConfig是每一个Servlet程序创建时,就创建一个对应的ServletConfig对象。
作用:可以获取Servlet程序的别名
可以获取init-param的参数
可以获取ServletContext对象
ServletContext类
描述:ServletContext是一个接口,它表示Servlet上下文对象,一个Web工程只有一个ServletContext对象实例。ServletContext对象是一个域对象。ServletContext是在Web工程部署的时候创建,在Web工程停止的时候销毁。
域对象:
存数据 取数据 删除数据
Map: put() get() remove()
域对象: setAttribute() getAttribute() removeAttribute()
作用:【1】获取web.xml中配置的context-param
【2】获取当前的工程路径
【3】获取绝对路径
【4】可以存取数据
HTTP协议的GET与POST
HttpServletRequest
描述:每次只要有请求进入Tomcat服务器,Tomcat 服务器就会把请求过来的 HTTP协议信息解析好封装到Request对象中。然后传递到service方法(doGet和 doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。
常用的方法:
getResquestURI() 获取请求的资源路径
getRequestURL() ·· 获取请求的绝对路径
getRemoteHost() 获取请求的IP
getHeader() 获取请求头
getParamter() 获取请求的参数
getParamters() 获取请求的参数【多个值】
getMethod() 获取请求的get或post方法
setAttribute() 设置域数据
getAttribute() 获取域数据
getRequestDispatch() 请求转发
注意:有的Tomcat版本已经解决了doGet的中文乱码问题
请求转发方法:getRequsetDispatch(“路径”).froword(req,resp);
HttpServletRespone类
描述:HttpServletResponse类和 HttpServletRequest类一样。每次请求进来,Tomcat 服务器都会创建一个Response对象传递给Servlet程序去使用。HttpServletRequest表示请求过来的信息,HttpServletResponse 表示所有响应的信息,我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置
常用方法:
输出流:getOutputStream() 常用于下载(二进制文件)
getWrtiter() 常用于回传字符串
请求重定向:sendRedirect(“路径”);