GET方式:
●
超链接访问,默认是GET方式
●
form提交,不指定method,默认为GET方式
POST方式:
●
form提交,指定method=“POST”
•
Get方式与post方式的区别
●
Get方式主要是从服务器获取信息;post主要是想服务器提交信息
●
Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据
放置在请求体中提交。
●
GET方式提交的数据大小受限制一般1kb(不同浏览器也会有不同);而
POST则没有此限制。
●
请求和响应是Web交互最基本的模式,在Servlet中,用HttpServletRequest来表示请求。
●
HttpServletRequest :封装了请求的信息,可以从中获取任何请求信息
●
getParameter(name) --- String 通过name获得值
●
getParameterValues --- String[ ] 通过name获得多值
●
理中文乱码
post
setCharacterEncoding(编码格式)
●
getMethod()得到客户机请求方式
●
getScheme()请求协议
●
getRemoteAddr()返回发出请求的客户机的IP地址
●
getServerName()服务器名(ip或域名)
●
getServerPort()服务器端口
http
响应
●
http响应?
一个http响应代表服务器向客户端回送的数据,它包括:
响应行,响应头,响应体
。
响应行里包含了http协议版本,以及用于描述服务器对请求的处理结果。
HTTP/1.1 (协议版本) 200(状态吗) OK(状态码描述)
状态码:服务器和浏览器用于确定状态的固定数字号码
200:请求成功
302:请求重定向
400:语义有误,当前请求无法被服务器理解或请求参数有误
404:请求资源不存在,通常是路径写错了或者服务器资源删除了
500:服务内部错误(代码异常)
响应头用于描述服务器的基本信息,以及数据描述
Server Apache-Coyote/1.1
Content-Type text/html;charset=UTF-8
Content-Length 0
Date Wed, 13 Sep 2017 02:26:07 GMT
响应体代表服务器向客户端浏览器回送的正文
●
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个代表响应的HttpServletResponse对象。
●
HttpServletResponse对象代表响应。
●
用getWriter()获得一个PrintWriter字符输出流输出数据response会默认以ISO8859-1将需要输到浏览器的字符进行解码,如果输出的字符在ISO8859-1中不存在,就会导致乱码问题。
●
response.setContetnType("text/html;charset=utf-8");方法可以同时设定response所使用的字符集编码和浏览器打开所用的字符集编码。
过滤器
●
Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Servlet, 从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
●
作用:对服务器web资源进行拦截(权限控制,通过拦截资源进行权限控制,是否可以访问)
●
Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截
●
Servlet API 中,与过滤器有关的API共有三个接口,分别是
●
Filter
●
FilterChain
●
FilterConfig
●
Filter接口是过滤器类必须实现的接口,该接口中有三个方法。
●
init(FilterConfig filterConfig):该方法是对filter对象进行初始化的方法,仅在容器初始化filter对象结束后被调用一次。参数FilterConfig可以获得filter的初始化参数。
●
doFilter(ServletRequest request, ServletResponse response, FilterChain chain):该方法是filter进行过滤操作的方法,是最重要的方法。过滤器实现类必须实现该方法。方法体中可以对request
和response进行预处理。其中FilterChain可以将处理后的request和response对象传递到过滤链上的下一个资源。
●
destroy():该方法在容器销毁过滤器对象前被调用。
●
该接口类型作为Filter接口中doFilter方法的参数使用。FilterChain接 口中有一个方法
●
doFilter(ServletRequest request,ServletResponse response), 该方法可以将当前的请求和响应传递到过滤链上的下一个资源,可能是下一个过滤器,也可能是目标资源。
●
该接口类型作为Filter接口中的init方法的参数使用,FilterConfig接口中有一个常用方法
●
getInitParameter(String name),该方法用来获得过滤器的初始化参数值。在web.xml中,可以为每一个filter配置需要的初始化参数,与Servlet的<init-param>类似。过滤器的初始化参数即可通过FilterConfig中的getInitParameter方法获取。
●
过滤器用来实现通用的功能,减少代码冗余,提高可维护性
●
一个过滤器可以配置给多个资源使用
●
一个资源也可以配置多个过滤器,按照配置顺序调用