1、使用Servlet接受服务器端请求信息:
(1)get/post提交方法:当点击超链接、提交表单、输入URL并回车时,浏览器向Web服务器发送HTTP请求
(2)两种提交方法的比较:get:①作为URL一部分显示在浏览器地址栏;②缓存浏览器URL于历史状态中;③请求静态网页、图形文件,仅需发送文件名称即可
post: ①作为请求的消息体,可见;②不缓存浏览器URL;③发送大数据、上传文件,发送用户名、密码、其他保密信息等
(3)根据生命周期,其调用过程为:①容器调用service(ServletRequest, ServletResponse);②service(ServletRequest, ServletResponse)再次调用同一个Servlet类中的service(HttpServletRequest, HttpServletResponse)方法;③service(HttpServletRequest, HttpServletResponse)分析http请求,寻找请求方法类型,然后调用相应的处理方法。
(4)Servlet接收请求信息:获取由客户端发送过来的请求、参数、文件、数据,Servlet用于处理请求。
2、获取HTTP协议请求行
(1)请求行的组成:请求HTTP的方法类型、请求的URL、HTTP的版本,用空格将其分开。
(2)方法:①getMethod() -- 获取方法;②getRequestURI() -- URI为URL的一部分;③getURL();④getQueryString()--获请URL后的查询字符串;⑤getProtocol--获取请求的协议名和版本号;⑥getContextPath()--获取URI资源的上下文路径,总以“/”开头;⑦getServletPath()--获取Servlet映射路径。
3、获取HTTP协议请求头:
(1)用途:告诉服务器客户端使用什么软件及客户端想要服务器如何返回请求的信息
(2)方法:①getHeader(name):返回指定的请求头的值;②getHeaders(name) :返回一个Enumeration(枚举)包含请求头中的所有值 ;③getHeaderNames():特定请求中接收到的所有请求头的名称;④getIntHeader(name):获取特定请求头的值,并将其转化为int类型;⑤getDateHeader(name):获取特定请求头的值,并将其转化为Date类型 。
4、获取请求消息体
(1)获取表单数据:通过设置name,在Servlet中使用getParameter(“name值”)来获取表单的内容。
(2) 获取原始表单数据:使用HTTPServletRequest对象的getInputStream()分析原始原始的输入和getReader()方法直接访问表单数据。