Servlet 基础知识(2)(主要 Servlet API 介绍)

1 HttpServlet

HttpServlet 类是 Servlet 容器中最重要的一个类,其主要功能是 处理 Servlet 请求和回应处理结果 。HttpServlet 首先必须读取 Http 请求的内容。Servlet 容器负责创建HttpServlet 对象,并把 Http 请求 直接封装到 HttpServlet 对象 中,这样做大大简化了HttpServlet 解析请求数据的工作量。HttpServlet 容器响应 Web 客户请求流程如下:
(1)Web 客户向 Servlet 容器发出 Http 请求;
(2)Servlet 容器解析 Web 客户的 Http 请求;
(3)Servlet 容器创建 HttpServletRequest 对象,在这个对象中封装 Http 请求信
息;
(4)Servlet 容器创建一个 HttpServletResponse 对象;
(5)Servlet 容器调用 HttpServlet 的 service 方法,把 HttpServletRequest 和
HttpServletResponse 对象作为 service 方法的参数传给 HttpServlet 对象;
(6)HttpServlet 调用 HttpServletRequest 的有关方法,获取 HTTP 请求信息;
(7)HttpServlet 调用 HttpServletResponse 的有关方法,生成响应数据;
(8)Servlet 容器把 HttpServlet 的响应结果传给 Web 客户。

 

 2 HttpServletRequest 接口

public Enumeration getAttributeNames()
该方法可以获取当前 HTTP 请求过程中所有请求变量的名字。
public String getCharacterEncoding()
该方法用于获取客户端请求的字符编 码。
public String getContentType()
该方法用于获取 HTTP 请求的类型,返回值是 MIME 类型的字符串,如 text/html。
public void setAttribute(String name, Object o)
该方法用于设定当前HTTP 请求过程请求变量的值,第一个参数是请求变量的名称,第二个参数是请求变量的值,如果已经存在同名的请求变量,它的值将会被覆盖掉。
public Object getAttribute(String name)
该方法用于获取当前请求变量的值,参数是请求变量的名称。
public ServletInputStream getInputStream()
该方法可以获取客户端的输入流。
public String getParameter(String name)
该方法可以获取客户端通过 HTTP POST/GET 方式传递过来的参数的值,getParameter 方法的参数是客户端所传递参数的名称,这些名称在 HTML 文件<form>标记中使用 name 属性指定。
public String[] getParameterValues(String name)
如果客户端传递过来的参数中,某个参数有多个值(如复选框),可通过该方法获得一个字符串数组。
public String getRemoteAddr()
该方法返回当前会话中客户端的 IP 地址。
public String getScheme()
该方法用于获取客户端发送请求的模式,返回值以是 HTTP、HTTPS、TFP 等。
public String getServerName()
该方法用于获取服务器的名称。
public int getServerPort()
该方法用于获取服务器响应请求的端口号。
public Cookie[] getCookies()
该方法可以获取当前会话过程中所有的存在Cookie 对象,返回值是一个 Cookie 类型的数组。
public String getHeader(String name)
该方法可以获取特定的 HTTP Header的值。
public String getMethod()
该方法返回客户端发送 HTTP 请求所有的方式,返回值一般是 GET 或 POST 等。
public String getServletPath()
该方法获得当前 Servlet 程序的真实路径。

3 HttpServletResponse 接口

public String getCharacterEncoding()
该方法可以获取向客户端发送数据的 MIME 编码类型,如 text/html 等。
public ServletOutputStream getOutputStream()
该方法返回ServletOutputStream 对象,此对象可用于向客户端输出二进制数据。
public PrintWriter getWriter()
该方法可以打印各种数据类型到客户端。
public void setContentType( String type)
该方法指定向客户端发送内容的类型,例句:setContentType(“text/html”);
HttpServletResponse 接口在 ServletResponse 接口基础上增加了以下一些方
法:
public void addcookie(Cookie cookie)
该方法的作用是添加一个 Cookie 对象 到当前会话中。
public void sendRedirect(String location)
该方法的作用是使当前的页面重 定向到另一个URL

4 ServletContext 接口

每个 Web 应用只有一个 Servletcontext 实例(Servlet 的环境对象),通过此接口实例可以 访问 Web 应用的所有资源 也可以用于不同的 Servlet 间的数据共享 ,但不能与其它 Web 应用交换信息。

 

 5 HttpSession 接口

另一个比较重要的接口是 HttpSession 接口,这个接口被 Servlet 引擎用来建立浏览 器客户端和 HTTP 会话两者之间的连接。

 

猜你喜欢

转载自blog.csdn.net/weixin_62190821/article/details/127514471
今日推荐